An element that can contain other elements or that is allowed to contain attributes is a complex type.
There are four kinds of elements of complex type:
"element only" contain just other elements or attributes-but no text,
"empty" elements contain attributes-but never elements or text,
"mixed content" elements contain a combination of elements, attributes, and/or text-especially elements and text,
"text only" elements contain only text-and possibly attributes.
Within definitions, you can specify the allowable element content for the declaration:
When we created a local declaration, we did not include a name attribute in our definition.
Local definitions are not named, which are called anonymous complex types.
Global definitions are always named, so that they can be identified later.
definitions can also be used to create mixed and empty content models.
Mixed content models allow you to include both text and element content within a single content model.