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>
.
我们有一个 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>
.