2.6 AnnotationsAnnotations
ref14XML Schema provides three elements
for annotating schemas for the benefit of both human
readers and applications. In the purchase order schema, we
put a basic schema description and copyright information
inside the
documentation element, which is the recommended
location for human readable material. We recommend you use
the xml:lang attribute with any
documentation
elements to indicate the language of the information. Alternatively,
you may indicate the language of all information in a schema by placing
an xml:lang attribute on the schema element.
ref15The appinfoappInfo element, which we did not use in the
purchase order schema, can be used to provide information
for tools, stylesheets and other applications. An
interesting example using appinfoappInfo is a
[schema]
that describes
the simple types in XML Schema Part 2: Datatypes.
Information describing this schema, e.g. which facets are
applicable to particular simple types, is represented
inside appinfoappInfo
elements, and this information was used by an application to automatically
generate text for the XML Schema Part 2 document.
ref16Both documentation and
appinfoappInfo appear
as subelements of
annotation, which may itself appear at the
beginning of most schema constructions. To illustrate, the
following example shows annotation elements
appearing at the beginning of an element declaration and a
complex type definition:
NOTE:
Annotations in Element Declaration & Complex Type Definition
<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>
The
annotation element may also appear at the
beginning of other schema constructions such as those
indicated by the elements
schema,
simpleType, and attribute.
|