private static void initialize() throws SAXException {
final SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
final InputStream xsdStream = XmlDocumentValidator.class.getClassLoader()
.getResourceAsStream(SCHEMA_PATH);
.getResourceAsStream(SCHEMA_PATH);
final Schema schema = factory.newSchema(new StreamSource(xsdStream));
validator = schema.newValidator();
validator.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
validator.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
}
public static boolean validateSchema(Resource resource) {
try (InputStream inputStream = resource.getInputStream()) {
if (validator == null) {
initialize();
}
validator.validate(new StreamSource(inputStream));
return true;
} catch (final SAXException | IOException e) {
LOGGER.error("Schema validation failed", e);
return false;
}
}
Niciun comentariu:
Trimiteți un comentariu