在XSD中,我有一个元素x,它取值(a,b)
还有另一个元素y
有没有办法使用XSD,这样我可以在x的值为b时将y设为必需,如果x的值为a,则可选择
答案 0 :(得分:1)
查看XML Schema Part 0: Primer Second Edition,2.2.1 Occurrence Constraints部分。
它说:
通常,当minOccurs的值为1或更大时,需要出现一个元素。元素可能出现的最大次数由其声明中maxOccurs属性的值确定。该值可以是正整数,例如41,或者术语无界,表示没有最大出现次数。 minOccurs和maxOccurs属性的默认值为1.
由于无法从XML Schema中的其他架构内容推断出属性值,因此您希望实现不可能(使用XML架构)。
(我不知道Relax NG是否可以执行此操作,但您可以调查它是否支持此类依赖于内容的定义。)