Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

XML Schema validation from java using Xercer 1.4.4 and DOM

 
Ric Gupta
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I am trying to validate an XML file using Schemas at parsing time using DOM Parser. Set the following features of DOM parser:
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setFeature("http://apache.org/xml/features/validation/schema", true);
parser.setFeature("http://apache.org/xml/features/validation/schema-full-checking", true);
parser.setFeature("http://apache.org/xml/features/allow-java-encodings", true);
parser.setFeature("http://apache.org/xml/features/validation/warn-on-undeclared-elemdef", true);
parser.setFeature("http://apache.org/xml/features/validation/dynamic", true);
After setting all of these features also, the XML is not validated againt schema.
Schema declaration contains header as:
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="qualified">
XML header is :
<customer-order-status
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="XMLSchema.xsd">
Also tried to give full path to Schema and also namespace but of no use.
Can anybody help?
Ric
 
Balaji Loganathan
author and deputy
Bartender
Posts: 3150
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
whats the error message you are getting ?
 
Ric Gupta
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Getting no error message but the XML is not getting validated against Schema. for eg. I added type for one element as "date"
<element name="value" minOccurs="1" maxOccurs="1" type="date"/>
If I write a String in XML file like
<value>aa</value>
I am not getting any parse exception or error. The XML file is sucessfully parsed.
 
Howie Jiang
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
try this:
parser.setProperty(
"http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
"XMLSchema.xsd");
and drop tell us how is the result..
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic