Xml 如果存在两个不同的XSD元素,如何使它们具有相同的值

Xml 如果存在两个不同的XSD元素,如何使它们具有相同的值,xml,xsd,Xml,Xsd,我有一个XSD文件,它有两个独立的复杂类型元素(比如elemOne和elemTwo),可以存储xs:string类型的公共元素(比如elementreference)。但是我希望我的XML将公共元素elementreference存储在两个复杂类型元素中的任何一个,或者两者都指向elementreference的相同值 如何在XSD中进行此类限制??有人能帮我一下吗 <root> <sample1> <name>johnson</name&g

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

如何在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>

约翰逊
加利福尼亚
安德鲁
19
加利福尼亚
现在我想在XSD中创建一个约束,以便标记
city
出现
sample1
sample2
下或两者下,前提是两者的值相同。

这是不可能的

使用
xs:key
xs:keyref
可以在一种情况下将元素
city
定义为键,在另一种情况下将其定义为键引用-强制它们具有相同的值,但这仅在键元素为非可选元素时有效