MÓDULO | NOMBRE TÉCNICO | PARÁMETROS | DESCRIPCIÓN |
---|---|---|---|
xmltransform20 | localejbs/com.realtech.adapter.orch.modules.core.ext.XMLTransform20EJBBean | xmltransform20.bean | Path al módulo “localejbs/com.realtech.adapter.orch.modules.core.ext.XMLTransform20EJBBean” |
xmltransform20.use_content_of | Nombre del módulo del que tomar el contenido que ha salido como resultado. | ||
xmltransform20.use_xslt_file | Marcar con ‘X’ para usar un fichero de transformación XSLT. | ||
xmltransform20.xslt_filename | Fichero con el mapping y lógica empleados en la transformación. | ||
xmltransform20.ex_mod | Determina el módulo a ejecutar cuando se capturen excepciones. | ||
xmltransform20.param_name[X] | Nombre del parámetro xsl que al que se asignará un valor al realizar la transformación. Puede haber varios, se especificarán de forma incremental, comenzando en 0, siguiendo con 1, 2, … Ej: “UsuarioId” | ||
xmltransform20.param_value[X] | Valor que se asignará al parámetro xsl, pudiendo ser: - un valor directo - un campo a extraer del contexto, debe estar indicado de la forma @{CAMPO}. Posibles valores de contexto: uid, externalUID, sender, receiver, serviceName, scenarioName. Valores sensibles a mayúsculas y minúsculas, si no coinciden, lanza excepción. -el payload de otro modulo: module{moduleName} codificado en base64. -El contenido de una entrada del hashmap del contexto sessionParameters. Para indicarlo se debe poner: sessionParameters{idHashMap} Puede haber varios, se especificarán de forma incremental, comenzando en 0, siguiendo con 1, 2, … Ej: “@{uid}”, “ValorFijo”, “@{core}” | ||
xmltransform20.treatAttachments | Indica si se debe añadir al XML de entrada el contenido del hashMap del contexto invoiceAttachments. Se añadirá al XML un segmento tal que el siguiente para poder ser usado en el XSLT: <Adjuntos> <adjunto> <nombre>Adjunto1</nombre> <adjunto>BASE_64_CONTENT_1</adjunto> </adjunto> <adjunto> <nombre>Adjunto2</nombre> <adjunto>BASE_64_CONTENT_2</adjunto> </adjunto> </Adjuntos> |
Desde el XSLT se puede llamar a cualquier metodo Java que se encuentre en la JDK o en las clases desarrolladas. Con tal fin se ha creado una clase estática de utilidades para ser llamada desde los XSLTs. La clase es com.realtech.efact.j2ee.ejb.mod.xmltransf20.util.XSLTJavaUtils.XSLTJavaUtils. Para utilizarla en el XSLT se debe definir el namespace:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="java" xmlns:utils="com.realtech.efact.j2ee.ejb.mod.xmltransf20.util.XSLTJavaUtils">
Y luego llamar a algún método estático. Ejemplo:
<xsl:value-of select="utils:crc32(h:invoice)" disable-output-escaping="yes"/>
Esta sentencia llamada al método crc32 de la citada clase y le pasa como valor lo que contenga la etiqueta invoice del xml de origen.