Hi! Finally, I found a way to get it work. By setting the namespace-feature to true and setting the XSD definition with the http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation property, the parser actually validates using my schema defintion.
Thanx for your efforts. greetings Heiner -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Gesendet am: Montag, 7. Oktober 2002 16:32 An: [EMAIL PROTECTED] Betreff: Re: Not an FAQ: still unable to validate against XSD Have you tried turning on namespace? (SAXParserFactory#setNamespaceAware) Sandy Gao Software Developer, IBM Canada (1-905) 413-3255 [EMAIL PROTECTED] "Amthauer, Heiner" <[EMAIL PROTECTED] To: "'Xerces'" <[EMAIL PROTECTED]> ystems.com> cc: Subject: Not an FAQ: still unable to validate against XSD 10/07/2002 06:04 AM Please respond to xerces-j-user Hi there! I'm still unable to validate my xml file against an XSD. Here ist the code, I use to load the file via SAX, using XERCES 2.0 (JRE1.3.1): private static final String FLAG_VALIDATE = "http://xml.org/sax/features/validation"; private static final String FLAG_SCHEMA = "http://apache.org/xml/features/validation/schema"; private SAXParserFactory factory = null; private org.xml.sax.SAXParser saxParser = null; ... factory = SAXParserFactory.newInstance(); ... saxParser = factory.newSAXParser(); ... saxParser.getXMLReader().setFeature(FLAG_VALIDATE, true); saxParser.getXMLReader().setFeature(FLAG_SCHEMA, true); saxParser.parse(new File(file), this); ... This always gives me an error saying "cvc-elt.1: Cannot find the declaration of element 'whatever'". Since then, I've tried to use an EntityResolver for loading the XSD. I've started with writing a little test code for the EntryResolver like this: public class SAXEntityResolver implements EntityResolver { public InputSource resolveEntity(String publicID, String systemID) throws SAXException, IOException { System.out.println(publicID+", "+systemID); return null; } } ... private static final String FLAG_VALIDATE = "http://xml.org/sax/features/validation"; private static final String FLAG_SCHEMA = "http://apache.org/xml/features/validation/schema"; private SAXParserFactory factory = null; private SAXParser saxParser = null; ... factory = SAXParserFactory.newInstance(); ... saxParser = factory.newSAXParser(); ... saxParser.getXMLReader().setFeature(FLAG_VALIDATE, true); saxParser.getXMLReader().setFeature(FLAG_SCHEMA, true); saxParser.getXMLReader().setEntityResolver(new SAXEntityResolver()); saxParser.parse(new File(file), this); ... In result, my programm still reads the xml file with the same error as before. The println() in the EntityResolver is never reached. I woulde really appreciate any help on this. Next on schedule is testing and I'm still unable to validate the xml file. Btw., loading the file with any other XML/XSD aware application works fine. regards Heiner --------------------------------------------------------------- Dipl. Ing. Heiner Amthauer T-Systems GEI GmbH Hausanschrift: Magirusstr. 39/1, 89077 Ulm Postanschrift: Postfach 20 64, 89010 Ulm Telefon: +49 ( 731) 9344-4422 Telefax: +49 (731) 9344-4409 Mobil: +49 (1 78) 4269335 E-Mail: [EMAIL PROTECTED] Internet: http://www.t-systems.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
