我正在尝试使用XML Schema验证XML实例,其中包含assert
标记。验证器抛出包含消息的异常:
'#AnonType_message'的内容无效。元素'断言'无效,错位或过于频繁发生。
这是我的代码:
//xmlData is a xml string
Source xmlFile = new StreamSource(new StringReader( xmlData ));
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);
Validator validator = schema.newValidator();
validator.validate(xmlFile);
这是解析器的错误消息:
org.xml.sax.SAXParseException
答案 0 :(得分:2)
<assert>
标记在XSD 1.1模式中有效。
要验证您的架构,您需要一个兼容XSD 1.1的解析器。有关如何在应用程序中配置它的示例,请参阅this question和答案。
您可能还想检查您的XSD文档在<xs:schema>
开始标记中是否包含以下两个属性:
<xs:schema ...
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1" ...>