An xsd:annotation
element describes its parent
element.
A top-level xsd:annotation
element describes the entire schema.
Its xsd:documentation
child element describes the schema
for human readers.
Its xsd:appInfo
child element describes the schema
for computer programs; e.g. stylesheet instructions.
<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation> Song schema example for XML Schemas tutorial Copyright 2001 Elliotte Rusty Harold. </xsd:documentation> </xsd:annotation> <xsd:element name="SONG" type="SongType"/> <xsd:simpleType name="money"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\p{Sc}\p{Nd}+(\.\p{Nd}\p{Nd})?"> <xsd:annotation> <xsd:documentation> \p{Sc} Any Unicode currency indicator; e.g. $, ¥, £, &#A4, etc. \p{Nd} A Unicode decimal digit character \p{Nd}+ One or more Unicode decimal digit characters \. The period character (\.\p{Nd}\p{Nd}) (\.\p{Nd}\p{Nd})? Zero or one strings of the form .35 This works for any decimalized currency. </xsd:documentation> </xsd:annotation> </xsd:pattern> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="SongType"> <xsd:sequence> <xsd:element name="TITLE" type="xsd:string"/> <xsd:element name="COMPOSER" type="xsd:string" maxOccurs="unbounded"/> <xsd:element name="PRODUCER" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="PUBLISHER" type="xsd:string" minOccurs="0"/> <xsd:element name="YEAR" type="xsd:gYear"/> <xsd:element name="ARTIST" type="xsd:string" maxOccurs="unbounded"/> <xsd:element name="PRICE" type="money"/> </xsd:sequence> </xsd:complexType> </xsd:schema>