Comodines: xs:any / xs:anyAttribute
En este apartado explicamos cómo trabajar con comodines en asignaciones de datos. Los comodines xs:any (y xs:anyAttribute) permiten usar cualquier elemento o atributo de los esquemas. más información consulte la especificación de W3C.
Comodines en la definición del esquema
En la imagen siguiente puede ver el elemento xs:any en la vista Esquema de Altova XMLSpy. Este elemento se ha definido como elemento secundario del elemento Person.
Comodines en MapForce
Cuando se define un comodín para un elemento y/o atributo, el nodo comodín aparece con el icono (Cambiar selección) junto a él (imagen siguiente).
Selección de comodines
Cuando se hace clic en el botón Cambiar selección , aparece el cuadro de diálogo "Selección de comodines" (imagen siguiente). En este cuadro de diálogo se enumeran los elementos y atributos globales declarados en el esquema actual.
En este ejemplo hemos seleccionado Department. Observe que los elementos y atributos comodines se insertan tras el nodo al que acompaña el icono . Ahora el componente tiene este aspecto:
Ahora puede crear asignaciones entre estos nodos y cualquier otro elemento. En un componente puede reconocer los elementos y atributos comodines por el texto (xs:any) y (xs:anyAttribute) que aparece anexado (imagen anterior).
Eliminar comodines
Para eliminar un elemento comodín haga clic en el botón Cambiar selección y desactive su casilla en el cuadro de diálogo "Selección de comodines".
Agregar elementos de un esquema distinto como comodines
El cuadro de diálogo "Selección de comodines" (véase más arriba) permite usar como comodines los elementos de un esquema que no sea el asignado. Para poder ver estos elementos en el componente haga clic en el botón Importar un esquema distinto, donde podrá elegir entre (i) importar un archivo de esquema o (ii) generar un esquema contenedor (véase más abajo).
Importar un esquema
La opción Importar esquema importa el esquema externo en el esquema actual que está asignado al componente. Tenga en cuenta que esta opción sobrescribe el esquema actual del componente en el disco. Si el esquema actual es un esquema remoto que se abrió desde una dirección URL (véase Agregar componentes desde una URL) y no desde el disco, entonces no se podrá modificar. En este caso debe utilizarse la opción Generar esquema contenedor.
Generar un esquema contenedor
La opción Generar esquema contenedor crea un archivo de esquema nuevo que se denomina esquema contenedor. La ventaja de usar esta opción reside en que el esquema actual del componente no se modifica. Por el contrario, se creará un esquema nuevo (es decir, un esquema contenedor) que incluirá tanto el esquema actual como el esquema que se desea importar. Cuando haga clic en esta opción, MapForce preguntará dónde se debe guardar el esquema contenedor. El nombre predeterminado del esquema contenedor será somefile-wrapper.xsd.
Una vez guardado, el esquema contenedor se asigna automáticamente y por defecto al componente y aparece un aviso que le pregunta si quiere cambiar la ubicación del esquema para poder hacer referencia al esquema principal anterior. Haga clic en Sí para volver al esquema anterior y en No para que el esquema contenedor recién creado siga asignado al componente.
Comodines y nombres de nodo dinámicos
En algunos casos los elementos o atributos que aparecen en la instancia son demasiados. Por ejemplo, en esta instancia:
<?xml version="1.0" encoding="UTF-8"?>
<message>
<line1>1</line1>
<line2>2</line2>
<line3>3</line3>
................
<line999></line999>
</message>
Para casos como este, en lugar de comodines, se recomienda un acceso dinámico a los nombres de nodo (véase Asignar nombres de nodos).