1
我需要一个元素出现在任何时间的任何地方。最简单的方法是什么?如果我有其他元素,将它作为可选项放在每个人的内部并不明智。如何使元素出现在XML Schema中的任何地方
我需要一个元素出现在任何时间的任何地方。最简单的方法是什么?如果我有其他元素,将它作为可选项放在每个人的内部并不明智。如何使元素出现在XML Schema中的任何地方
一般来说,你不能这样做,因为你将有一个非确定性模型。
例如,你不能像的序列组:
<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就不会被违反。
虽然请注意,即使我的例子不允许X遍地,例如在Y的发生之间。 – Kevin