0

我能够在 Oxygen XML Developer Editor 中根据它的 XML V 1.1 模式验证我的 XML 配置文件。

如果我的架构违反了断言约束,例如元素的 number 属性大于特定值,它将不会验证 xml 配置文件。

<assert test="6 >= @Number" />

然而,当我针对模式解析 java 中的配置文件时,我的断言被忽略了。

我正在使用 Xerces-J 2.11.0-xml-schema-1.1-beta。

我在我的项目中包括以下罐子

cupv10K-runtime.jar
icu4j.jar
xerceslmpl.jar
sml-apis.jar
org.eclipse.wst.xml.xpath2.processor_2.1.1v201204060055.jar

我需要包括另一个罐子吗?

任何关于它为什么忽略断言的建议都会非常有帮助。

提前谢谢了。

干杯,

德鲁

4

1 回答 1

1

我使用以下命令行,并且在对当前元素的属性 应用测试时没有遇到问题: $ export XERCESJ=$HOME/xerces-j/xerces-2_11_0-xml-schema-1.1-beta $ java -classpath $XERCESJ/cupv10k-runtime.jar:/usr/share/java/org.eclipse.wst.xml.xpath2.processor-2.1.100.jar:/usr/share/java/xercesImpl-xsd11-2.12-beta-r1667115.jar:$XERCESJ/xml-apis.jar:$XERCESJ/xercesSamples.jar jaxp.SourceValidator -xsd11 -i my_instance.xml

XSD 1.1 语法很好,并且强制执行了测试条件。

于 2017-07-02T22:11:22.303 回答