2

我有这个 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",但这不允许该值以数字开头。

任何帮助深表感谢。

问候,汤姆。

4

1 回答 1

6

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

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

在“模块”标签的元素声明中为我提供了我需要的功能。

问候,汤姆。

于 2008-11-14T12:22:22.167 回答