Elementos compuestos solo de texto de XSD

Un elemento compuesto solo con texto puede contener texto y atributos.

Elemento compuesto solo con texto

Este tipo solo contiene contenido simple (texto y atributos), por lo que debemos agregar un elemento simpleContent a este contenido. Al usar contenido simple, debemos definir la extensión o restricción dentro del elemento simpleContent, como en el siguiente ejemplo:

<xs:element name="algún nombre">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="basetype">
        ....
        ....
      </xs:extension>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

o:

<xs:element name="algún nombre">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>     
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Consejo:Utilice los elementos extension o restriction para expandir o restringir el tipo básico del elemento.

Aquí hay un ejemplo de elemento XML, "shoesize", que contiene solo texto:

<shoesize country="france">35</shoesize>

Este ejemplo declara un tipo compuesto, cuyos valores se definen como enteros y el elemento "shoesize" contiene un atributo llamado "country":

<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 podemos asignar un nombre al elemento complexType y hacer que el atributo type del elemento "shoesize" referencie este nombre (mediante este método, varios elementos pueden referenciar el mismo tipo compuesto):

<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>