Los últimos tutoriales de desarrollo web
 

XML Esquema elemento de extensión


<XML completo esquema de referencia

Definición y Uso

El elemento de extensión se extiende un simpleType existente o complexType elemento.

elemento de información

  • Parent elements: simpleContent, complexContent

Sintaxis

<extension
id=ID
base=QName
any attributes
>

(annotation?,((group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?)))

</extension>

(El signo? Declara que el elemento puede aparecer cero o una vez, y el signo * declara que el elemento puede aparecer cero o más veces dentro del elemento de extensión)

Atributo Descripción
id Opcional. Especifica un identificador único para el elemento
base Necesario. Especifica el nombre de un tipo incorporado los datos, un elemento simpleType, o un elemento complexType
any attributes Opcional. Especifica cualquier otro atributo con el espacio de nombres no esquema

Ejemplo 1

El siguiente ejemplo se extiende un simpleType existente mediante la adición de un atributo:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:simpleType name="size">
  <xs:restriction base="xs:string">
    <xs:enumeration value="small" />
    <xs:enumeration value="medium" />
    <xs:enumeration value="large" />
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="jeans">
  <xs:simpleContent>
    <xs:extension base="size">
      <xs:attribute name="sex">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="male" />
            <xs:enumeration value="female" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>

</xs:schema>

Ejemplo 2

En el siguiente ejemplo se extiende un elemento complexType existente mediante la adición de tres elementos:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

</xs:schema>

<XML completo esquema de referencia