Rational Developer for System z, Versión 7.6.1

Herencia de tipos

El lenguaje de esquema XML permite que una definición de tipo se base en otra definición de tipo. De esta manera, puede construirse una jerarquía de tipos. Este tema describe los conceptos de herencia de tipos y resalta algunos temas importantes relacionados con la sustitución.

Puede encontrar una descripción completa del tipo de esquema XML en el sitio Web del World Wide Web Consortium (W3C) o en numerosas publicaciones acerca del esquema XML.

restricción y extensión

Un tipo es una restricción de su tipo base si elementos del tipo derivado tienen un rango más reducido de valores legales (o miembros de tipo legal) que los elementos del tipo base.

  • Por ejemplo, una restricción de un tipo complejo puede reducir el número de ocurrencias de sus miembros de tipos o pueden omitir dicho miembro de tipo completamente.
  • De forma similar, una restricción de un tipo simple puede reducir el valor de la faceta Máx inclusive o aumentar el valor de Mín inclusive.

Un tipo es una extensión de su tipo base si elementos del tipo derivado tienen un rango más amplio de valores legales (o miembros de tipos legales) que los elementos del tipo base.

  • Por ejemplo, una extensión de un tipo complejo puede añadir que están presentes en el tipo base o pueden permitir que un miembro de tipo se repita.
  • De forma similar, una extensión de un tipo simple debe siempre ser un tipo complejo que está basado en el tipo simple. (No es posible extender un tipo simple ampliando su rango de valores legales)

Para la derivación de los tipos simples se aplican reglas especiales. Un tipo simple no puede extenderse a otro tipo simple. Esto asegura que las restricciones impuestas por un tipo simple no pueden ser eliminadas derivando otro tipo simple del mismo.

Sin embargo, un tipo complejo puede extenderse un tipo simple. Esto no afecta al rango de valores del tipo simple pero permite que se añadan atributos. El resultado de ampliar un tipo simple es siempre un tipo complejo que contiene cero o más atributos.

Controlar la herencia de tipos

El atributo final en un tipo complejo puede tener tres valores, con los siguientes efectos:

  • restriction: Es ilegal derivar otro tipo complejo a partir de este tipo de restricción.
  • extension: es ilegal derivar otro tipo complejo a partir de este tipo mediante la extensión.
  • all: es ilegal derivar otro tipo complejo a partir de este tipo mediante la extensión o restricción

Herencia y sustitución de tipos

El esquema XML proporciona dos mecanismos de sustitución distintos, los cuales utilizan la información de tipos de herencia para permitir o no las sustituciones.

La sustitución de elementos está controlada por los grupos de sustitución; la sustitución de elementos puede bloquearse o permitirse para la extensión y restricción mediante valores en los elementos o en el tipo del elemento.

La sustitución de tipos permite que se defina el tipo del elemento dentro del documento de instancia, utilizando el atributo xsi:type en el elemento, para que el tipo real del elemento no sea conocido hasta que el elemento haya sido particularmente analizado. Este mecanismo también puede ser bloqueado o permitido basándose en el método de derivación de los tipos implicados.


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)