XSD Solo texto


Los elementos complejos de solo texto pueden contener texto y atributos.


Elementos complejos de solo texto

Este tipo solo contiene contenido simple (texto y atributos), por lo que debemos agregar un elemento simpleContent a este contenido. Cuando se usa contenido simple, debemos definir una extensión o 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>

O bien:

<xs:element name="somename">
  <xs:complexType>
    <xs:simpleContent>
      <xs:restriction base="basetype">
        ....
        ....
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Sugerencia:Utilice los elementos extension o restriction para extender o restringir el tipo simple básico del elemento. Aquí hay un ejemplo de un elemento XML, 'shoesize', que contiene solo texto:

35

El siguiente ejemplo declara un tipo complejo, cuyo contenido se define como un valor entero, 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' haga referencia a este nombre (de este modo, 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>
Otras extensiones