El lenguaje del esquema XML permite basar una definición de tipo en otra definición de tipo. De este modo, se puede crear una jerarquía de tipos. En este tema se describen los conceptos de la herencia de tipo y se tratan algunos temas importantes relacionados con la sustitución.
Puede encontrar una descripción completa de la herencia de tipo del esquema XML en el sitio Web World Wide Web Consortium (W3C) o en los diferentes manuales que tratan acerca del esquema XML.
Un tipo es una restricción de su tipo base si los elementos del tipo derivado tienen un rango de valores legales menor (o miembros de tipo legal) que los elementos del tipo base.
Por ejemplo, una restricción de un tipo complejo puede disminuir el número de apariciones de uno de sus miembros de tipo o puede omitir dicho miembro de tipo por completo.
Del mismo modo, una restricción de un tipo simple puede ser menor que el valor de la facetaMáximo inclusive o mayor que el valor de la faceta Mínimo inclusive.
Un tipo es una extensión de su tipo base si los elementos del tipo derivado tienen un rango mayor de valores permitidos (o miembros de tipo permitidos) que los elementos del tipo base.
Por ejemplo, una extensión de un tipo complejo puede añadir miembros de tipo que no estaban presentes en el tipo base o puede permitir que un miembro de tipo se repita.
Del mismo modo, una extensión de un tipo simple siempre debe ser un tipo complejo basado en el tipo simple. No se puede ampliar un tipo simple ampliando su rango de valores permitidos.
Se aplican normas especiales a la derivación de los tipos simples. Un tipo simple no puede ampliar otro tipo simple. Esto garantiza que las restricciones impuestas por un tipo simple no se pueden suprimir derivando otro tipo simple del mismo.
No obstante, un tipo complejo puede ampliar un tipo simple. Esto no afecta el rango de valores permitidos del tipo simple pero permite añadir atributos. El resultado de ampliar un tipo simple siempre es un tipo complejo que contiene cero o más atributos.
El atributo final de un tipo complejo puede tomar tres valores con los efectos siguientes:
El esquema XML proporciona dos mecanismos de sustitución, los cuales utilizan la información de herencia de tipo para permitir o no las sustituciones.
La sustitución de elementos se controla mediante grupos de sustitución y se puede bloquear la sustitución de elementos o se puede permitir para extensiones y restricciones mediante los valores del propio elemento o del tipo del elemento.
La sustitución de tipo permite que el tipo de elemento se defina en el documento de la instancia, utilizando el atributo xsi:type del elemento, de modo que el tipo real del elemento no se conozca hasta que se haya analizado parcialmente el elemento. Este mecanismo también se puede bloquear o permitir basándose en el método de derivación de los tipos implicados.
Conceptos relacionados
Conceptos de diseño de mensajes
Objetos de modelo de mensaje
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ad10430_ |