【问题标题】:How to have 2 different XSD elements to be of same value if they are present如果存在,如何使 2 个不同的 XSD 元素具有相同的值
【发布时间】:2012-03-27 14:53:42
【问题描述】:

我有一个 XSD 文件,它有两个独立的复杂类型元素(比如 elemOneelemTwo ),可以存储类型为 xs:string 的公共元素(比如 elementRefer )。但我希望我的 XML 将公共元素 elementRefer 存储在两个复杂类型元素中的一个或两者中,前提是它们都指向相同的 elementRefer 值。

如何在 XSD 中进行这种限制?有人可以帮我解决这个问题吗..

<root>
  <sample1>
    <name>johnson</name>
    <city>california</city>   <!-- optional occurence element-->
  </sample1>
  <sample2>
    <name>andrew</name>
    <age>19</age>
    <city>california</city>   <!-- optional occurence element-->
  </sample2>
</root>

现在我想在 XSD 中创建一个约束,以便出现标签 city
sample1sample2 或两者下,只要它们具有相同的值。

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    这是不可能的。

    使用xs:keyxs:keyref,您可以将元素city 在一种情况下定义为键,在另一种情况下作为键引用 - 强制它们具有相同的值,但这仅适用于键元素是非可选的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 2022-08-08
      • 1970-01-01
      相关资源
      最近更新 更多