Xalan

RECU-0229 (Recurso Ficha Técnica)

Descripción

Introducción

Es un librería destinada a la transformación de textos de XML con lenguajes basados en XSL(XSLT, XPath). El XML puede ser transformado en distintos formatos, como HTML u otro documento XML. Para realizar las transformaciones de documentos XML, Xalan funciona como un procesador de plantillas XSLT.

Además es compatible con JAXP, implementando la rama correspondiente a las transformaciones XSLT de dicha API. Es multiplataforma y funciona tanto en Linux como en Windows

La herramienta nos ofrece dos maneras de realizar transformaciones XSL:

  • La transformación se realiza en base a la interpretación y procesamiento de plantillas XSLT.
  • Primeramente se procesa la plantilla XSL creando un conjunto de clases Java. Después estas clases son aplicadas a un documento XML para realizar la transformación.

Usos y recomendaciones conocidas

  • Elaborada por Apache.
  • IBM Records Manager
  • Framework AME Endesa

Ventajas e inconvenientes

Ventajas:

  • Es multiplataforma, funciona tanto en linux como windows
  • Es compatible con JAXP, implementando la rama correspondiente a las transformaciones XSLT de dicha API.
  • La salida no tiene por qué ser HTML para visualización en un navegador, sino que puede estar en muchos formatos.
  • Permite manipular de muy diversas maneras un documento XML: reordenar elementos, filtrar, añadir, borrar, etc.
  • Permite acceder a todo el documento XML, no sólo al contenido de los elementos.
  • XSLT es un lenguaje XML, por lo que no hay que aprender nada especial acerca de su sintaxis.

Desventajas:

  • Su utilización es más compleja.
  • Consume cierta memoria y capacidad de proceso, pues se construye un árbol con el contenido del documento.

Requisitos e incompatibilidades

Xalan soporta los siguientes estándares y APIs:

  • JRE 1.3.x, 1.4.x, o 5.x
  • XSLT versión 1.0
  • XML Path Language (XPath) versión 1.0
  • SAX versión 2
  • DOM versión 3
  • JAXP versión 1.3
  • XERCES version 2.8.1 ( requiere la libreria xml-apis.jar)