我想将多边形定义为一系列点,如下所示:
<polygon>
<point x="0" y="0" z="0" />
<point x="100.0" y="100.0" z="100.0" />
<point x="50.0" y="100.0" z="50.0" />
</polygon>
当我阅读它们时,保留点的顺序很重要
我编写了以下 xsd 文件:
<xs:element name="point_type">
<xs:complexType>
<xs:attribute name="x" type="xs::double"/>
<xs:attribute name="y" type="xs::double"/>
<xs:attribute name="z" type="xs::double"/>
</xs:complexType>
</xs:element>
<xs:element name="polygon_type">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="point" type="point_type"/>
</xs:sequence>
</xs:complexType>
</xs:element>
但有人指出,xs:sequence
这并不一定意味着<points>
会井井有条。事实上,http://www.w3schools.com/schema/el_sequence.asp似乎定义了该序列
<xs:sequence maxOccurs="unbounded">
<xs:element name="A" type="A_type"/>
<xs:element name="B" type="B_type"/>
</xs:sequence>
只会确保B
's 在A
's之后
<super>
<A/>
<B/>
<A/>
<B/>
</super>
并且没有说明 {AB} 对的顺序。
有人知道吗?你能指出我支持一个论点的参考文献吗?