4. Results and Discussions
4.2 Repellency & Durability
4.2.3 Polyester
4.2.3.7 Additional Tests
MXSLT es una herramienta desarrollada con Java sobre su plataforma de desarrollo Netbeans5, cuyo objetivo original fue proporcionar un escenario para generar automáticamente ontologías de dominio en lenguaje OWL desde diagramas de clases UML especificados en formato XMI, mediante traductores implementados con XSLT. Luego se extendió el alcance de la herramienta, de modo que permite crear escenarios dinámicos para cambiar la estructura de documentos XML de modo general, mediante hojas de estilo en lenguaje XSLT. El nombre de la herramienta se debe a su facilidad para ejecutar Múltiples XSLT, con diferentes procesadores.
En la herramienta se pueden definir perfiles o escenarios que persisten aún cuando se cierra la aplicación, de modo que puedan ser usados por tanto tiempo, como el usuario los necesite y no se pierden al terminar la aplicación. En un escenario, el usuario define la categoría de los documentos de entrada y salida, así como los traductores en XSLT para procesarlos. Cuando se tiene más de un traductor para los formatos entrada y salida que se han especificado en un escenario, la herramienta permite seleccionar cualquiera de los traductores aunque siempre existirá uno definido como favorito. El traductor favorito es especificado a criterio de los expertos para guiar a nuevos usuarios que carezcan de criterio de selección. También es posible seleccionar el procesador con el cual se interpreta el XSLT. En los siguientes subepígrafes se explica dada módulo o vista de la herramienta.
3.1.1 Definición de estructuras
La herramienta permite definir grupos de documentos con igual estructura en la opción “Formatos”, estos grupos de documentos organizan los formatos de los documentos de entrada y salida. En Figura III-1 se muestra una lista con ejemplos de diferentes formatos (1), en la que se pueden incorporar nuevos formatos, modificar o eliminar los existentes. Esta opción es puramente descriptiva, se hace para agrupar los diferentes documentos XML, facilitando su elección a la hora de transformar.
Para identificar y diferenciar los formatos, se debe almacenar de cada uno un nombre (2), que generalmente está dado por las siglas que definen la extensión. Es importarte conocer las aplicaciones (3) que son capaces de exportar a este formato, ya que a pesar de que mucho de ellos son estándar todas las aplicaciones no lo generan de forma similar, por lo que viene bien agregar una descripción general (4) en la cual se puede aclarar cualquier detalle que guie a los usuarios.
Figura III-1. Interfaz visual para definir los formatos de los documentos de entrada y salida.
Teniendo definido varios formatos, se puede agregar los documentos XSLT que se van a utilizar para la transformación entre ellos, no es necesario que los formatos se definan antes de agregar los documentos XSLT.
3.1.2 Especificación de los XSLT
En la interfaz de la Figura III-2 se muestra una lista de los diferentes XSLT que se han incorporado a la herramienta (1), facilitando su eliminación, edición o creación. De cada XSLT es importante
guardar un nombre que lo identifique (2), en el ejemplo se distinguen por el nombre del autor, y en caso de que un mismo autor tenga varios, se le ha agregado la fecha de creación. Es importante definir con exactitud el formato que es capaz de interpretar como el que será producido como salida por el XSLT (3). Si no existe el formato con las características deseadas, aunque haya alguno bastante similar, se recomienda crear uno nuevo para evitar errores en la conversión.
Figura III-2. Interfaz visual para definir los documentos XSLT.
En la Figura III-2 se muestra en (5) la opción de direccionar el archivo XSLT, el cual después de cargado, se puede almacenar junto al resto de los archivos de la aplicación (4), facilitando la movilidad y el trabajo estable de la misma. Una descripción general del documento XSLT se puede encontrar en (7) donde se puede describir información relevante que ayude a la selección o utilización de los documentos XSLT. El procesador XSLT que se utilice para un documento determinado, se puede seleccionar en procesador XSLT recomendado (6), este puede ser seleccionado según su autor, o por la experiencia de un especialista.
Cuando se cuenta con varios documentos XSLT para convertir entre dos formatos se puede definir cuál es el mejor de todos con la opción “Sugerir” (8), de esta manera será el documento que se muestre como favorito cuando se seleccione el formato de documentos para entrada y salida correspondientes.
3.1.3 Selección de los procesadores de XSLT
Con los diferentes escenarios creados se puede utilizar la aplicación para la conversión entre las diferentes estructuras XML. Para esto se cuenta con la opción “Procesar”.
Figura III-3. Escenarios para procesar documentos XML mediante XSLT
En la Figura III-3 se presenta la ventana principal de la aplicación donde se puede seleccionar el formato que se quiere convertir (1) y el formato de salida que se quiere obtener (2). Automáticamente, cada vez que se cambie de selección, saldrán todos los documentos que se pueden utilizar para la traducción entre los formatos seleccionados, siempre mostrando al documento definido como favorito por defecto (3), aunque es posible cambiar para otro en caso que se desee.
Al igual que con el documento XSLT sucede con el procesador (4), se muestra el que se seleccionó por defecto, aunque da la posibilidad de cambiarlo. El botón “Convertir” (7) ejecuta la transformación del documento origen (5), con el documento y el procesador XSLT al documento destino (6) todos previamente seleccionados.
La aplicación permite ejecutar tres procesadores XSLT diferentes: JAXP (Java API for XML Processing): Versión que viene junto al NetBeans 6.9.1, SAXON6: Versión 9.3.0.2, y XALAN7:
6
www.saxonica.com/welcome/welcome.xml 7 xml.apache.org/xalan-j
Versión 2.7.1. Además es posible implementar nuevos procesadores con solo heredar de la clase “XSLTProcessor” e implementar el método “Translate”.
Se implementaron varios procesadores XSLT y se dio la posibilidad de seguir extendiéndolos porque a pesar de que el lenguaje XSLT es un estándar, este cuenta con varias versiones e iniciativa para crear un conjunto de extensiones que serían relativamente estándar como EXSLT (Extended XSLT), lo que posibilita que algunos procesadores tengan implementados algunas funciones que otros no poseen, por lo que en vez de decidir cuál es mejor procesador que lo incluya todo (que puede que no exista) la herramienta cuenta con varios, y solo habría que usar el que el autor del XSLT utilizo y en caso de que este no este implementado, se da la posibilidad de evaluar de los que hay, cual es el más compatible.
3.1.4 Consideraciones finales sobre la herramienta
Toda la lógica de la herramienta esta implementada en la librería MXSLT. Business con la cual se puede crear nuevos perfiles, editarlos y ejecutarlos sin la necesidad de la interfaz; en fin, utilizar todas las bondades de la herramienta a través de la librería; además de poder interactuar con los perfiles creados por la herramienta. Esta librería le facilita el trabajo a otras aplicaciones que necesitan la conversión entre formato XML para lograr su propósito.