我想要做的是在
XML模式中创建一个序列元素,使得内容必须按顺序排列,但可能不会全部存在.例如,架构将是这样的:
<xs:element name="rods" maxOccurs="1" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="green" type="xs:positiveInteger" /> <xs:element name="white" type="xs:positiveInteger" /> <xs:element name="blue" type="xs:positiveInteger" /> <xs:element name="yellow" type="xs:positiveInteger" /> <xs:element name="red" type="xs:positiveInteger" /> <xs:element name="tan" type="xs:positiveInteger" /> <xs:element name="gray" type="xs:positiveInteger" /> <xs:element name="black" type="xs:positiveInteger" /> </xs:sequence> </xs:complexType> </xs:element>
并允许这样的XML:
<rods> <green>142</green> <white>34</white> <gray>65</gray> </rods>
MSDN对此有这样的说法:
The following example shows an element (zooAnimals) that can have zero or more of the following elements,elephant,bear,giraffe,in the sequence element.
06002
W3Schools建议相同.
但是,visual studio和在线验证服务都不喜欢所建议的内容.
这就是我现在所拥有的:
<xs:element name="rods" maxOccurs="1" minOccurs="1"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="1"> <xs:element name="green" type="xs:positiveInteger" /> <xs:element name="white" type="xs:positiveInteger" /> <xs:element name="blue" type="xs:positiveInteger" /> <xs:element name="yellow" type="xs:positiveInteger" /> <xs:element name="red" type="xs:positiveInteger" /> <xs:element name="tan" type="xs:positiveInteger" /> <xs:element name="gray" type="xs:positiveInteger" /> <xs:element name="black" type="xs:positiveInteger" /> </xs:sequence> </xs:complexType> </xs:element>
这是XML:
<rods> <green>142</green> <white>34</white> <gray>65</gray> </rods>
Visual Studio 2005声称“灰色”是无效的,“蓝色”是预期的,所以显然它需要所有的孩子
谢谢,
埃里克
<xs:element name="rods"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="green" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="white" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="blue" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="yellow" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="red" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="tan" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="gray" type="xs:positiveInteger" /> <xs:element minOccurs="0" name="black" type="xs:positiveInteger" /> </xs:sequence> </xs:complexType> </xs:element>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。