我想指定在应用于此XSD的
XML文件中始终必须存在fieldname或freetext.有办法吗?
<xs:complexType name="tSome"> <xs:sequence> <!-- either one of the two below has to be present. --> <xs:element name="fieldname" type="xs:string" /> <xs:element name="freetext" type="xs:string" /> <!-- this one below must always be present --> <xs:element name="dbtablename" type="xs:string" /> </xs:sequence> </xs:complexType>
XML Schema中有一个
Choice Indicator,它允许您使用所包含的元素之一,但不能包含两个或更多元素.如果你想要3的任何2,我建议做这样的事情:
<xs:choice> <xs:element name="fieldname" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="freetext" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="dbtablename" type="xs:string" minOccurs="0" maxOccurs="1" /> </xs:choice> <xs:choice> <xs:element name="fieldname" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="freetext" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="dbtablename" type="xs:string" minOccurs="0" maxOccurs="1" /> </xs:choice>
(也许maxOccurs将阻止您选择同一个元素两次.)
如果不行,我什么也不想.
编辑:我第一次没有正确地理解这个问题.如果您希望dbtablename始终与fieldname或freetext中的任何一个存在,那么这就是答案:
<xs:complexType name="tSome"> <xs:sequence> <xs:choice> <xs:element name="fieldname" type="xs:string" /> <xs:element name="freetext" type="xs:string" /> </xs:choice> <xs:element name="dbtablename" type="xs:string" /> </xs:sequence> </xs:complexType>
原文地址:https://www.jb51.cc/xml/292182.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。