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.