XSLT

Crear una tabla a partir de datos XML

05/Sep/2009

A la hora de presentar datos una de los artificios más usados son las tablas. Con el lenguaje HTML es muy sencillo el montar una de ellas. Nos basta con controlar las etiquetas TABLE, TR y TD.

En el siguiente ejemplo utilizaremos XSLT para montar una tabla XHTML. Los datos de dicha tabla serán los datos que vayan en el XML. Para ello, lo primero que haremos será crear nuestro documento XML con la información a mostrar. Usamos un XML que representa información de libros:



  
    Fuente Ovejuna
    Lope de Vega
    84-9815-002-7
  
  
    La Celestina
    Fernando de Rojas
    84-96390-96-9
  
  ...

Básicamente, como descripción de nuestro ejemplo, lo que vamos a hacer es recorrer los elementos de un path determinado e ir creando filas de la tabla.

Pero vamos por partes. Lo primero que tenemos que hacer en nuestro documento XSL, dentro de la plantilla principal es declarar la cabecera de la tabla:





  

Mis Libros

Una vez que tenemos la cabecera, tenemos que iterar por los elementos. Para cada fila hay que crear una etiqueta TR, que es una fila, y para cada elemento una etiqueta TD, que es una celda. Quedándonos el siguiente código:


  

Podemos comprobar que estamos mezclando el código XHTML con el código XSLT sin ningún problema. Para recorrer los elementos del documento XML utilizamos la etiqueta xsl:for-each, la cual, mediante el atributo select identifica un path en el árbol XML. En nuestro ejemplo, al mostrar los contenidos de los libros, el path será libros/libro.

Los valores de los elementos son recuperados mediante el xsl:value-of, que al igual que sucede con xsl:for-each, tiene un atributo select con el elemento XML a recuperar.

Solo nos quedará el cerrar la tabla dentro de la plantilla. El código más sencillo de todos:

     
Titulo Autor

Aunque sea algo obvio, cabe recordar, que en el documento XML hay que crear un enlace al documento de transformación XSLT.

Suscribir
Notificar de
guest
3 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios