You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Kumuda Rajarshi <ku...@learningmate.com> on 2001/05/08 09:42:49 UTC
RE: xml validation with schema ERROR
Hello,
please make the small change in your code
parser.setFeature("http://apache.org/xml/features/validation/schema",true);
see Now whether It validates.
Good Luck.
-------Original Message-------
From: xerces-j-user@xml.apache.org
Date: Monday, April 08, 2002 12:39:32 PM
To: xerces-j-user@xml.apache.org
Subject: RE: xml validation with schema ERROR
One possibality of getting this error message because u may be using the
old version of Xerces, so download the latest version of Xerces
and keep the new xerces.jar in ur classpath.
i think this will solve ur problem
Regards
Vijay
-----Original Message-----
From: tom john [mailto:cybernv@yahoo.com]
Sent: Thursday, April 04, 2002 4:06 PM
To: xerces-j-user@xml.apache.org
Subject: xml validation with schema ERROR
Hi,
I am new validating xml with schema. I get the
following error message when i try to validate xml:
org.xml.sax.SAXNotRecognizedException:
http://apache.org/xml/feature
s/validation/schema-full-checking
Error: org.xml.sax.SAXParseException: Document root
element "PERSON
", must match DOCTYPE root "null".
Error: org.xml.sax.SAXParseException: Document is
invalid: no gramm
ar found.
java.lang.NullPointerException
I know the xml document i have is valid.
the xml i have is:
<?xml version="1.0" encoding="UTF-8"?>
<PERSON NAME="XXX"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="mySchema.xsd">
<COUNTRY>countryName</COUNTRY>
<COUNTRY>countryName</COUNTRY>
</PERSON>
schema for it is:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="PERSON">
<xs:complexType>
<xs:sequence>
<xs:element name="COUNTRY"
type="xs:string"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="NAME" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
The code i am using to validate is:
import org.apache.xerces.parsers.DOMParser;
import org.apache.xerces.parsers.SAXParser;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;
import java.io.IOException;
import java.io.File;
// A Valdating DOM Application
// with registered Error Handlers
public class SchemaValidate implements ErrorHandler {
// Constructor
public SchemaValidate (String xmlFile) {
// Create a Xerces DOM Parser
DOMParser parser = new DOMParser();
//SAXParser parser = new SAXParser();
//MyResolver resolver = new MyResolver();
// Turn Validation on
try {
parser.setFeature("http://xml.org/sax/features/validation",
true);
//parser.setProperty("http://apache.org/xml/properties/schema/external-n
oNamespaceSchemaLocation",
"ebxml.xsd");
//parser.setEntityResolver(resolver);
parser.setFeature("http://apache.org/xml/features/validation/schema",fal
se);
parser.setFeature("http://apache.org/xml/features/validation/schema-full
-checking",false);
parser.setFeature("http://apache.org/xml/features/validation/dtd",false)
;
}
catch (SAXNotRecognizedException e) {
System.err.println (e);
}
catch (SAXNotSupportedException e) {
System.err.println (e);
}
// Register Error Handler
parser.setErrorHandler (this);
// Parse the Document
try {
parser.parse(xmlFile);
}
catch (SAXException e) {
System.err.println (e);
}
catch (IOException e) {
System.err.println (e);
}
catch (Exception e) {
System.err.println (e);
}
}
// Warning Event Handler
public void warning (SAXParseException e)
throws SAXException {
System.err.println ("Warning: "+e);
}
// Error Event Handler
public void error (SAXParseException e)
throws SAXException {
System.err.println ("Error: "+e);
}
// Fatal Error Event Handler
public void fatalError (SAXParseException e)
throws SAXException {
System.err.println ("Fatal Error: "+e);
}
// Main Method
public static void main (String[] args) {
SchemaValidate validatingDOM = new
SchemaValidate("D:\\tmp\\myxml.xml");
}
}
thankx
__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org