- From: Garg, Badal <BGarg@cvs.com>
- Date: Wed, 30 Jul 2003 15:22:41 -0600
- To: W3C XML Schema Comments list <www-xml-schema-comments@w3.org>
Hi, I am having problem with the local validation of schema. My xml looks like this: <?xml version="1.0" encoding="UTF-8"?> <quotations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:/badal/amazon/test/XsdFromSpy.xsd"> <quote quoteid="11111"> <saying>I am from India</saying> <attribution>Badal Garg</attribution> <era>Modern</era> </quote> </quotations> XSD looks like this : <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Badal (cvs) --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="quotations"> <xs:complexType> <xs:sequence> <xs:element name="quote"> <xs:complexType> <xs:sequence> <xs:element name="saying" type="xs:string"/> <xs:element name="attribution" type="xs:string"/> <xs:element name="era" type="xs:string"/> </xs:sequence> <xs:attribute name="quoteid" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> and my java program is : import java.io.IOException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.helpers.XMLReaderFactory; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; class XMLReaderValidator { public static void main(String[] args) { String parserClass = "org.apache.xerces.parsers.SAXParser"; String validationFeature = "http://xml.org/sax/features/validation"; String schemaFeature = "http://apache.org/xml/features/validation/schema"; try { String x = "XmlFromSpy.xml"; XMLReader r = XMLReaderFactory.createXMLReader(parserClass); r.setFeature(validationFeature,true); r.setFeature(schemaFeature,true); r.setErrorHandler(new MyErrorHandler()); r.parse(x); } catch (SAXException e) { System.out.println(e.toString()); } catch (IOException e) { System.out.println(e.toString()); } } private static class MyErrorHandler extends DefaultHandler { public void warning(SAXParseException e) throws SAXException { System.out.println("Warning: "); printInfo(e); } public void error(SAXParseException e) throws SAXException { System.out.println("Error: "); printInfo(e); } public void fatalError(SAXParseException e) throws SAXException { System.out.println("Fattal error: "); printInfo(e); } private void printInfo(SAXParseException e) { System.out.println(" Public ID: "+e.getPublicId()); System.out.println(" System ID: "+e.getSystemId()); System.out.println(" Line number: "+e.getLineNumber()); System.out.println(" Column number: "+e.getColumnNumber()); System.out.println(" Message: "+e.getMessage()); } } } I am getting the following error: Error: Public ID: null System ID: file:///C:/badal/amazon/test/XmlFromSpy.xml Line number: 2 Column number: 135 Message: Element type "quotations" must be declared. Please help! BG
Received on Wednesday, 30 July 2003 17:36:44 UTC