1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License. 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.javax.xml.parsers; 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ByteArrayInputStream; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.InputStream; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.HashMap; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Properties; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Vector; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.FactoryConfigurationError; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.ParserConfigurationException; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.SAXParser; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.SAXParserFactory; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.xml.sax.Attributes; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.xml.sax.SAXException; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.xml.sax.SAXNotRecognizedException; 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.xml.sax.SAXNotSupportedException; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.xml.sax.helpers.DefaultHandler; 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.AndroidOnly; 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.KnownFailure; 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SAXParserFactoryTest extends TestCase { 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParserFactory spf; 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InputStream is1; 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project static HashMap<String, String> ns; 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project static Vector<String> el; 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project static HashMap<String, String> attr; 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setUp() throws Exception { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf = SAXParserFactory.newInstance(); 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project is1 = getClass().getResourceAsStream("/simple.xml"); 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ns = new HashMap<String, String>(); 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project attr = new HashMap<String, String>(); 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project el = new Vector<String>(); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void tearDown() throws Exception { 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project is1.close(); 65d37c804ccd11e38ee9221194866a152a4de6c8e9Jesse Wilson super.tearDown(); 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @AndroidOnly("Android SAX implementation is non-validating") 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_Constructor() { 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MySAXParserFactory mpf = new MySAXParserFactory(); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(mpf instanceof SAXParserFactory); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(mpf.isValidating()); 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 76229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * javax.xml.parsers.SAXParserFactory#getSchema(). 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * TBD getSchema() IS NOT SUPPORTED 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /* public void test_getSchema() { 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(spf.getSchema()); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SchemaFactory sf = 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Schema schema = sf.newSchema(); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setSchema(schema); 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(spf.getSchema()); 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXException sax) { 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception " + sax.toString()); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setIsNamespaceAware() { 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setNamespaceAware(true); 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf.isNamespaceAware()); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setNamespaceAware(false); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(spf.isNamespaceAware()); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setNamespaceAware(true); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf.isNamespaceAware()); 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setIsValidating() { 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setValidating(true); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf.isValidating()); 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setValidating(false); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(spf.isValidating()); 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setValidating(true); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf.isValidating()); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setIsXIncludeAware() { 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setXIncludeAware(true); 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf.isXIncludeAware()); 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setXIncludeAware(false); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(spf.isXIncludeAware()); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1185ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson @KnownFailure("Dalvik doesn't honor system properties when choosing a SAX implementation") 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_newInstance() { 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParserFactory dtf = SAXParserFactory.newInstance(); 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("New Instance of DatatypeFactory is null", dtf); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project System.setProperty("javax.xml.parsers.SAXParserFactory", 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "org.apache.harmony.xml.parsers.SAXParserFactoryImpl"); 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParserFactory spf1 = SAXParserFactory.newInstance(); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf1 instanceof org.apache.harmony.xml.parsers.SAXParserFactoryImpl); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String key = "javax.xml.parsers.SAXParserFactory = org.apache.harmony.xml.parsers.SAXParserFactoryImpl"; 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ByteArrayInputStream bis = new ByteArrayInputStream(key.getBytes()); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Properties prop = System.getProperties(); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project prop.load(bis); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParserFactory spf2 = SAXParserFactory.newInstance(); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf2 instanceof org.apache.harmony.xml.parsers.SAXParserFactoryImpl); 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project System.setProperty("javax.xml.parsers.SAXParserFactory", ""); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParserFactory.newInstance(); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Expected FactoryConfigurationError was not thrown"); 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (FactoryConfigurationError e) { 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException ioe) { 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception " + ioe.toString()); 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_newSAXParser() { 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Ordinary case 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParser sp = spf.newSAXParser(); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(sp instanceof SAXParser); 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project sp.parse(is1, new MyHandler()); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(Exception e) { 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new RuntimeException("Unexpected exception", e); 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 159f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Exception case 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setValidating(true); 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXParser sp = spf.newSAXParser(); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch(ParserConfigurationException e) { 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected, since Android doesn't have a validating parser. 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXException e) { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new RuntimeException("Unexpected exception", e); 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setFeatureLjava_lang_StringZ() { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // We can't verify ParserConfigurationException and 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // SAXNotSupportedException since these are never 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // thrown by Android. 175f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String[] features = { 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "http://xml.org/sax/features/namespaces", 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "http://xml.org/sax/features/validation" }; 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < features.length; i++) { 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setFeature(features[i], true); 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(spf.getFeature(features[i])); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setFeature(features[i], false); 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(spf.getFeature(features[i])); 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ParserConfigurationException pce) { 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ParserConfigurationException is thrown"); 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotRecognizedException snre) { 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotRecognizedException is thrown"); 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotSupportedException snse) { 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotSupportedException is thrown"); 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setFeature("", true); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotRecognizedException is not thrown"); 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ParserConfigurationException pce) { 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ParserConfigurationException is thrown"); 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotRecognizedException snre) { 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotSupportedException snse) { 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotSupportedException is thrown"); 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException npe) { 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException is thrown"); 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setFeature("http://xml.org/sax/features/unknown-feature", true); 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ParserConfigurationException pce) { 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ParserConfigurationException is thrown"); 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotRecognizedException snre) { 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotRecognizedException is thrown"); 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotSupportedException snse) { 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Acceptable, although this doesn't happen an Android. 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException npe) { 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException is thrown"); 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setFeature(null, true); 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException is not thrown"); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ParserConfigurationException pce) { 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ParserConfigurationException is thrown"); 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotRecognizedException snre) { 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotRecognizedException is thrown"); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXNotSupportedException snse) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("SAXNotSupportedException is thrown"); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException npe) { 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 2335ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson public void test_setNamespaceAwareZ() throws Exception { 2345ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson MyHandler mh = new MyHandler(); 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setNamespaceAware(true); 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InputStream is = getClass().getResourceAsStream("/simple_ns.xml"); 2385ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson spf.newSAXParser().parse(is, mh); 2395ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson is.close(); 2405ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setNamespaceAware(false); 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project is = getClass().getResourceAsStream("/simple_ns.xml"); 2435ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson spf.newSAXParser().parse(is, mh); 2445ab82b77afbc8af3b91e90ab46b0a7cc0a090f04Jesse Wilson is.close(); 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /* public void test_setSchemaLjavax_xml_validation_Schema() { 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SchemaFactory sf = 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Schema schema = sf.newSchema(); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project spf.setSchema(schema); 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(spf.getSchema()); 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SAXException sax) { 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception " + sax.toString()); 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// public void test_setValidatingZ() { 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// MyHandler mh = new MyHandler(); 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// InputStream is2 = getClass().getResourceAsStream("/recipe.xml"); 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.setValidating(true); 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertTrue(spf.isValidating()); 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is2, mh); 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (org.xml.sax.SAXException se) { 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (javax.xml.parsers.ParserConfigurationException pce) { 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (IOException ioe) { 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOException was thrown during parsing"); 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is2.close(); 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// InputStream is3 = getClass().getResourceAsStream("/recipe1.xml"); 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertTrue(spf.isValidating()); 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is3, mh); 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (org.xml.sax.SAXException se) { 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (javax.xml.parsers.ParserConfigurationException pce) { 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (IOException ioe) { 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOEXception was thrown during parsing: " + ioe.getMessage()); 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is3.close(); 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is2 = getClass().getResourceAsStream("/recipe.xml"); 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.setValidating(false); 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertFalse(spf.isValidating()); 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is2, mh); 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (org.xml.sax.SAXException se) { 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (javax.xml.parsers.ParserConfigurationException pce) { 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (IOException ioe) { 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOException was thrown during parsing"); 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is2.close(); 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is3 = getClass().getResourceAsStream("/recipe1.xml"); 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertFalse(spf.isValidating()); 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is3, mh); 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (org.xml.sax.SAXException se) { 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (javax.xml.parsers.ParserConfigurationException pce) { 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch (IOException ioe) { 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOEXception was thrown during parsing: " + ioe.getMessage()); 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is3.close(); 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// public void test_setXIncludeAwareZ() { 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.setXIncludeAware(true); 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// MyHandler mh = new MyHandler(); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// InputStream is = getClass().getResourceAsStream("/simple_ns.xml"); 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is, mh); 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(javax.xml.parsers.ParserConfigurationException pce) { 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(org.xml.sax.SAXException se) { 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(IOException ioe) { 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOException was thrown during parsing"); 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is.close(); 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.setXIncludeAware(false); 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is = getClass().getResourceAsStream("/simple_ns.xml"); 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is = getClass().getResourceAsStream("/simple_ns.xml"); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is, mh); 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(javax.xml.parsers.ParserConfigurationException pce) { 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(org.xml.sax.SAXException se) { 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(IOException ioe) { 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOException was thrown during parsing"); 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is.close(); 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is = getClass().getResourceAsStream("/simple_ns.xml"); 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.setXIncludeAware(true); 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// spf.newSAXParser().parse(is, mh); 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(javax.xml.parsers.ParserConfigurationException pce) { 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("ParserConfigurationException was thrown during parsing"); 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(org.xml.sax.SAXException se) { 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("SAXException was thrown during parsing"); 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(IOException ioe) { 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// fail("IOException was thrown during parsing"); 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } finally { 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// try { 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// is.close(); 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } catch(Exception ioee) {} 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project static class MyHandler extends DefaultHandler { 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void startElement(String uri, String localName, String qName, 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Attributes atts) { 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project el.add(qName); 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!uri.equals("")) 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ns.put(qName, uri); 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < atts.getLength(); i++) { 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project attr.put(atts.getQName(i), atts.getValue(i)); 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project class MySAXParserFactory extends SAXParserFactory { 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public MySAXParserFactory() { 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(); 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public SAXParser newSAXParser() { 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setFeature(String name, boolean value) throws 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ParserConfigurationException, SAXNotRecognizedException, 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXNotSupportedException { 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 407f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes public boolean getFeature(String name) throws 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ParserConfigurationException, SAXNotRecognizedException, 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SAXNotSupportedException { 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return true; 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 416