Tarea XML
La tarea XML se usa para trabajar con datos XML. Mediante esta tarea, un paquete puede recuperar documentos XML, aplicar operaciones a los documentos mediante las hojas de estilos Extensible Stylesheet Language Transformations (XSLT) y expresiones XPath, mezclar varios documentos, o bien validar, comparar y guardar los documentos actualizados en archivos y variables.
Esta tarea habilita un paquete de Integration Services para modificar de forma dinámica los documentos XML en tiempo de ejecución. Puede usar la tarea XML para los siguientes objetivos:
Cambiar el formato de un documento XML. Por ejemplo, la tarea puede obtener acceso a un informe que reside en un archivo XML y aplicar dinámicamente una hoja de estilos XSLT para personalizar la presentación del documento.
Seleccionar secciones de un documento XML. Por ejemplo, la tarea puede obtener acceso a un informe que reside en un archivo XML y aplicar dinámicamente una expresión XPath para seleccionar una sección del documento. La operación también puede obtener y procesar valores en el documento.
Mezclar documentos de varios orígenes. Por ejemplo, la tarea puede descargar informes de varios orígenes y mezclarlos dinámicamente en un solo documento XML completo.
Puede incluir datos XML en un flujo de datos mediante un origen XML para extraer valores de un documento XML. Para obtener más información, vea Origen XML.
La primera acción que realiza la tarea XML es recuperar un documento XML específico. Esta acción se genera en la tarea XML y se produce automáticamente. El documento XML recuperado se usa como origen de los datos para la operación que realiza la tarea XML.
Las operaciones de XML de comparación (Diff), mezcla (Merge) y revisión (Patch) requieren dos operandos. El primer operando especifica el documento XML de origen. El segundo operando también especifica un documento XML, cuyo contenido depende de los requisitos de la operación. Por ejemplo, la operación de comparación compara dos documentos: por lo tanto, el segundo operando especifica otro documento XML similar con el que se compara el documento XML de origen.
La tarea XML puede usar una variable o un administrador de conexión de archivo como origen, o incluir los datos XML en una propiedad de tarea.
Si el origen es una variable, la variable especificada contiene la ruta del documento XML.
Si el origen es un administrador de conexión de archivos, el administrador de conexión de archivos especificado proporciona la información de origen. El administrador de conexión de archivos se configura de forma independiente de la tarea XML y se hace referencia a él en la tarea XML. La cadena de conexión para el administrador de conexión de archivos especifica la ruta del archivo XML. Para obtener más información, vea Administrador de conexión de archivos.
La tarea XML se puede configurar para guardar el resultado de la operación en una variable o en un archivo. Si se guarda en un archivo, la tarea XML usa un administrador de conexión de archivos para tener acceso al archivo. También puede guardar los resultados del DiffGram generado por la operación de comparación en archivos y variables.
Operaciones XML predefinidas
La tarea XML incluye un conjunto predefinido de operaciones para trabajar con documentos XML. Estas operaciones se describen en la siguiente tabla.
Operación |
Descripción |
---|---|
Comparación (Diff) |
Compara dos documentos XML. Usando el documento XML de origen como documento base, la operación de comparación lo compara con otro documento XML, detecta sus diferencias y escribe las diferencias en un documento DiffGram XML. Esta operación incluye propiedades para personalizar la comparación. |
Mezcla (Merge) |
Mezcla dos documentos XML. Usando el documento XML de origen como documento base, la operación de mezcla agrega el contenido de un segundo documento en el documento base. La operación puede especificar una ubicación de mezcla dentro del documento base. |
Revisión (Patch) |
Aplica el resultado de la operación de comparación, denominada documento DiffGram, en un documento XML para crear un nuevo documento principal que incluye contenido del documento DiffGram. |
Validación (Validate) |
Valida el documento XML con una Definición de tipo de documento (DTD) o esquema de definición del esquema XML (XSD). |
XPath |
Realiza consultas y evaluaciones XPath. |
XSLT |
Realiza transformaciones XSL en documentos XML. |
Operación de comparación
La operación de comparación se puede configurar para usar un algoritmo de comparación diferente dependiendo de si la comparación debe ser rápida o precisa. La operación también se puede configurar para seleccionar automáticamente una comparación rápida o precisa según el tamaño de los documentos que se comparan.
La operación de comparación incluye un conjunto de opciones que personalizan la comparación XML. Las opciones se describen en la siguiente tabla.
Opción |
Descripción |
---|---|
IgnoreComments |
Valor que especifica si se comparan los nodos de comentarios. |
IgnoreNamespaces |
Valor que especifica si se comparan el identificador uniforme de recursos (URI) de espacio de nombres de un elemento y sus nombres de atributos. Si esta opción se establece en true, dos elementos que tienen el mismo nombre local pero un espacio de nombres diferente se consideran idénticos. |
IgnorePrefixes |
Valor que especifica si se comparan los prefijos de nombres de elementos y atributos. Si esta opción se establece en true,, dos elementos que tienen el mismo nombre local pero un URI de espacio de nombres y prefijos diferentes se consideran idénticos. |
IgnoreXMLDeclaration |
Un valor que especifica si se comparan las declaraciones XML. |
IgnoreOrderOfChildElements |
Valor que especifica si se compara el orden de los elementos secundarios. Si esta opción se establece en true, los elementos secundarios que se diferencian solamente por su posición en una lista de elementos del mismo nivel se consideran idénticos. |
IgnoreWhiteSpaces |
Valor que especifica si se comparan los espacios en blanco. |
IgnoreProcessingInstructions |
Valor que especifica si se comparan las instrucciones de procesamiento. |
IgnoreDTD |
Valor que especifica si se pasa por alto el DTD. |
Operación de mezcla
Al utilizar una instrucción XPath para identificar la ubicación de mezcla en el documento de origen, se espera que esta instrucción devuelva un único nodo. Si la instrucción devuelve varios nodos, sólo se utiliza el primero. El contenido del segundo documento se combina bajo el primer nodo que devuelve la consulta de XPath.
Operación XPath
La operación XPath se puede configurar para usar diferentes tipos de funcionalidad de XPath.
Seleccione la opción Evaluación para implementar funciones XPath tales como sum().
Seleccione la opción Lista de nodos para devolver los nodos seleccionados como un fragmento XML.
Seleccione la opción Valores para devolver el valor de texto interno de todos los nodos seleccionados, concatenados en una cadena.
Operación de validación
La operación de validación se puede configurar para usar una Definición de tipo de documento (DTD) o un esquema de definición del esquema XML (XSD).
Codificación de documentos XML
La tarea XML únicamente admite la mezcla de documentos Unicode. Esto significa que la tarea puede aplicar la operación de mezcla únicamente a documentos con una codificación Unicode. El uso de otras codificaciones hará que la tarea XML genere un error.
[!NOTA]
Las operaciones de comparación y revisión incluyen una opción para omitir la declaración XML en los datos XML del segundo operando, lo que permite usar documentos que tienen otras codificaciones en estas operaciones.
Para comprobar que se puede usar el documento XML, revise la declaración XML. La declaración debe especificar explícitamente UTF-8, que indica una codificación Unicode de 8 bits.
La etiqueta siguiente muestra la codificación Unicode de 8 bits.
<?xml version="1.0" encoding="UTF-8"?>
Mensajes de registro personalizados disponibles en la tarea XML
La siguiente tabla contiene las entradas del registro personalizadas para la tarea XML. Para obtener más información, vea Implementar el registro en paquetes y Mensajes personalizados para registro.
Entrada del registro |
Descripción |
---|---|
XMLOperation |
Proporciona información sobre la operación que realiza la tarea. |
Configurar la tarea XML
Puede establecer propiedades a través del Diseñador de SSIS o mediante programación.
Para obtener más información acerca de las propiedades que puede establecer en el Diseñador de SSIS, haga clic en uno de los temas siguientes:
Para obtener más información sobre cómo establecer propiedades en el Diseñador SSIS, haga clic en el tema siguiente:
Configurar la tarea XML mediante programación
Para obtener más información sobre cómo establecer estas propiedades mediante programación, haga clic en el tema siguiente:
|