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

时间:2008-11-14 09:43:40

标签: 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>

我想阻止用户将相同的值放入<day>代码中任意位置的2 <module>个代码中。

我目前可以使用<xsd:unique>代码执行此操作,但这不允许我在一个<day>代码中包含两个<promo>代码。

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

非常感谢任何帮助。

此致 汤姆。

1 个答案:

答案 0 :(得分:6)

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

<xsd:unique name="day">
    <xs:selector xpath="promo/day" />
    <xs:field xpath="." />
</xsd:unique>

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

此致 汤姆。