Hoy he añadido sindicación RSS a la página. La sindicación RSS se encarga de difundir información actualizada del contenido de la página a todas aquellas personas que se hayan suscrito a ella. Y no es necesario tener abierto el navegador, simplemente con un software adecuado, llamado agregador, se podrán ver las novedades de las webs a las que estemos subscritos.
La sindicación RSS se basa en un archivo XML en el que incluiremos el contenido, y en su enlazado desde la página web. En este post mostraré los pasos necesarios para generar el XML e incluírlo en la página.
El objetivo es generar un archivo XML que contenga la siguiente estructura:
<?xml version="1.0" encoding="iso-8859-1" ?> <rss version='2.0'> <channel> <title>LaMoscaGao</title> <link>http://www.mipagina.com</link> <description>Fulanos y menganos a tutiplén</description> <item> <title>Título del Primer post</title> <link>http://www.mipagina.com/enlace_Al_Primer_Post.html</link> <description>Resumen del post</description> <pubDate>Wed, 25 Aug 2010 01:08:08 GMT</pubDate> <category>Categoría X</category> </item> <item> <title>Título del Segundo post</title> <link>http://www.mipagina.com/enlace_Al_Segundo_Post.html</link> <description>Resumen del post</description> <pubDate>Tue, 24 Aug 2010 20:27:07 GMT</pubDate> <category>Categoría Y</category> </item> </channel> </rss>
Los documentos XML se caracterizan porque contienen información insertada entre etiquetas anidadas, que empiezan por «<…>» y acaban por «</…>». Veamos un ejemplo con los alumnos de una clase (de dos):
<clase> <alumno> <nombre>Pepe</nombre> <apellido>García</apellido> <alumno> </alumno> <nombre>Antonio</nombre> <apellido>Rodríguez</apellido> </alumno> </clase>
Como se puede apreciar, el documento XML se compone de diferentes tags o etiquetas, y la primera de todas es:
<?xml version="1.0" encoding="iso-8859-1" ?>
Ésta etiqueta indica el tipo de archivo con el que tratamos, XML, y su codificación de carácteres.iso-8859-1 se refiere a que la codificación está en lenguaje occidental, latín (símbolos como los acentos o la «ñ» saldrán correctamente). Esta etiqueta es la única que no se cierra. Además, es extremadamente importante que esté justo al comienzo del archivo, así que interesa escribirla antes de hacer nada más (si utilizáis un script PHP para generar el XML al vuelo y empezáis con un include, os pondrá una línea en blanco y no os funcionará).
Después vendría el esqueleto del XML, ésto es:
<rss version='2.0'> <channel> .... </channel> </rss>
Dentro de éste «esqueleto» nos encontramos con los atributos del RSS, correspondientes al global de la página:
<title>LaMoscaGao</title> <link>http://www.mipagina.com</link> <description>Fulanos y menganos a tutiplén</description>
El significado de cada uno de estos atributos es el siguiente:
title: El título de la página web
link: Un enlace a la página
description: Descripción que queramos sobre nuestra página
Y después, nos encontramos con una etiqueta item para cada una de las entradas que queramos publicar. Cada etiqueta item contendrá una serie de atributos; yo he puesto 5, pero se pueden poner menos, o más si lo deseamos, siempre ciñéndonos a la especificación RSS(otro enlace). Nuestro ejemplo:
<item> <title>Título del Primer post</title> <link>http://www.mipagina.com/enlace_Al_Primer_Post.html</link> <description>Resumen del post</description> <pubDate>Wed, 25 Aug 2010 01:08:08 GMT</pubDate> <category>Categoría X</category> </item>
Vemos que por cada elemento «item» tenemos los siguientes atributos:
title: Título del post
link: Enlace al post
description: Descripción del contenido del post, si queremos
pubDate: Fecha de publicación del post. Ojo con la «D», que es mayúscula. Además, el formato de la fecha debe ser el que se ve en el ejemplo.
category: categoría / categorías al que pertenece el post, si se tercia.
Y así es como generaremos nuestro documento XML. Para generarlo, deberemos programar un script, ya sea en PHP (casi copiado del que muestra las últimas entradas en la página de inicio), ya sea en el lenguaje que nos de la gana (como si queremos hacerlo a mano), que nos construya un archivo siguiendo esta estructura.
Vale, ya tenemos el XML generado, ahora hay que hacer que las páginas lo relacionen. Para ello pondremos, entre las etiquetas <head> de nuestras páginas, la siguiente línea:
<link rel="alternate" type="application/rss+xml" title="Lamoscagao Feed" href="miRss.xml" />
También podemos poner un enlace, o un iconito parecido al de la foto de este post, que enlace a nuestro documento XML, de la manera siguiente:
<a type="application/rss+xml" href="miRss.xml">bla bla bla ó <img src="icono.gif"/></a>
Y ya tendremos lista la sindicación en nuestra página.
Bien explicado y con ejemplos, caramba!
Muchas gracias por el post! me ha servido mucho :)!
Sandra