如何让2个不同的XSD元素具有相同的值(如果它们存在的话)

问题描述:

我有一个XSD文件,它有两个独立的复杂类型元素(如elemOneelemTwo),可以存储一个公共元素(比如elementReferxs:string。但是我希望我的XML将公共元素elementRefer存储在两个复杂类型元素中的任一个中,或者两者都指向相同的值elementRefer如何让2个不同的XSD元素具有相同的值(如果它们存在的话)

如何在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或两者只要它们都具有相同的价值。

这是不可能的。

使用xs:keyxs:keyref你可以定义元素city作为一个案件的关键,并作为其他的重要依据 - 迫使他们具有相同的值,但是这只有当关键要素是不可选的。