Introducción a XSL y XSLT

Clasificado en Informática

Escrito el en español con un tamaño de 3,84 KB

XSL (eXtensible Stylesheet Language)

Introducción

XSL (eXtensible Stylesheet Language) es una familia de lenguajes basados en XML que consta de varios miembros:

  • XSLT: Un lenguaje para realizar transformaciones de documentos XML a otros formatos, incluido el propio XML.
  • XPath: Un lenguaje funcional (usado por XSLT) para acceder a secciones de un documento XML.
  • XSL-FO: Un vocabulario XML para especificar semánticas de formateo (discontinuado en 2013).
  • XQuery: Un lenguaje para realizar consultas en documentos XML.

XSLT (eXtensible Stylesheet Language for Transformations)

XSLT es un estándar del W3C que apareció recomendado por primera vez por este organismo en 1999. Actualmente hay tres versiones de este lenguaje: XSLT 1.0 (1999), XSLT 2.0 (2007), XSLT 3.0 (2017).

XSLT está basado en XML, de manera que cada hoja de transformaciones es un documento XML bien formado.

Se trata de un lenguaje declarativo que permite generar documentos en diferentes formatos de salida (XML, HTML, texto, PDF, RTF, etc.) a partir de un documento XML. Se describe como declarativo porque consiste en la declaración de una serie de reglas o plantillas que hay que aplicar a un documento XML para transformarlo en la salida deseada. Una regla asocia un patrón (expresión) con elementos del documento XML de partida y les aplica una serie de acciones.

Estas reglas se almacenarán en un documento de texto, que habitualmente tiene la extensión .xsl que, junto con el documento .xml de partida, serán pasados como parámetros a un procesador XSLT, que generará como salida el nuevo documento transformado.

Limitaciones de HTML

HTML presenta ciertas limitaciones a la hora de manipular datos:

  • No se puede cambiar el orden en el que los elementos de un documento HTML se visualizan (no puede ordenar elementos o filtrarlos según algún criterio).
  • No se pueden realizar operaciones, como sumar los valores de todos los elementos <precio> de un documento.
  • No se pueden combinar múltiples elementos, como todas las nóminas anuales de un empleado con el fin de obtener un total de ingresos y retenciones.

Procesamiento XSLT

El procesamiento XSLT se puede realizar en diferentes entornos:

  • En el servidor web: Mediante algún lenguaje de servidor (PHP, ASP.NET, JSP, etc.) que aplique la XSLT al XML y envíe de vuelta el HTML producido al cliente. Esta técnica está fuera de los contenidos de este módulo.
  • En el cliente web: El cliente web (Mozilla Firefox o Internet Explorer) realiza las transformaciones. Se puede hacer con JavaScript o con librerías que incluyen funcionalidades como tratamiento de documentos XML, transformaciones XSLT, procesamiento de expresiones XPath, etc.
  • Mediante una aplicación diferente: Se pueden usar programas de funcionamiento independiente para realizar estas transformaciones.

Fases del procesamiento XSLT

  1. La hoja de transformaciones es analizada y se convierte en una estructura de árbol.
  2. El documento XML es procesado y convertido en una estructura de árbol.
  3. El procesador XSLT se posiciona en la raíz del documento XML. Este es el contexto original.
  4. Los elementos (como las etiquetas HTML) que no formen parte del espacio de nombres de prefijo xsl son pasados a la cadena de salida sin modificarse. Se denominan elementos de resultado literal.
  5. El procesador XSLT sólo aplica una regla a cada nodo. Si tenemos dos reglas para el mismo nodo, el procesador sólo aplica una de ellas: la última en aparecer.

Entradas relacionadas: