2012-08-01 58 views
0

我能夠在Oxygen XML Developer Editor中驗證我的XML配置文件是否符合XML V 1.1模式。XML Schema V 1.1斷言在Xerces-J中不起作用

如果我的模式違反了斷言約束,比如元素的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 

以下罐子是否有其他罐子,我需要包括哪些內容?

任何有關爲什麼忽略斷言的建議將是難以置信的幫助。

非常感謝提前。

乾杯,

德魯

+0

我指的是XML 1.1架構中的斷言/斷言,這是你所指的? – grebwerd 2012-08-01 21:27:13

+0

對不起!我的錯。刪除我的評論。 – kosa 2012-08-01 21:27:37

+0

不用擔心。感謝您的幫助:) – grebwerd 2012-08-01 21:29:06

回答

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語法是好的,並且測試的條件被強制執行。

+0

這是一個答案?我不知道你是否只是發佈這個鏈接你的問題。 – Clonkex 2017-07-02 22:39:45

+0

我會發表評論,而不是提供答案,但我沒有足夠的權限發表評論。我的「答案」提供了有用的信息,因爲我自己的用法與O​​P的用法幾乎相同,但我沒有看到OP被忽略的** test **問題。我已刪除鏈接到我自己的問題。 – badfd 2017-07-03 23:08:50

+0

正確,夠公平。您的帖子出現在「第一個帖子」隊列中,擁有足夠代表的用戶可以查看新用戶的第一篇帖子。我不確定這是不是一堆隨機垃圾,新用戶張貼或有用的信息數量驚人。我現在可以看到它是後者:D – Clonkex 2017-07-03 23:23:06