【问题标题】:Define Data rules in XSD referring to other data?在 XSD 中定义引用其他数据的数据规则?
【发布时间】:2014-08-22 16:42:28
【问题描述】:

是否可以在 XSD 定义中定义规则,例如 - 在整个 XML 文件中必须是唯一的 ID - 与另一个数字相关的数字,即必须大于前一个元素的数字? - 引用,即引用另一个元素的 id 的值

您将如何处理针对 XML 的此类要求?

例子:

<page id="123">
   <name>Charles</>
</page>
<wizard>
   <page ref="123">
   ...
</wizard>

在这种情况下,客户 ID 必须是唯一的,并且从订单到客户的引用必须是有效的,即引用 XML 中存在的客户。

我不想在这里模仿数据库,我有一个复杂的配置文件,我正在寻找一种修复其定义的好方法,并有一种更安全的方式来编辑/验证它。

【问题讨论】:

    标签: xml configuration xsd


    【解决方案1】:

    在 XSD 1.0 中,您可以定义简单的唯一性和引用完整性约束(值必须是唯一的,值必须引用其他元素的 ID) - 了解 xs:unique、xs:key 和 xs:keyref。

    更复杂的约束,例如“必须大于前一个元素的数量”需要 XSD 1.1 断言。

    【讨论】:

      猜你喜欢
      • 2020-02-17
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 2016-11-28
      • 2014-01-01
      相关资源
      最近更新 更多