我使用XSD 1.1来验证传入的XML。我有一个断言,它可以正常工作,除非值为null。
测试如下:
<xs:assert test="ELEM1 = ' ' and ELEM2 = ' '
or ELEM1 != ' ' and matches(ELEM2, '.*')"/>
以下是有问题的XML显示的内容:
<ELEM1 />
<ELEM2 />
我试过"is null"
、"is nil"
、"= null"
、"= nil"
,但似乎都不起作用。
如何测试null元素?
术语说明:元素ELEM1
和ELEM2
通常被称为空,而不是具有null值。
这个xs:assert
,
<xs:assert test="ELEM1[not(node())] and ELEM2[not(node())] "/>
表示必须存在两个空的子元素ELEM1
和ELEM2
。