Apparently in version 2 of JAXB - the validator class has been deprecated - does this mean the marshaller is automatically validating your XML? If so it doesn\'t seem to be
If you are looking to verify the Java objects generate valid XML according to a schema, look at the JAXB-Verification project:
https://jaxb-verification.dev.java.net/
It is a JAXB RI plugin to xjc that will generate an ObjectVerifier implementation for the XML schema. This avoids having to marshal the Java objects in order to validate the XML.
Validation capabilities have been expanded in JAXB 2.0 through the use of the JAXP 1.3 Schema Validation Framework.
Where before you did:
unmarshaller.setValidating(true);
now you need to do:
SchemaFactory sf = SchemaFactory.newInstance(
javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("myschema.xsd"));
unmarshaller.setSchema(schema);
If you pass null into setSchema
, it disables validation.
Please check this reference.