Los últimos tutoriales de desarrollo web
 

Elementos de sólo texto XSD


Un elemento de sólo texto complejo puede contener texto y atributos.


Elementos de texto de sólo complejos

Este tipo sólo contiene contenido simple (text and attributes) , por lo tanto, le añadimos un elemento simpleContent todo el contenido. Cuando se utiliza un contenido simple, debe definir una extensión o una restricción en el elemento simpleContent, como esto:

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

Tip: Utilice el elemento de extensión / restricción para ampliar o limitar el tipo simple de base para el elemento.

Este es un ejemplo de un elemento XML, "shoesize" , que contiene sólo texto:

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

El siguiente ejemplo declara un complexType, "shoesize" . El contenido se define como un valor entero, y el "shoesize" elemento también contiene un atributo denominado "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 podríamos dar al elemento complexType un nombre, y dejar que el "shoesize" elemento tiene un atributo de tipo que se refiere al nombre de la tipoCompuesto (si se utiliza este método, varios elementos se refieren 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>