Saltar al contenido principal

simpleContent

El elemento simpleContent se utiliza para describir el contenido de un elemento cuando el contenido es de un tipo simple (como una cadena de texto, un número, etc.).

Este elemento se puede combinar con las extensiones.

Tipo de contenido

Como elemento XSD destinado para el contenido de elementos, no se aplica a atributos.

Extensiones

Una extensión es una forma de agregar atributos o restricciones a un tipo de datos existente. Se definen mediante elementos XSD dentro de extension.

Una extensión se basa en un tipo de datos existente, el cual se especifica en el atributo base.

<xs:extension base="xs:integer">
<!-- Reglas -->
</xs:extesion>

Consideremos el siguiente documento XSD:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="velocidad" type="magnitud"/>

<xs:complexType name="magnitud">
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="unidad" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>

En el código anterior:

  • El elemento hijo de complexType es un simpleContent ya que el contenido del elemento <velocidad> es simple.
  • A su vez, se realiza una extensión del tipo decimal (que es el tipo de dato del contenido de <velocidad>), añadiendo un nuevo atributo unidad.
  • El atributo unidad es obligatorio y acepta como valores una cadena de texto.

Un documento XML válido sería el siguiente:

<velocidad unidad="km/h">60</velocidad>