xml traduce IDREFS в схеме xml

Мне нужно знать, есть ли способ создать в XML-схеме нечто подобное, но более надежное, чем IDREFS, без использования типа IDREFS. Мне нужен атрибут, который является списком ключевых ссылок.

  1. Я определяю ключ
  2. Я определяю ключевую ссылку
  3. Как действовать сейчас? Мне нужно определить атрибут, который является своего рода списком ключевых ссылок

Пример:

 myAttribute = "keyref1 keyref2 keyref3 ..." and so on

Помните: с IDREFS я не могу создать список ссылочных элементов.

1 ответ

Нет, к сожалению, keyrefs может выбирать только узлы, а не токены в пределах значений узла.

Для реализации такого рода ограничений вы можете использовать утверждения XSD 1.1:

<xs:element name="employees">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="employee" maxOccurs="unbounded"/>
    </xs:sequence>

    <xs:assert test="every $id in employee/direct-reports/tokenize(., ' ') 
                     satisfies exists(employee[id=$id])"/>
  </xs:complexType>
</xs:element>
Другие вопросы по тегам