- 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