In order to check XML data for validity we have to prepare its schema XSD-file. this file will be loaded by a JAXP package to a schema objects instance. then we'll use schema to produce validator which can then be used to validate any document with type defined in outr schema.
import javax.xml.transform.stream.StreamSource;import javax.xml.validation.Schema;import javax.xml.validation.SchemaFactory;import javax.xml.validation.Validator;import org.xml.sax.SAXException;/** * A sample application which shows how to perform a XML document validation. */public class Test { public static void main(String[] args) { try { // define the type of schema - we use W3C: String schemaLang = "http://www.w3.org/2001/XMLSchema"; // get validation driver: SchemaFactory factory = SchemaFactory.newInstance(schemaLang); // create schema by reading it from an XSD file: Schema schema = factory.newSchema(new StreamSource("contacts.xsd")); Validator validator = schema.newValidator(); // at last perform validation: validator.validate(new StreamSource("contacts.xml")); } catch (SAXException ex) { // we are here if the document is not valid: System.out.println(ex.getMessage()); // ... process validation error... } catch (Exception ex) { ex.printStackTrace(); } }}
How to create XML validator (validators; validators) from XML Schema