Как определить содержание элемента, чтобы быть уникальным? - PullRequest
2 голосов
/ 02 ноября 2009

Как я могу определить, что содержимое элемента emailaddress-элемента должно быть неуважительным по сравнению со всеми другими адресами электронной почты, введенными внутри тега users?

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="users">
    <xs:sequence>
        <xs:element name="user">
            <xs:element name="name" type="xs:string" />
            <xs:element name="emailaddress" type="xs:string" />
        </xs:element>
    </xs:sequence>
</xs:element>

Ответы [ 2 ]

4 голосов
/ 02 ноября 2009

Я думаю, это то, что вы ищете:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="users">
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded">
        <xs:element name="user">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name" type="xs:string"/>
              <xs:element name="emailaddress" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>

    <!-- Make sure each user has a unique email address -->
    <xs:unique name="email-address-is-unique">
      <xs:selector xpath="user"/>
      <xs:field xpath="emailaddress"/>
    </xs:unique>

  </xs:element>
</xs:schema>

Я также позволил себе добавить пропущенные элементы из вашей исходной схемы для полноты.

Таким образом, атрибут xpath элемента селектора определяет элементы, которые используются ограничением уникальности, тогда элемент (ы) поля имеют xpath, которые определяют, что должно быть уникальным для выбранных элементов.

0 голосов
/ 02 ноября 2009

Вы используете тег , как описано здесь

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