Validate tài liệu kết quả của việc transform 1 tài liệu xml
package validatingaftertransform;
import javax.xml.XMLConstants; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; public class ValidatingDOMStream { public static void main(String[] args) { String xmlfile = “files/catalog.xml”; String xsdfile = “files/catalog.xsd”; try { TransformerFactory tsf=TransformerFactory.newInstance(); Transformer trs=tsf.newTransformer(); Source src=new StreamSource(xmlfile); DOMResult result=new DOMResult();//giữ kết quả của việc transform trs.transform(src, result); Source schemaFile = new StreamSource(xsdfile); SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = factory.newSchema (schemaFile); Validator validator = schema.newValidator (); DOMSource domsrc=new DOMSource(result.getNode()); validator.validate (domsrc); System.out.println(xmlfile + ” document is valid!”); } catch (Exception e) { System.out.println(xmlfile + ” document is NOT valid!”); System.out.println(e.getMessage()); } } } |
Leave a comment