Los comodines xs:any (y xs:anyAttribute) permiten usar cualquier elemento o atributo de los esquemas. En la imagen siguiente puede ver el elemento any en la vista Esquema de XMLSpy.
En MapForce los elementos xs:any (o xs:anyAttribute) aparecen acompañados del botón Cambiar selección .
Cuando se hace clic en el botón Cambiar selección , aparece el cuadro de diálogo "Selección de comodines". En este cuadro de diálogo se enumeran los elementos y atributos globales declarados en el esquema actual.
Si marca una de las casillas y hace clic en Aceptar para confirmar, MapForce inserta el elemento/atributo (y sus nodos secundarios) en el componente. Los elementos o atributos comodines se insertan inmediatamente después del nodo cuyo botón Cambiar selección accionó el usuario.
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) que aparece anexado. |
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".
Por lo general, asignar datos a comodines o viceversa es adecuado si todos los atributos o elementos posibles que aparecen en la instancia XML están declarados por el esquema XML del componente (o si se pueden importar de esquemas externos). Sin embargo, en algunos casos los elementos o atributos que aparecen en la instancia son demasiados. Por ejemplo, en esta instancia el número de elementos secundarios de <message> es aleatorio:
<?xml version="1.0" encoding="UTF-8"?> |
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).
También puede 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 del cuadro de diálogo "Selección de comodines". Esto abre un cuadro de diálogo nuevo que ofrece dos opciones:
1.Importar un esquema o
2.generar un esquema contenedor.
Por ejemplo, en la imagen siguiente puede ver lo que ocurre si intenta importar un esquema externo llamado HasExpenses.xsd en el esquema actual que está asignado a un componente.
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.
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á archivo-wrapper.xsd. Una vez guardado, el esquema contenedor se asigna automáticamente y por defecto al componente y aparece este aviso:
Haga clic en Sí para volver al esquema anterior y en No para que el esquema contenedor recién creado siga asignado al componente.