<< Clic para mostrar Tabla de Contenidos >> Aplicar transformaciones XLS |
Introducción
XML Helper hace parte del API de reglas de negocio de Bizagi, provee acceso a la información de sus procesos cuando trabaja con información estructurada XML, como se describe en XML Helper.
Esta sección muestra un ejemplo de cómo usar uno de los métodos de XML Helper, el método transformXmlAsString, que está orientado a aplicar el archivo de transformación XSL directamente a la información que se se ha obtenido del modelo de datos de Bizagi o de información que se actualizará en el modelo de datos de Bizagi.
Ejemplo
En el siguiente proceso de ejemplo, asumimos que tenemos una entidad paramétrica llamada Vendor.
Esta entidad tiene los siguientes registros:
Cuando se quieren obtener esos registros mientras se les da formato bajo una estructura XML diferente a la que es presentada por defecto en Bizagi, usted puede utilizar un archivo de transformación al usar el método CEntityXmlHelper.transformXmlAsString.
Para poder trabajar con archivos de transformación, se debe crear una definición de un esquema XSD que tenga la estructura XML esperada para la entidad dada.
Cree una definición de esquema en Bizagi Studio, y de forma similar, registre en esa misma opción, el archivo de transformación XLS dado para dicha entidad.
Para mayor información sobre predefinir esquemas, refiérase a Esquemas XML del modelo de datos.
Ahora, para el esquema de la entidad y para este ejemplo, utilizaremos el siguiente archivo de transformación:
Que contiene exactamente:
<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes" /><xsl:template match="/BizAgiWSResponse/Entities"><body><html><h1>Vendors</h1><table><tr><th>Code</th><th>Name</th></tr><xsl:for-each select = "Vendor"><tr><xsl:for-each select = "Code"><td><xsl:value-of select = "."/></td></xsl:for-each><xsl:for-each select = "Name"><td><xsl:value-of select = "."/></td></xsl:for-each></tr></xsl:for-each></table></html></body></xsl:template></xsl:stylesheet>
Por lo tanto y para manejar fácilmente la transformación en Bizagi, créela como un archivo .xsl, de tal forma que lo puede registrar y cargar a través de las misma opciones de Bizagi Studio:
Haga clic sobre Agregar para registrar la transformación y los detalles de la entrada (primordialmente, considere el Nombre que le asigna para poderlo referenciar desde las reglas de negocio):
Busque el archivo de transformación haciendo clic sobre Buscar archivo... y seleccione el archivo:
Una vez haya sido cargado, haga clic en OK. Puede verificar que el archivo de transformación esté listado.
Ahora para manejar la información en XML, utilice el método CEntityXmlHelper.transformXmlAsString dentro de una expresión en una regla de negocio de Bizagi:
El código en la expresión de la imagen es el siguiente:
var vendor_info = '<?xml version="1.0" encoding="UTF-8"?><BizAgiWSResponse><Entities><Vendor key="1"><Code>V001</Code>'
+ '<Name>IBM</Name><VType>A</VType></Vendor><Vendor key="3"><Code>V003</Code><Name>Apple</Name><VType>A</VType></Vendor>'
+ '<Vendor key="4"><Code>V004</Code><Name>Microsoft</Name><VType>A</VType></Vendor></Entities></BizAgiWSResponse>';
var vendor_transformation = CHelper.getXSL("Vendor", "Vendor_HTML");
CHelper.trace("my_trace",vendor_transformation);
var vendor_result = CEntityXmlHelper.transformXmlAsString(vendor_info, vendor_transformation);
CHelper.trace("my_trace",vendor_result);
Note que los registros de entrada de la entidad Vendor están quemados en el código de este ejemplo (vendor_info) pero esta información es compatible con lo que trae la invocación del métod CEntityXmlHelper.getEntitiesAsString.
Para mayor información sobre el método getEntitiesAsString, refiérase a Consultar información basada en XML en entidades.
CHelper.trace() y CHelper.getXSL()
Note en el ejemplo anterior que aunque se están utilizando otros dos métodos (tanto CHelper.trace como CHelper.getXSD) estos usualmente se pueden usar junto con CEntityXmlHelper.transformXmlAsString con otros propósitos:
•CHelper.trace: Le permite imprimir trazas personalizadas de valores y respuestas durante la ejecución de las reglas.
La imagen a continuación, muestra cómo se verían estas trazas:
Para más información sobre trazas, refiérase a Validar mi regla de negocio.
•CHelper.getXSD: Le permite obtener el esquema predefinido de una entidad, como fue configurado en Bizagi Studio.
La imagen a continuación muestra el esquema registrado para la entidad Vendor, nombrado Vendor_HTML (como se referencia en la expresión de ejemplo):
Para más información sobre predefinir esquemas, refiérase a Esquemas XML del modelo de datos.
Last Updated 1/26/2022 4:13:03 PM