xml – XSD – 如何允许任何顺序任意次数的元素?
发布时间:2020-12-16 08:16:05 所属栏目:百科 来源:网络整理
导读:我试图创建一个XSD,并试图写下具有以下要求的定义: 允许指定的子元素出现任意次数(0到无限制) 允许子元素以任何顺序排列 我环顾四周,发现了各种解决方案,如this: xs:element name="foo" xsl:complexType xs:choice minOccurs="0" maxOccurs="unbounded"
我试图创建一个XSD,并试图写下具有以下要求的定义:
>允许指定的子元素出现任意次数(0到无限制) 我环顾四周,发现了各种解决方案,如this: <xs:element name="foo"> <xsl:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="child1" type="xs:int"/> <xs:element name="child2" type="xs:string"/> </xs:choice> </xs:complexType> </xs:element> 但从我的理解xs:选择仍然只允许单个元素选择。因此,将MaxOccurs设置为无限的像这样应该只意味着子元素的“任何一个”可以出现多次。这是准确吗? 如果上面的解决方案不正确,我该如何实现我上面所说的我的要求? 编辑:如果要求如下? >元素child1 child2可以出现任何 例如, <foo> <child1> value </child1> <child1> value </child1> <child3> value </child3> <child2> value </child2> <child4> value </child4> <child1> value </child1> </foo> 但是这不是(缺少child3) <foo> <child1> value </child1> <child1> value </child1> <child2> value </child2> <child4> value </child4> <child1> value </child1> </foo>
在您的问题中的模式中,child1或child2可以以任何顺序显示任意次数。所以这听起来像你正在寻找。
编辑:如果你只想要其中一个出现无限次,无界的将不得不去的元素,而不是: 编辑:固定类型的XML。 编辑:maxOccurs中的大写O <xs:element name="foo"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="child1" type="xs:int" maxOccurs="unbounded"/> <xs:element name="child2" type="xs:string" maxOccurs="unbounded"/> </xs:choice> </xs:complexType> </xs:element> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |