4.6 Группы замены

XML Schema обеспечивает механизм, называемый группы замены, который позволяет одним элементам заменять другие. Более точно, элементы могут быть назначены в специальную группу элементов, определяемую элементом с особым именем, который называется главным элементом. (Обратите внимание, что главный элемент должен быть объявлен как глобальный элемент.) Для того чтобы проиллюстрировать сказанное, мы объявляем два элемента с именами customerComment и shipComment, и назначаем их в группу замены, главный элемент которой – comment. Теперь customerComment и shipComment могут использоваться везде, где мы разрешили использовать comment. Элементы в группе замены должны иметь тот же самый тип, что и главный элемент, или они могут иметь тип, который был получен из типа главного элемента. Для того чтобы объявить эти два новых элемента и сделать их заменяемыми для элемента comment, мы используем следующий синтаксис:

Объявление элементов, заменяемых на comment

<element name=”shipComment” type=”string”
		substitutionGroup=”ipo:comment”/>
<element name=”customerComment” type=”string”
		substitutionGroup=”ipo:comment”/>

Когда эти объявления добавлены к схеме международного счета на покупку, comment может быть заменен на shipComment и customerComment в документе примера, например:

Фрагмент ipo.xml с заменяемыми элементами

....
 <items>
  <item partNum=”833-AA”>
   <productName>Lapis necklace</productName>
   <quantity>1</quantity>
   <USPrice>99.95</USPrice>
   <ipo:shipComment>
    Use gold wrap if possible
   </ipo:shipComment>
   <ipo:customerComment>
    Want this for the holidays!
   </ipo:customerComment>
   <shipDate>1999-12-05</shipDate>
  </item>
 </items>
....

Отметим, что, когда документ примера содержит заменяемые элементы, типы которых получены от их главных элементов, то нет необходимости идентифицировать полученные типы, используя конструкцию xsi:type, как мы описали в Разделе 4.3.

Существование группы замены не требует каких-либо элементов, которые употребляются в этом классе, и также не препятствует использованию главного элемента. Она просто обеспечивает механизм, который позволяет элементам применяться взаимозаменяемо.

 


Вип Каталог | seocatalog.ru | made-cat.com |
Используются технологии uCoz