How to create XML validator(验证器;验证程序) from XML schema
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(); } } }