Complex and simpleType Properties in XML Schemas

complexTypes have the properties described in Table 47. simpleTypes have only the Type and Name properties.

The type is always complexType or simpleType.
The type name you use elsewhere in the XML Schema. Specify the name you want the type to have.
A Boolean value that indicates whether substitution for this complexType is required. When Abstract is true, the complexType cannot be used in an instance document. Instead, a member of the complexType's substitution group must appear in the instance document. simpleTypes do not have this property.
A Boolean value that indicates whether or not this complexType can contain raw data as well as elements and attributes. A value of true indicates that it can contain raw data. simpleTypes do not have this property.
Blocked Substitutions
Defines that this type cannot be derived in some forms. That is, it specifies that one or more extensions, restrictions or substitutions cannot be permitted. For example, an enumeration for all the states in the United States can block extensions and substitutions, thus allowing derived data types only so as to restrict the number of valid states.
Final Substitutions
Specifies that the type is not allowed to be substituted in a substitution group if these are extensions or restrictions of the same base type. For example, suppose an Invoice contains a reference to a PO document. The PO document is derived from AccountingDocument. If PO document has the final="extensions" attribute, and PartialPO is defined as an extension from AccountingDocument, the Invoice cannot substitute PO with PartialPO.
Table 47. Complex and simpleType Properties

Free Stylus Studio XML Training: