In XML Schemas, the content model of elements is defined by their type. An XML document adhering to a schema can then only have elements that match the defined types. One distinguishes simple and complex types. A number of simple types are predefined in the specification, such as string , integer and decimal . A simple type cannot contain elements or attributes in its value, whereas complex types can specify nesting of elements and associations of attributes with an element.
Aggregation groups a set of existing elements into a new one.
Inheritance extends an already defined element so that it could stand in for the original. Imagine a software system where the code to process a document is shipped with the document itself. Let's look at cardinalities and namespaces .