Cómo transformar los feeds en formatos legibles para el usuario

(16 comentarios)

Este es uno de los puntos menos amigables para el usuario que se pueden encontrar en una web. Cuando un usuario no sabe qué es un feed, ver código XML al abrir un archivo puede resultar muy desconcertante.

Por eso es obligatorio transformar el feed en una salida que muestre información sobre qué es ese archivo y cómo utilizarlo. Feedburner ofrece este servicio, pero estamos limitados a las salidas que ellos nos proponen. Nosotros vamos a ver cómo utilizar XSLT y CSS para crear el documento que queramos. Podéis ver un ejemplo en el feed RSS2 de Mundo geek.

XSLT (eXtensible Stylesheet Language Transformations) es un lenguaje de la W3C que permite transformar documentos XML en otros formatos, por ejemplo HTML. XSLT funciona a base de plantillas, de la forma:

<xsl:template match="foo">
R1
R2
R3...
</xsl:template>

Las reglas R1-R3 se aplican cuando en el documento XML original se encuentre una etiqueta foo. Estas reglas podrían ser, por ejemplo, mostrar un cierto texto, el contenido de la etiqueta, uno de sus atributos, aplicar otra plantilla, etc. Podéis ver un ejemplo en el documento XSLT que he utilizado para transformar el feed RSS2.

Para asociar un documento XML a un documento XSL, y que por lo tanto se muestre la salida especificada con XSLT al abrir el XML, tenemos que añadir una línea indicando dónde encontrar el XSL asociado:

<?xml-stylesheet href="xslt-rss2.xsl" type="text/xsl"?>

En el caso de WordPress abrimos el archivo wp-rss2.php y añadimos la línea:

<?php echo '<?xml-stylesheet href="xslt-rss2.xsl" type="text/xsl"?>'; ?>

después de

<?php echo '<?xml version="1.0" encoding="'.get_settings('blog_charset').'"?'.'>'; ?>

De esta forma hemos indicado que cuando se abra el feed RSS2 de la web se apliquen las transformaciones de xslt-rss2.xsl que se encuentra en el mismo directorio que wp-rss2.php. No tiene ningún misterio.

Podeis utilizar mi archivo XSL o bien modificarlo para que se ajuste a vuestras necesidades, la mayor parte de él es simple código HTML. Simplemente descargarlo y subirlo al directorio en el que se encuentre el feed (el directorio raíz en WordPress). Lo que si deberíais tener en cuenta es que en el XSL, al crear el documento HTML, se incluye una hoja de estilo CSS en la línea 13:

<link rel="stylesheet" type="text/css" href="/wp-content/themes/fscreenmg/style.css" />

Modificadlo para que apunte a la hoja de estilo que queráis utilizar y voilà!.