6.8. Complex Types
A complex type specifies the possible content of an element. A complex type specifies subelements, empty content, or mixed content, and attributes. A complex type has two flavors: a complex type that specifies simple content and a complex type that specifies complex content.
6.8.1. Simple Content
Complex types that specify simple content can further restrict value ranges with functionality identical to simple type restriction. Complex types with simple content provide the following functionality:
Restricting value ranges (identical functionality to simple type restriction)
Adding attribute types to a simple type or to a base complex type that specifies simple content
Modifying or removing attribute types from a base complex ...