xsd 架构验证; xs:choice 和 min/max-occurs

xsd Schema validation; xs:choice and min/max-occurs

我们有一个 xml 文件,其中包含一个根元素、一个紧随其后的元素以及之后的 0 到 255 个一种特定类型的其他元素。

目前,我们的 XSD 文件如下所示:

<xs:element name="TIM">
    ...
    <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
            <xs:element ref="POINT" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation xml:lang="en">
                        Point
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element ref="VALUE" minOccurs="0" maxOccurs="255">
                <xs:annotation>
                    <xs:documentation xml:lang="en">
                        Value
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
...
</xs:element>

我如何才能将其更改为“Element Point once at the top, after then only ElementValue”?

听起来你想要一个简单的序列 xs:sequence<xs:sequence><xs:element ref="POINT">..</xs:element><xs:element ref="VALUE" minOccurs="0" maxOccurs="255">..</xs:element></xs:sequence>.