builder.setFeature("http://apache.org/xml/features/validation/schema", true); if (schemaMap.size() > 0) builder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", sbSchemaLocations.toString());
"http://apache.org/xml/features/validation/schema-full-checking", true); builder.setProperty( "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", SCHEMA_URL.toString());
/** * Parses the specified XML file and creates the JDOM document. The XML will * be verified against the specified XSD schema (will be read from classpath). * * @param xmlFile the XML file to parse * @param xsdFilename the name of the XSD (just the filename) * @return the created JDOM Document * @throws java.io.IOException * @throws org.jdom2.JDOMException */ public static Document getJDOMDocument(final File xmlFile, final String xsdFilename) throws IOException, JDOMException { // create a SAX parser with XSD validation SAXBuilder builder = new SAXBuilder(XMLReaders.DTDVALIDATING); builder.setFeature("http://apache.org/xml/features/validation/schema", true); builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", "file://" + xsdFilename); // define the EntityResolver for loading the XSD schema as a resource // from the classpath instead from filesystem builder.setEntityResolver(new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { if (systemId.toLowerCase().endsWith(xsdFilename)) { return new InputSource(this.getClass().getResourceAsStream("/xml/" + xsdFilename)); } else { return null; } } }); // create JDOM Document return builder.build(xmlFile); }
public XMLEntityResolver(boolean validate) { saxBuilder = hasXerces ? new SAXBuilder( validate) : new SAXBuilder("org.apache.xerces.parsers.SAXParser", validate); saxBuilder.setErrorHandler( new MyErrorHandler() ); if (validate) { saxBuilder.setFeature( "http://apache.org/xml/features/validation/schema", true); saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", XMLEntityResolver.getExternalSchemas()); } saxBuilder.setEntityResolver( this); }
public XMLEntityResolver(boolean validate) { saxBuilder = hasXerces ? new SAXBuilder( validate) : new SAXBuilder("org.apache.xerces.parsers.SAXParser", validate); saxBuilder.setErrorHandler( new MyErrorHandler() ); if (validate) { saxBuilder.setFeature( "http://apache.org/xml/features/validation/schema", true); saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", XMLEntityResolver.getExternalSchemas()); } saxBuilder.setEntityResolver( this); }
public XMLEntityResolver(boolean validate) { saxBuilder = hasXerces ? new SAXBuilder( validate) : new SAXBuilder("org.apache.xerces.parsers.SAXParser", validate); saxBuilder.setErrorHandler( new MyErrorHandler() ); if (validate) { saxBuilder.setFeature( "http://apache.org/xml/features/validation/schema", true); saxBuilder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", XMLEntityResolver.getExternalSchemas()); } saxBuilder.setEntityResolver( this); }