我们可以根据XSD中任何其他元素的值使元素成为可选元素或强制元素

时间:2011-07-25 10:58:50

标签: xml xsd

在XSD中,我有一个元素x,它取值(a,b)

还有另一个元素y

有没有办法使用XSD,这样我可以在x的值为b时将y设为必需,如果x的值为a,则可选择

1 个答案:

答案 0 :(得分:1)

查看XML Schema Part 0: Primer Second Edition2.2.1 Occurrence Constraints部分。

它说:

  

通常,当minOccurs的值为1或更大时,需要出现一个元素。元素可能出现的最大次数由其声明中maxOccurs属性的值确定。该值可以是正整数,例如41,或者术语无界,表示没有最大出现次数。 minOccurs和maxOccurs属性的默认值为1.

由于无法从XML Schema中的其他架构内容推断出属性值,因此您希望实现不可能(使用XML架构)。

(我不知道Relax NG是否可以执行此操作,但您可以调查它是否支持此类依赖于内容的定义。)