Elementos de solo texto XSD
Un elemento complejo de solo texto puede contener texto y atributos.
Elementos complejos de solo texto
Este tipo contiene solo contenido simple (texto y atributos), por lo tanto, agregamos un elemento simpleContent alrededor del contenido. Al usar contenido simple, debe definir una extensión O una restricción dentro del elemento simpleContent, así:
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
OR
<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Sugerencia: use el elemento de extensión/restricción para expandir o limitar el tipo simple base para el elemento.
Este es un ejemplo de un elemento XML, "shoesize", que contiene solo texto:
<shoesize country="france">35</shoesize>
El siguiente ejemplo declara un complexType, "shoesize". El contenido se define como un valor entero y el elemento "shoesize" también contiene un atributo denominado "país":
<xs:element name="shoesize">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
También podríamos darle un nombre al elemento complexType y dejar que el elemento "shoesize" tenga un atributo de tipo que haga referencia al nombre del complexType (si usa este método, varios elementos pueden hacer referencia al mismo tipo complejo):
<xs:element name="shoesize" type="shoetype"/>
<xs:complexType name="shoetype">
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>