- Schemas are in XML (no special syntax, special editor,
validation is possible,...)
- Element type hierarchies can be defined
- Advanced datatypes; one can:
- define constraints on the data types (eg, an attribute shall
be a positive integer but smaller than 100)
- define hierarchies of data types (eg, a type is a subtype of
another one by restriction)
- define your own datatypes (eg, phone numbers should include
only numbers, first names only characters, zip codes follow
national patterns,...)
For example, the type:
<simpleType name="Dutch_ZIP_Code">
<restriction base="string">
<xsd:pattern value="\d{4} {0,1}[A-Z]{2}"/>
</restriction>
</simpleType>
defines the Dutch ZIP codes of the type "1183 NW" or
"1183NW".