Схема XML: сделать уникальным значение многократного тега - PullRequest
2 голосов
/ 14 ноября 2008

У меня есть этот шаблон XML ...

<module>
   <promo>
      <day>1</day>
      <day>2</day>
   </promo>
   <promo>
      <day>3</day>
      <day>4</day>
   </promo>
   <promo>
      <day>Default</day>
   </promo>
</module>

Я бы хотел, чтобы пользователи не помещали одно и то же значение в теги 2 <day> в любом месте тега <module>.

В настоящее время я могу сделать это с помощью тега <xsd:unique>, но это не позволяет мне иметь два тега <day> в одном теге <promo>.

Я также мог бы использовать атрибут base="xs:ID", но это не позволяет значению начинаться с цифры.

Любая помощь очень ценится.

С уважением, Том.

1 Ответ

6 голосов
/ 14 ноября 2008

Вот ответ на мой вопрос. Установка тега xs: unique для этого ...

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

В объявлении элемента для тега 'module' дается необходимая мне функциональность.

С уважением, Том.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...