XML: применение дочерней структуры для двух элементов с помощью схемы XML - PullRequest
0 голосов
/ 09 марта 2010

Возможно ли (и если да, то как) обеспечить с помощью схемы XML, что два элемента в документе должны содержать одинаковую подструктуру? Например, я хотел бы выразить, что у любого foo есть два дочерних элемента, bar1 и bar2, а bar1 должен иметь ту же дочернюю структуру, что и bar2:

<foo>
  <bar1>
    <baz>hello, world</baz>
  </bar1>
  <bar2>
    <baz>hello, world</baz>
  </bar2>
</foo>

Является ли key и keyref правильным путем?

Спасибо!

1 Ответ

0 голосов
/ 09 марта 2010

Конечно - определите именованное <xs:complexType>, которое представляет «содержимое» узлов bar1 и bar2, и используйте его для определения двух элементов:

<xs:schema id="foo" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="foo">
    <xs:complexType>
      <xs:element name="bar1" type="subbar" />
      <xs:element name="bar2" type="subbar" />
    </xs:complexType>
  </xs:element>
  <xs:complexType name="subbar">
     <xs:sequence>
        <xs:element name="baz" type="xs:string" minOccurs="0" />
     </xs:sequence>
  </xs:complexType>
</xs:schema>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...