我试图验证这个
XML文件……
如果
如果
>< tag1>是“Y”然后< tag2>必须出现
> if< tag1>是“N”然后< tag2>一定不要出现..
<parent> <a> <tag1>Y</tag1> <tag2>sometext</tag2> </a> <a> <tag1>N</tag1> </a> </parent>
我试过< choice>标签,但似乎没有工作.. :(我得出结论,这个功能在XSD中不可用..
你能指导我至少实现这个的替代方案吗?顺便说一句,我使用的是Visual Studio 2005 ..
众所周知,这是XML模式的一个回顾.但我很感激你尝试< choice>的方法.标签.如果您的条件是这样的话,它可能会成功:
>如果< tag1>是必需的,然后首先出现< tag2>不是必需的(并显示为第二个标签)
>如果< tag2>是必需的,然后首先出现< tag1>不是必需的(并显示为第二)
代码是:
<xs:element name="parent"> <xs:complexType> <xs:sequence> <xs:element name="a" maxOccurs="unbounded"> <xs:complexType> <xs:choice> <xs:sequence> <xs:element name="tag1" type="xs:boolean" /> <xs:element name="tag2" type="xs:string" minOccurs="0" /> </xs:sequence> <xs:sequence> <xs:element name="tag2" type="xs:string" /> <xs:element name="tag1" type="xs:boolean" minOccurs="0" /> </xs:sequence> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。