Varios esquemas fuente
Si quiere, puede usar varios esquemas fuente en su diseño SPS. Así podrá combinar datos de varios documentos XML en los documentos de salida. Por ejemplo, en un documento XML puede tener la estructura de una organización, con todos sus departamentos. Y en otro documento XML puede tener la lista de empleados de cada departamento. En el documento de salida se combina la estructura de datos de la organización (primer documento XML) y los datos de los empleados (segundo documento XML).
Nota: | si dos elementos globales o más de los esquemas utilizados tienen el mismo QName expandido, los nombres estarán en conflicto y uno o varios documentos de esquema se considerarán no válidos. Por tanto, asegúrese de que no haya elementos globales con el mismo nombre QName expandido en los esquemas utilizados. Los elementos locales de los esquemas pueden tener el mismo QName expandido sin que se produzca un conflicto. |
Agregar varios esquemas
Para poder combinar los datos XML dinámicos de varios documentos, primero debe añadir los diferentes esquemas al diseño SPS. Esto se hace en la ventana Vista general del diseño (imagen siguiente). Una vez añadidos los esquemas, se crea un árbol para cada uno de ellos en la ventana Estructura del esquemas (imagen siguiente). Por cada uno de los esquemas añadidos puede elegir un archivo XML de trabajo, una plantilla XML y elementos raíz (ver imagen siguiente y el tema Ventana Vista general del diseño). Los elementos globales de todos los esquemas añadidos se enumeran en el árbol Todos los elementos globales de la ventana Estructura del esquema y se pueden utilizar como plantillas globales.
Recuerde que solamente puede habilitar el uso de firmas XML para el esquema principal.
Cada esquema fuente se identifica con un parámetro cuyo formato es \$XML1 (para DTD o esquemas XML), \$DB1 (para esquemas de BD) o \$USER1 (para esquemas definidos por el usuario). Estos tres tipos de esquema se pueden combinar en un mismo SPS (imagen siguiente). No obstante, recuerde que puede añadir tantos esquemas XML y DTD como quiera pero solo un esquema de BD y un esquema definido por el usuario.
Seleccionar el esquema principal
Entre todos los esquemas añadidos al SPS puede elegir uno y designarlo esquema fuente principal. En las ventanas Estructura del esquema y Vista general del diseño el esquema principal aparece resaltado con la palabra (principal). El nodo de documento del documento XML que corresponde al esquema principal será el punto de partida de la transformación. Para designar un esquema como esquema principal, haga clic en él con el botón derecho (en la ventana Vista general del diseño) y en el menú contextual seleccione Establecer como esquema fuente principal.
Agregar nodos de esquemas diferentes al diseño
Dentro de la plantilla principal del SPS puede añadir nodos de diferentes esquemas: seleccione el nodo en el árbol del esquema pertinente y arrástrelo hasta la plantilla principal. Las plantillas globales se crean igual que cuando el diseño tiene un solo esquema fuente. Se pueden copiar o pueden ser utilizadas por una plantilla local o en lugar de la plantilla principal cuando se invocan con una instrucción resto-de-contenido desde la plantilla principal.
Usar parámetros de esquema en transformaciones externas
Como decíamos, cada uno de los esquemas añadidos al SPS se identifica con un parámetro: \$XML1 (para DTD o esquemas XML), \$DB1 (para esquemas de BD) o \$USER1 (para esquemas definidos por el usuario). StyleVision conoce el archivo XML de trabajo asociado a cada esquema y, por tanto, la aplicación puede acceder a los nodos de documento adecuados y mostrar los datos de las fuentes XML en la vista Authentic y en las demás vistas previas. Sin embargo, si quiere generar hojas de estilos a partir del SPS, las hojas de estilos no incluyen asociaciones con archivos XML. Para asociar un archivo XML a cada esquema dentro de la hoja de estilos XSLT, debe enviar la ubicación de cada archivo XML como valor del correspondiente parámetro del esquema. Por ejemplo, el parámetro de esquema \$XML, en el ejemplo de la imagen anterior, tendría el valor "[path]NanonullOrg.xml".
Notas:
•En el caso de los esquemas de BD, como valor del parámetro \$DB debe pasar el archivo XML generado a partir de la BD (con el comando de menú Archivo | Guardar archivos generados).
•Los valores enviados al parámetro del esquema principal se ignoran. La hoja de estilos XSLT usará como punto de partida el nodo de documento del documento XML que se está transformando.