Saltar al contenido

XSL Transform

Introducción

El complemento XSL Transform aplica una hoja de estilo XSL Transform (XSLT) a un archivo de entrada a medida que pasa del origen al destino. El complemento utiliza el procesador Saxon XSLT, que admite XSLT 2.0.

Este complemento solo se puede asociar con Grupos de Agentes Privados y no está disponible en los Grupos de Agentes en Nube.

Importante

Los complementos proporcionados por Jitterbit están en desuso. Consulte Desuso y soporte en Complementos.

Descargue y Agregue el Complemento

El complemento XSL Transform es un complemento Jitterbit estándar que ya está disponible en Management Console Complementos y no es necesario descargarlo ni agregarlo a la organización.

Si lo indica el soporte de Jitterbit, este complemento se puede descargar en el enlace que se proporciona a continuación y agregarlo a la organización (consulte Agregar nuevos complementos en Personalizaciones > Complementos).

Asociar el Complemento con un Grupo de Agentes

El complemento XSL Transform debe estar asociado con un Grupo de Agentes Privados para que el complemento esté disponible en todos los agentes del grupo (consulte Asociar grupos de Agente en Personalizaciones > Complementos).

El complemento aparece en la Management Console Complementos página con un nombre para mostrar de Jitterbit XSL Transform.

Establecer Variables y Usar el Complemento en un Proyecto

Consulte estos temas para obtener información sobre el uso de complementos en un proyecto:

El complemento XSL Transform utiliza estas variables:

Nombre Tipo Requerido Descripción
XSLT.stylesheet Cadena Opcional Hoja de estilo XSLT en texto plano.
XSLT.stylesheet_filename Cadena Opcional Nombre de un archivo que contiene la hoja de estilo XSLT a aplicar. El valor puede ser una ruta absoluta o una ruta relativa al directorio de instalación del complemento .

Ejemplo

Un ejemplo típico es recuperar datos de un servicio web y enviarlos a un segundo servicio web. En este ejemplo, los datos obtenidos del servicio web de origen tienen espacios de nombres (ns1). Sin embargo, el servicio web de destino no necesita los espacios de nombres. Al utilizar el complemento XSL Transform, los espacios de nombres se eliminarán de los datos del servicio web de origen antes de llamar al servicio web de destino.

Estos pasos describen cómo utilizar el complemento XSL Transform para eliminar los espacios de nombres de los datos del servicio web de origen y luego llamar al servicio web de destino. Los pasos utilizan Design Studio como ejemplo; puede utilizar este complemento en Cloud Studio siguiendo pasos similares.

  1. Acceda al archivo de manifiesto del complemento XSL Transform a través de la Management Console Complementos página (consulte Ver archivos de manifiesto en Personalizaciones > Complementos).

  2. Lea el manifiesto para encontrar la ubicación donde el complemento espera que se instale Java. Verifique que Java esté instalado en esa ubicación. Si Java está en una ubicación diferente en Agente Privado, debe realizar estos pasos en cada agente del grupo:

    1. Detener al Agente Privado.
    2. Busque la carpeta del complemento en Agente Privado.
    3. Edite el archivo de manifiesto para que apunte a la ubicación correcta de Java.
    4. Reinicie el Agente Privado.
  3. En Design Studio, cree un nuevo secuencia de comandos para eliminar los espacios de nombres como se muestra en este secuencia de comandos de ejemplo:

    <trans>
    $XSLT.stylesheet = '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    xmlns:ns1="urn:microsoft-dynamics-nav/xmlports/x50001" exclude-result-prefixes="ns1">
    <xsl:output method="xml" encoding="utf-8" indent="yes"/>
    <xsl:strip-space elements="*"/
    <xsl:template match="ns1:*">
    <xsl:element name="{local-name()}" namespace="urn:microsoft-dynamics-nav/xmlports/x50001">
    <xsl:apply-templates select="node() | @*"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="node() | @*">
    <xsl:copy>
    <xsl:apply-templates select="node() | @*"/>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet> ';
    </trans>
    

    Nota

    El nombre de la variable en el secuencia de comandos anterior es importante. Debe utilizar el mismo nombre de variable que busca el complemento. El complemento busca específicamente XSLT.stylesheet y utiliza el valor asignado a él en el secuencia de comandos.

  4. Cree una operación y utilice el secuencia de comandos en cualquier parte del flujo de operación. En la operación que se muestra a continuación, el secuencia de comandos se denomina Código XSLT.

    abre el diálogo

  5. Aplique el complemento en el punto donde se llama al servicio web. En la operación de ejemplo anterior, el servicio web se denomina createInvoice. Para abrir el cuadro de diálogo Complementos de canalización, haga clic derecho en el servicio web y seleccione Complemento en el menú:

    asignar el complemento

    1. El complemento se asignó al Agente Privado en pasos anteriores, lo que permite que Design Studio vea y muestre el complemento en la sección Complementos disponibles en la mitad inferior del cuadro de diálogo. Si el complemento no se muestra inmediatamente, haga clic en el botón Actualizar en el cuadro de diálogo.
    2. Debe seleccionar Posición de tubería. En este ejemplo, se llama al complemento cuando se envía la entrada, lo que ocurre al realizar la solicitud al servicio web. La opción WebServiceCall - OnRequest está seleccionada.
    3. Haga clic en el botón Asignar.
  6. El complemento XSL Transform ahora se muestra en la sección Actualmente asignado del cuadro de diálogo. Haga clic en el botón Aplicar para asignar el complemento y haga clic en Aceptar para cerrar el cuadro de diálogo:

    aplicar el complemento

  7. Guarde e desplegar la operación. La operación está completa y está lista para probar.