XML Schema:使多次出现的标记的值唯一

2 xml xsd

我有这种XML模式......

<module>
   <promo>
      <day>1</day>
      <day>2</day>
   </promo>
   <promo>
      <day>3</day>
      <day>4</day>
   </promo>
   <promo>
      <day>Default</day>
   </promo>
</module>
Run Code Online (Sandbox Code Playgroud)

我想阻止用户在<day>标签的任何位置将相同的值放入2个标签中<module>.

我目前可以使用<xsd:unique>标签来做,但这不允许我<day>在一个<promo>标签中有两个标签.

我也可以使用该属性,base="xs:ID"但这不允许值以数字开头.

任何帮助深表感谢.

问候,汤姆.

小智 6

这是我的问题的答案.为此设置xs:unique标签...

<xsd:unique name="day">
    <xs:selector xpath="promo/day" />
    <xs:field xpath="." />
</xsd:unique>
Run Code Online (Sandbox Code Playgroud)

在'module'标签的元素声明中,我提供了我需要的功能.

问候,汤姆.