我有一个XSD文件,它有两个独立的复杂类型元素(比如elemOne
和elemTwo
),可以存储{{1}类型的公共元素(比如elementRefer
) }。但我希望我的XML将公共元素xs:string
存储在两个复杂类型元素中的任何一个中,或两者都提供它们指向elementRefer
的相同值。
如何在XSD中进行此类限制?有人可以帮我解决这个问题..
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>
出现
在city
或sample1
或两者都提供的情况下,它们都具有相同的值。
答案 0 :(得分:1)
这是不可能的。
使用xs:key
和xs:keyref
您可以在一种情况下将元素city
定义为键,在另一种情况下将其定义为键引用 - 强制它们具有相同的值,但是这样仅当key元素是非可选的时才有效。