Tutoriales de informática - Abrirllave.com

Abrirllave.com

Elementos complejos en XSD (XML Schema)

Un elemento es complejo (complexType) cuando contiene uno o más elementos y/o atributos. De entre las posibles combinaciones de elementos y/o atributos que puede contener un elemento complejo (1 elemento y 0 atributos, 1 elemento y 1 atributo, 1 elemento y varios atributos, 0 elementos y 1 atributo...) cabe destacar las siguientes:

Elemento vacío

EJEMPLO En el siguiente código se ha definido vacío el elemento "bola", no pudiendo contener ni otros elementos ni texto. Ahora bien, véase que sí tiene un atributo, llamado numero:

<xs:element name="bola">
  <xs:complexType>
    <xs:attribute name="numero" type="numeroDeBola"/>
  </xs:complexType>
</xs:element>

<xs:simpleType name="numeroDeBola">
   <xs:restriction base="xs:positiveInteger">
      <xs:minInclusive value="1"/>
      <xs:maxExclusive value="90"/>
   </xs:restriction>
</xs:simpleType>
Ejercicio resuelto

Contenido mixto

Fíjese que, en el siguiente código se ha definido el elemento "persona" de tipo complejo mixto (mixed="true"):

<xs:element name="persona">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="nombre" type="xs:string"/>
      <xs:element name="ciudad" type="xs:string"/>
      <xs:element name="edad" type="xs:positiveInteger"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
Ejercicio resuelto