2.6 Аннотации

XML Schema обеспечивает три элемента для аннотирования схем, которые призваны помочь разобраться в схемах. В схеме заказа на покупку мы поместили основное описание схемы и информацию об авторском праве в элемент documentation. В этот элемент рекомендуется помещать материал, который должен прочитать человек. Мы рекомендуем также использовать атрибут xml:lang со всеми элементами documentation, что позволяет указать язык, на котором представлена информация. Можно задать язык для всей информации в схеме, помещая атрибут xml:lang в элементе schema .

Элемент appInfo, который мы не использовали в схеме заказа на закупку, может применяться для обеспечения информацией инструментальных средств, листов стилей и других приложений. Примером интересного использования appInfo является schema, которая описывает простые типы в XML Schema Part 2: Datatypes. Информация, описывающая эту схему, например какие ограничения являются применимыми к специфическим простым типам, представлена внутри элементов appInfo. Эту информацию используют приложения, чтобы автоматически генерировать текст для документа в XML Schema Part 2.

documentation и appInfo являются подэлементами annotation, который может самостоятельно появляться в начале большинства конструкций схемы. Для иллюстрации рассмотрим пример с элементами annotation, которые появляются в начале объявления элемента и определения сложного типа:

Аннотации в объявлении элемента и определении сложного типа

<xsd:element name=”internationalPrice”>
 <xsd:annotation>
  <xsd:documentation xml:lang=”en”>
     element declared with anonymous type
  </xsd:documentation>
 </xsd:annotation>
 <xsd:complexType>
  <xsd:annotation>
   <xsd:documentation xml:lang=”en”>
      empty anonymous type with 2 attributes
   </xsd:documentation>
  </xsd:annotation>
  <xsd:complexContent>
   <xsd:restriction base=”xsd:anyType”>
    <xsd:attribute name=”currency” type=”xsd:string”/>
    <xsd:attribute name=”value” type=”xsd:decimal”/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
</xsd:element>

Элемент annotation может также появляться в начале других конструкций схемы, как это показано для элементов schema, simpleType и attribute.

 

Сайт создан в системе uCoz