![](/img/trans.png)
[英]Error: Element or attribute type specified more than once in XML SCHEMA Collection
[英]xml schema - substitutiongroup with one element appear no more than once
我正在尝试创建不同类型的元素的列表,但我需要限制一种类型的出现不超过一次。 这是示例:
<links>
<linktype1 id="1" />
<linktype3 id="2" />
<linktype2 id="3" />
<linktypespecific id="4" />
<linktype3 id="5" />
</links>
我想以任意顺序允许任意数量的linktype1,linktype2,linktype3,但是linktypespecific可以出现在链接中的任何位置,但不能超过一次。
目前,我使用替换组实现了所有类型,但不允许限制特定于链接类型的外观的数量。
是否可以使用XML Schema完全实现?
我认为XSD 1.0中不可能。
您可以在XSD 1.1中使用xs:any内容模型来做到这一点,该模型列出了允许的元素,并带有maxOccurs子句来定义每个元素出现的频率。
您不能使用替换组执行此操作-如果元素在替换组中,则它可以与替换组头完全互换。 但是(在XSD 1.1中)您可以使用替换组加一个断言来约束基数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.