首页 > 代码库 > How to create XML validator(验证器;验证程序) from XML schema

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();        }    }}

 

How to create XML validator(验证器;验证程序) from XML schema