我需要一个元素在任何地方出现。最简单的方法是什么?如果我有其他元素,那么将它作为一个可选项放在每个人中是不明智的。
答案 0 :(得分:0)
一般情况下,你不能这样做,因为你会有一个非确定性的模型。
例如,您不能拥有如下序列组:
<xs:sequence>
<!-- X is the element that may appear anywhere -->
<xs:element name="X" minOccurs="0"/>
<xs:element name="Y" minOccurs="0" maxOccurs="5"/>
<xs:element name="X" minOccurs="0"/>
</xs:sequence>
在上文中,元素X的出现可以对X的第一个或第二个声明进行验证。这违反了“唯一粒子归因”(UPA)要求。
可能没有架构可以准确识别您想要的语言。或者,如果您能够看到避免违反UPA的方法,也许您可以使用您的特定语言。例如,如果上面的Y不是可选的(如果minOccurs等于maxOccurs),则不会违反UPA。