2

在 XSD 文件中,对于一个元素,一些属性是可选的。需要验证输入 XML 文件中是否有任何列出的属性可用。

4

1 回答 1

0

在 XSD 1.0中,您可以使用xs:key来保证一个元素至少有一个属性。例子:

<xs:element name="elem">
    <xs:complexType>
        <xs:attribute name="a" type="xs:int" use="optional" />
        <xs:attribute name="b" type="xs:int" use="optional" />
        <xs:attribute name="c" type="xs:int" use="optional" />
        <xs:attribute name="d" type="xs:int" use="optional" />
    </xs:complexType>
    <xs:key name="attributePresent">
        <xs:selector xpath="." />
        <xs:field xpath="@*" />
    </xs:key>
</xs:element>

例如,如果您想保证元素中至少存在一个bc属性,您可以使用

<xs:field xpath="@b | @c" />
于 2015-01-06T15:55:01.570 回答