Validating xml against schema in java
Code can be found here: https://code.google.com/p/xmlsanity/source/browse/src/com/arc90/xmlsanity/validation/Resource To use the resolver specify it on the schema factory: URL xsd Url A = Class()Resource("a.xsd"); URL xsd Url B = Class()Resource("b.xsd"); URL xsd Url C = Class()Resource("c.xsd"); Schema Factory schema Factory = schema Instance(XMLConstants.
W3C_XML_SCHEMA_NS_URI); //--- String W3C_XSD_TOP_ELEMENT = " The schema stuff in Xerces is (a) very, very pedantic, and (b) gives utterly useless error messages when it doesn't like what it finds. The schema stuff in python may be a lot more forgiving, and was letting small errors in the schema go past unreported.
Now if, as you say, includes b.xsd, and includes a.xsd, then there's no need to load all three into the schema factory.
Not only is it unnecessary, it will likely confuse Xerces and result in errors, so this may be your problem.
Just pass to the factory, and let it resolve and itself, which it should do relative to
try catch (SAXException e) catch (IOException ex) class Validator extends Default Handler Remember to change: 1) The parameter " for you xsd file location.
So the code from above has had this added: Schema Factory factory = Schema Instance(" Schema schema = Schema(); Unmarshaller unmarshaller = jc.create Unmarshaller(); Schema(schema); m_dds Settings = (com.ultra.
DDSSettings)unmarshaller.unmarshal(new File(xmlfile Name)); For XML Schema, this method creates a Schema object that performs validation by using location hints specified in documents.
Some things just aren't supported the same with Dalvik, so I made some modifications. In this example we are going to validate if the package org.kodejava.example.xml; import sax. Mostly programming in Java, Spring Framework, Hibernate / JPA. I used the Xerces XMLSchem Factory to do this along with the Java 6 validator.
In order to load the child schema's correctly via an include I had to write a custom resource resolver. Stream Source schema Documents = /* created by your application */; Source instance Document = /* created by your application */; Schema Factory sf = Schema Instance( " Schema s = Schema(schema Documents); Validator v = Validator(); v.validate(instance Document); import org.apache.xerces.parsers. This is the Java code I have so far, which seems to only do XML validation, not schema validation: OK, I've found the solution.