我无法以某种方式计算此XSD架构的摘录中名为“x”的兄弟元素的数量?
</xs:all>
<xs:assert test="count(./x) = 1"/>
</xs:complexType>
这应该计算我有多少“x”元素,但不知何故Xerces J只吐出: 输出
Assertion evaluation ('count(./x) = 1') for element 'Properties' with type 'FF' did not succeed.
我做错了什么?还有什么可能是断言失败的原因? Elemen x存在于定义中,也存在于XML中......我需要名称空间或类似的内容吗?
我可以在一个简单的测试中重现正确的行为,但不能用于上面复杂的XSD ......:
<Example>
<y/>
<y/>
<y/>
</Example>
XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Example" type="SS"/>
<xs:complexType name="SS">
<xs:all>
<xs:element name="y" maxOccurs="unbounded"/>
</xs:all>
<xs:assert test="count(y) = 3" />
</xs:complexType>
</xs:schema>
发现错误: 我想,因为我有一个命名空间“sp”,我需要将它提供给XPath以使其工作:
<xs:assert test="count(./sp:y) = 3" />