2011-10-12 71 views

回答

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就不会被违反。

+0

虽然请注意,即使我的例子不允许X遍地,例如在Y的发生之间。 – Kevin

相关问题