我有一个带有以下标签的xml
<root>
<A>xxx </A>
<B>xxx </B>
<C>xxx </C>
</root>
A的数据类型是整数,可能的值是1或2.我想使用xsd来设置以下限制:
如果A = 1,则存在标签B, 如果A = 2,则存在标签C.
有没有一种巧妙的方法来实现这一点?谢谢!
答案 0 :(得分:0)
这里最重要的是改变设计,因为A元素显然根本没有提供任何信息。让root包含B或C。
如果您真的想要探索在违反规则“不要重复自己”并在XML中引入不必要的冗余时可能存在的不良生活,那么您的选择是Schematron断言,RNG和XSD 1.1断言。