在XSD架构1.0验证中,可用于检查元素的任何选项是否具有任何属性?

时间:2015-01-06 13:14:11

标签: java xml xsd schema xsd-1.0

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

1 个答案:

答案 0 :(得分: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>

例如,如果您想保证元素中至少有一个 b c 属性,您可以使用

<xs:field xpath="@b | @c" />