- 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".