繁体   English   中英

XML模式,每个子元素之一?

[英]XML Schema, One of each child element?

我想定义一个架构,该架构允许子元素以任何顺序出现,类似于<choice minOccurs="0" maxOccurs="unbounded">但将仅允许每个元素中的一个,类似于<sequence minOccurs="1" maxOccurs="1">

能做到吗?

例如

<Root>
 <ele1>
 <ele3>
 <ele2>
</Root>    <!--Valid-->

如下所示:

<Root>
 <ele1>
 <ele1>
 <ele3> 
</Root> <!--Invalid-->

您可以将maxOccurs="1"添加到元素。

使用xs:all而不是xs:sequence,所以您应该这样写:

<xs:element name="Root">
    <xs:complexType>
            <xs:all>
                <xs:element name="element1"/>
                <xs:element name="element2"/>
                <xs:element name="element3"/>
            </xs:all>
    </xs:complexType>
</xs:element>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM