我相信这与 keyref 但是我不确定,我真的不确定是否可以做到。

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

有什么方法可以在我的XSD文件中强制这种验证?

有帮助吗?

解决方案

在Stackoverflow或任何技术博客中都提出了几次类似的问题。

但是答案总是 不可能,


例如:

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

上述所有提到的案例都是无法实现的。

但是,如果您可以实施一些转换的事情。那么您可以获得帮助。我的意思是“首先经过转换并根据您的要求修改XML,

示例::如果预期的特定字段具有一定的值。。将XML传递,就像如果不满足条件,如果不满足,则不会通过。.在下一个块中,XSD将要验证,并且显然错误地出现了:)您可以弄清楚它缺少您的自定义验证。

无论如何意图是 堵塞 或者 经过 XML根据数据..,这就是您正在做的。

笔记: 图型 最近已经做好了练习!这是教程: http://zvon.org/xxl/schematrontutorial/general/contents.html

其他提示

我建议的是为下面定义的每种情况创建XSD:

例如:

  1. 根据任何其他元素/属性的值或存在来验证元素。
  2. 根据任何其他元素/属性的值或存在来验证元素的值。
  3. 根据任何其他元素/属性的值或存在验证属性。
  4. 不允许忽略(随机)元素/属性。 (我的意思是说使用限制。)
  5. 具有不同数据类型的同名元素/属性。
  6. 根据任何其他元素/属性的价值或存在来验证子元素。

并为此创建自己的XML。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top