When declaring an element that has simple content, you start with a basic element declaration:
<element name="phone">
<!-- Specify type here -->
</element>
Within the element declaration, you include a <complexType> declaration in which you specify that you want your element to have simple content.
You do this by creating a <complexType> declaration that contains a <simpleContent> element.
The <simpleContent> element indicates that the <complexType> cannot contain child elements.
It may contain attributes, but otherwise the content will be defined by a simple type.
<element name="phone">
<complexType>
<simpleContent>
<!-- Specify type here -->
</simpleContent>
</complexType>
</element>
Within the <simpleContent> element, you can create an <extension> declaration.
You must use an <extension> declaration because you will be extending an existing data type by adding attribute declarations.
<element name="phone">
<complexType>
<simpleContent>
<extension base="string">
<attribute name="kind" type="string" default="Home" />
</extension>
</simpleContent>
</complexType>
</element>
Any of the following examples are allowable <phone>elements based on the previous declaration:
<phone kind="Home">001-909-555-1212</phone>
<phone>001-909-555-1212</phone>
<phone />