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