使用Java代码捕获XSD验证规则违规。下面是一个示例,其中在解析XML时捕获规则违规并输出错误消息:
try {
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new File("yourSchema.xsd"));
Validator validator = schema.newValidator();
validator.setErrorHandler(new ErrorHandler() {
public void warning(SAXParseException e) throws SAXException {
System.out.println("Warning: " + e.getMessage());
}
public void error(SAXParseException e) throws SAXException {
System.out.println("Error: " + e.getMessage());
}
public void fatalError(SAXParseException e) throws SAXException {
System.out.println("Fatal Error: " + e.getMessage());
}
});
validator.validate(new StreamSource(new File("yourXML.xml")));
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}