通过XSD限制基于另一个元素的XML元素

hmc*_*iii 10 xml xsd xsd-validation

我相信这与keyref我有关,但我不确定,我真的不确定它是否可以完成.

例如,假设我有myElement1和myElement2.如果XML文件中没有myElement2,则myElement1必须存在,否则它是可选的.

有没有办法在我的XSD文件中强制进行这种类型的验证?

Inf*_*nd' 25

在stackoverflow或任何技术博客中已经多次询问过类似的问题..

但答案永远不可能,


例如:

(a)根据任何其他元素/属性的值或存在来验证元素
(b)根据任何其他元素/属性的值或存在来验证元素的值
(c)根据任何其他元素/属性的值或存在来验证属性其他元素/属性
(d)定义在相同范围内具有不同类型/数据类型的同名元素/属性
(e)基于任何其他元素/属性的值或存在来验证子元素

所有上述案例都无法实现..

但如果你能实施一些转型的话......那么你可以得到帮助.我的意思是"首先按照你的要求进行转换并修改XML,

例子::如果特定字段需要一些值..如果条件满足则传递XML,如果不满足则不传递..在下一个块中XSD将验证并且明显错误:)你可以发现它缺少你的自定义验证..

无论如何,目的是根据数据阻止传递 xml ..这就是你在做什么..

注意:Schematron最近已经进入良好实践!这是教程:http://zvon.org/xxl/SchematronTutorial/General/contents.html