Utilización de xsi:type

Si tiene elementos en el archivo XML cuyo tipo es un tipo complejo, el soporte de xsi:type del editor XML le permite seleccionar entre el tipo complejo y cualquier otro tipo complejo derivado del mismo.

La especificación del esquema XML le permite derivar los tipos por extensión. Por ejemplo, tiene un esquema XML y crea un tipo complejo para el mismo denominado Address. A continuación, añade algunos elementos básicos a Address como, por ejemplo, streetName y city.

Después de esto, deriva (por extensión) dos nuevos tipos complejos de Address: USAddress y UKAddress. Añade un elemento nuevo a USAddress denominado state, y también un elemento nuevo a UKAddress denominado postcode.

Después de realizar esto, crea dos elementos más: billTo y shipTo como tipos Address.

Cuando crea un documento de instancia XML para un elemento como billTo o Address, automáticamente se añadirá un atributo xsi:type al mismo. Por ejemplo:

<billTo xsi:type="ipo:Address">

El atributo xsi:type se utiliza para identificar los tipos complejos derivados y también como tipos complejos derivados del mismo.

En la vista Diseño del editor XML, habrá una lista disponible lo que le permite seleccionar la definición de tipo adecuada (Address, USAddress o UKAddress). La edición guiada del modelo de contenido reflejará la definición de tipo que seleccione. Por ejemplo, si selecciona USAddress, el elemento billTo puede contener un elemento state pero no puede contener un elemento postcode.

El ejemplo XML "Edición y validación de archivos XML" muestra el soporte xsi:type.

Para obtener más información acerca de xsi:type, consulte la sección Utilización de tipos derivados en documentos de instancia en Esquema XML Parte 0: Inicio.

Para obtener más información acerca de la semántica de validación cuando se utiliza xsi:type, consulte la sección Marcadores relacionados con el esquema en documentos que se están validando en Esquema XML Parte 1: Estructuras