XSL: Lenguaje de hojas de estilo extensible

Leyendo una publicación a la que hago referencia al final del artículo, creí una buena oportunidad para hacer un acercamiento a la familia de lenguajes basados en XML, más específicamente XSL y más específicamente aún XSLT.

XSL, representa lo las siglas Extensible Stylesheet Language (lenguaje de hojas de estilo extensible), la T que agrega XSL (XSLT) correndonde a “Transformations”. Otros lenguajes de la familia son XSL-FO (Formatting Objects) y XPath o XML Path Language (no basado en XML) y utilizado para refererise a porciones o ramas de un documento xml específicando su path.

XSLT nos permite describir la forma en que serán formateados o transformados los archivos codificados en XML para ser mostrados.

XSL

Debido a la creciente manipulación de archivos XML, no está de más conocer un poco de XSLT para poder recuperar información de nuestros archivos pero de una forma elegante para su visualización.

En esta introducción nos limitaremos a un ejemplo práctico, y es importante saber que por hacer esto no significa que somos expertos en XSLT, al contrario, pero por algún lugar se empieza ¿no?

Bien, imagina que tenemos el siguiente archivo xml con información de libros:

  1. <!--?xml version="1.0" encoding="iso-8859-1"?-->
  2.  
  3. El Hobbit
  4. J.R.R. Tolkien
  5. Anaya
  6. elhobbit.com
  7.  
  8. El Caballo de Troya
  9. J.J. Benitez
  10. CIFI
  11. elcaballodetroya.com
  12.  
  13. 1984
  14. George Orwell
  15. Raven
  16. georgeorwell.com

Ahora, imagina que queremos mostrar en forma prolija y ordenada un listado LIBRO – AUTOR.

Para hacer esto, debemos escribir un documento XSLT y utilizar la etiqueta xsl:for-each con la cual recorreremos todos los libros dado un path (en nuestro caso LIBROS/LIBRO) gracias al atributo select de la etiqueta.

Luego, para cada uno de los valores de los elementos de LIBROS, con la etiqueta xsl:value-of los recuperarmos y los incluiremos en un documento que combina etiquetas de XHTML (por ejemplo, la etiqueta BR).

Entonces el código del documento XSLT quedaría así:

  1. Titulo:
  2. Autor:

Y la visualización sería así:

Titulo:El Hobbit
Autor:J.R.R. Tolkien

Titulo:El Caballo de Troya
Autor:J.J. Benitez

Titulo:1984
Autor:George Orwell

Finalmente, para ordenarlo debemos utilizar la etiqueta xsl:sort dentro de la iteración xsl:for-each:

Y así termina el primer acercamiento de este blog a la familia de lenguajes XML, esperemos seguir transitando esta senda juntos.

Vía: Linea de Codigo

Tags: , , , ,


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.