XML Schema V 1.1断言在Xerces-J中不起作用

时间:2012-08-01 21:22:19

标签: java xml jar schema assertions

我能够在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

我需要包含另一个罐吗?

关于为什么忽略这些断言的任何建议都会令人难以置信地有所帮助。

非常感谢提前。

干杯,

德鲁

1 个答案:

答案 0 :(得分: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语法很好,强制执行测试的条件。