Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 8. RSS
Tema 8. RSS
Sindicacin de contenidos
1. Sindicacin. ........................................................................................... 3
1.1. Concepto de sindicacin. .................................................................................. 3 1.2. Un ejemplo........................................................................................................ 4
2. Formatos................................................................................................ 5
2.1. Formato RSS..................................................................................................... 5 2.2. Formato Atom................................................................................................... 6 2.3. Validacin. ........................................................................................................ 6 2.4. Editar feeds. ...................................................................................................... 6 2.5. Suscripcin...................................................................................................... 10
RSS y Atom son formatos para distribuir conjunto de titulares organizados en forma de sumario o ndice, llamados canales (channels o feeds), a cuyos contenidos se puede acceder a travs de Internet sin necesidad de usar el navegador. De esta forma, el usuario dispone de los titulares actualizados de muchos sitios webs sin que tenga necesidad de conectarse a cada uno de ellos. Muchas webs, ya han sido adaptadas a RSS y/o Atom permitiendo el acceso a una enorme cantidad de informacin de forma sencilla y automatizada. Un canal (RSS) o feed (Atom), siempre contiene el ttulo de la cabecera, un breve resumen de la informacin del canal o feed y un enlace que conduce al contenido o texto completo de la noticia. Los enlaces a canales o feeds se suelen indicar en los sitios web utilizando iconos que contienen las siglas RSS o Atom.
Los formatos RSS y Atom son formatos de texto estndar y pblicos que sirven para distribuir titulares de noticias y contenidos por Internet de forma automatizada. La funcin de la "sindicacin" es mostrar un ndice con los contenidos y noticias que ha publicado una fuente web. Los documentos, al tener formato XML, son archivos de texto albergados en el servidor del sitio web que ejerce de fuente de noticias. Dentro de este archivo, los encargados de editar el sitio web (webmasters) colocan, de forma ordenada y estructurada, los titulares y una pequea descripcin o entradilla de los ltimos contenidos que han publicado en su web. As pues, adems de los titulares, tambin contienen una serie de cdigos para que los programas que leen estos archivos puedan, automticamente, detectar cundo se han publicado nuevos contenidos. Esto permite avisar al usuario, de forma automtica, de que se encuentran disponibles nuevas noticias. Hay programas especficos para leer estos formatos, llamados agregadores. Un agregador se suscribe a una serie de canales o feeds, y presenta exclusivamente la informacin contenida en dichos canales. Las direcciones de los feeds o canales vienen habitualmente indicados por un icono de color naranja, como este: , en el que aparece XML, RSS o RDF, como en este caso. Otros iconos permiten aadir directamente el canal o feed a tu agregador preferido. El agregador o lector de feed podra ser un lector RSS instalado en el ordenador (un programa o software especfico), el propio navegador web (Internet Explorer, FireFox, etc), un programa de correo electrnico (como Outlook Express o Mozilla Thunderbird) o un lector online (una pgina web especfica en la que se puede aadir varios canales y ver las noticias juntas). Es importante destacar que cada vez que los artculos de un canal suscrito se actualizan, tambin se harn automticamente en lector, sin necesidad de que el usuario realice ninguna operacin adicional. Adems, cada vez que se actualice algn contenido, el lector alertar de dicha actualizacin. En definitiva, sindicacin web es una forma de suscripcin en la cual parte del material de un sitio web se hace disponible en otros sitios web o de un lector especial. El sitio web o lector receptor recibe un resumen (web feeds) de las ltimas informaciones del sitio emisor. Esta facilidad permite a usuarios de Internet consumir en un solo sitio y de manera resumida, slo el contenido que es de su inters de aquellos sitios web que visita.
1.2. Un ejemplo.
Vamos a presentar un ejemplo que nos permita comparar RSS con Atom. No es fcil hallarlo ya que la mayora de los sitios web usan sindicacin RSS, concretamente en su versin 2.0. El sitio web www.adictosaltrabajo.com/ contiene al final de su pgina dos pequeos iconos como los de la figura que sirven de enlace a la pgina de suscripcin de las novedades. Ambos enlazan a la misma pgina: www.adictosaltrabajo.com/feeds.php. Esta pgina permite la suscripcin a varios canales tanto en formato RSS como Atom. Las pginas de notificacin de novedades podemos verlas con un cliente o explorador web, aunque lo suyo es utilizar un lector apropiado. Cada cliente o explorador web mostrar estas pginas a su manera, ya que si la pgina no tiene una hoja de estilos propia, el cliente web usar la suya por defecto. En nuestro caso usaremos Mozilla Firefox. Si pinchamos en el enlace RSS del canal de noticias, el lector del explorador nos presentar una pgina en la que aparece inicialmente el nombre del canal, seguido de una lista de titulares de noticias con su fecha junto al inicio de la noticia. Si pinchamos en el enlace Atom del mismo canal, la pgina que se nos presenta tiene el mismo aspecto. La presentacin en pantalla es la misma, pero el contenido es diferente ya que usan distintos formatos. Si obtenemos el cdigo fuente de ambas pginas lo podremos comprobar. Parte del cdigo fuente de la pgina en formato RSS (hemos dejado slo una noticia) es el siguiente:
<?xml version="1.0" encoding="iso-8859-1" ?> <rss version="2.0"> <channel> <title>Ultimas Noticias</title> <link>http://www.adictosaltrabajo.com/</link> <description> Ultimas noticias publicadas en la home de Adictos al Trabajo </description> <language>es-ES</language>
De igual forma, parte del cdigo fuente de la pgina en formato Atom (hemos dejado slo una noticia) es el siguiente:
<?xml version="1.0" encoding="iso-8859-1" ?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Ultimas Noticias</title> <id>http://www.adictosaltrabajo.com</id> <author> <name>AdictosAlTrabajo.com</name> <email>info@adictosaltrabajo.com</email> </author> <subtitle>Ultimas noticias publicadas en AdictosAlTrabajo</subtitle> <logo>http://www.adictosaltrabajo.com/imagenes/adic000.jpg</logo> <updated>12/08/2010</updated> <entry> <id>http://www.adictosaltrabajo.com/detalle-noticia.php?noticia=258</id> <title>X Charla Autentia - Talend - Vdeos y Material</title> <updated>2010-08-06</updated> <content><![CDATA[Con algo de retraso (el verano es lo que tiene) publicamos el vdeo y el material de la dcima charla gratuita de Autentia sobre]]> </content> <link href="http://www.adictosaltrabajo.com/detalle-noticia.php?noticia=258" /> <source> <title>AdictosAlTrabajo</title> <id>http://www.adictosaltrabajo.com/atom/atom.php</id> </source> <author> <name>AdictosAlTrabajo.com</name> </author> <link rel="http://www.adictosaltrabajo.com/imagenes/autentia.gif" /> </entry> </feed>
2. Formatos.
Observando los cdigos de los archivos anteriores veremos los formatos de RSS y Atom. Ambos, al ser archivos XML, comienzan con la misma cabecera que indica el formato XML, la versin y la tabla de cdigo de caracteres.
El elemento raz se denomina feed. A partir de este elemento se crea un encabezamiento con los detalles de la informacin que se pretende disponer. Posteriormente se colocan las noticias, una detrs de otra. El encabezamiento del feed o canal dispone de un ttulo (title), con un enlace (link), que indica la pgina web donde se encontrara el canal completo, un identificador nico de recursos (id), una descripcin (subtitle) del canal. Otros elementos sirven para indicar el autor, la fecha, logotipo, etc. Cada canal se compone de una serie de artculos o entradas (entry), y cada entrada tiene un identificador (id), un ttulo (title) y un resumen de la noticia (content). Adems, se puede aadir la fecha de la noticia, el autor, etc.
2.3. Validacin.
Normalmente no es necesario dominar los formatos anteriores. Existen herramientas que nos ayudan a editar un documento RSS o Atom. No obstante si queremos construirlo a mano, lo ms cmodo es usar un documento RSS o Atom y utilizarlo como una plantilla. Para comprobar si est bien formado el documento, lo podemos hacer directamente con un explorador web. Para comprobar si el documento es vlido podemos utilizar herramientas especficas. El W3C dispone de un servicio de validacin de feeds tanto para RSS como Atom en http://validator.w3.org/feed/. En http://feedvalidator.org/ se pueden validar feeds pero nicamente indicando la direccin web que contiene el documento a validar.
El archivo LaGaceta.xml podemos validarlo directamente desde la aplicacin mediante el botn Validate Feed. Realmente la validacin que realiza la aplicacin es a travs del validador del W3C en http://validator.w3.org/feed/. Con un explorador web, o bien desde la misma aplicacin con el botn Preview Feed, podemos presentar el archivo en pantalla. El aspecto que presenta no es muy adecuado. Lo mejor es usar una hoja de estilos para mejorar la presentacin, o transformarlo a otro formato que permita una mejor vista. Ya sabemos que las transformaciones XSL permiten transformar un documento XML, conservando sus datos, en otro: texto separado por comas, HTML, u otro documento XML con distribucin diferente. En nuestro caso lo vamos a transformar en formato HTML para que un explorador web lo presente de una forma adecuada. El archivo que definiremos para la transformacin es LaGaceta.xslt:
<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:preserve-space elements="*"/> <xsl:template match="/"> <html> <head> <title> <xsl:value-of select="rss/channel/title/text()"/> </title> </head> <body> <h1> <xsl:value-of select="rss/channel/title/text()"/> </h1> <h2> <xsl:value-of select="rss/channel/description/text()"/> </h2> <a href="#"> <xsl:value-of select="rss/channel/link/text()"/> </a> <xsl:for-each select="rss/channel/item"> <h3> <xsl:value-of select="title/text()"/> </h3> <a href="#"> <xsl:value-of select="link/text()"/> </a> <p> <xsl:value-of select="description/text()"/> </p>
Para que la transformacin surja efecto, deberemos aadir al prlogo de nuestro archivo LaGaceta.xml la informacin de esta transformacin:
<?xml-stylesheet type="text/xsl" href="LaGaceta.xslt"?>
Si ahora abrimos el archivo LaGaceta.xml con un explorador web o bien usamos la opcin Preview Feed se presentar ya transformado en HTML con el siguiente aspecto:
Le dijeron que su puerta de seguridad era a prueba de bombas. As que ni corto ni perezoso...
Thu, 12 Aug 2010 20:24:00 +0200
Se levant, se afeit, y a continuacin, y sin decir esta boca es ma se coloc por delante un saco de higos chumbos. Fue lo nunca visto.
Thu, 12 Aug 2010 19:48:30 +0200
El documento html obtenido de la transformacin se ha presentado tal cual, sin ninguna hoja de estilos asociada que nos hubiera permitido cambiar su apariencia. Lo normal es que la transformacin cree un documento html donde se incluye el archivo CSS que debe usarse para su presentacin. Para ello, aadiremos al archivo LaGaceta.xlst la etiqueta link con el archivo CSS que deber usarse.
<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:preserve-space elements="*"/> <xsl:template match="/"> <html> <head> <title> <xsl:value-of select="rss/channel/title/text()"/> </title> <link rel="stylesheet" type="text/css" href="LaGaceta.css" media="screen" /> </head> <body> . . . .
Como indica el atributo href, el archivo CSS que hemos usado, LaGaceta.css, es el siguiente
body { margin-left:1em; } h1 { font-size: 2em; font-family:Arial; color:Maroon; margin-bottom:-0.5em; } h3 { font-size: 1.2em; margin-top:1.5em; margin-bottom:-0.1em; } h2 { font-size: 1.5em; margin-bottom:0em; color:Gray; } h4 { font-size: 0.7em; margin-top:-1em; } p { font-family:Verdana; font-size:0.9em; margin-top:0.5em; }
El resultado es que el archivo HTML resultante de la transformacin, al usar la hoja de estilo LaGaceta.css se presenta de la forma:
10
Finalmente hemos conseguido lo que pretendamos, presentar el archivo LaGaceta.xml que contiene una fuente web para redifusin de noticias RSS, en un formato adecuado de presentacin gracias al uso de una transformacin XSL a formato HTML, al cual le hemos asociado una hoja de estilos CSS. Todas estas operaciones se hacen de forma ms cmoda usando software apropiado. Con Feed Writer 2 como editor de feeds hemos conseguido la fuente web en formato RSS. Una vez construido el archivo XSL de la transformacin, podemos con Visual Studio u otra aplicacin que lo permita, obtener un archivo en disco en formato HTML con el resultado de la transformacin y crear una hoja de estilos CSS para la presentacin del archivo HTML de forma adecuada. Si elegimos Visual Studio, crearemos un proyecto vaco y le agregamos al proyecto los archivos LaGaceta.xml y LaGaceta.xslt. En las propiedades del archivo LaGaceta.xslt, asignamos a la propiedad entrada el archivo que se va a transformar: LaGaceta.xml. En este momento podemos mostrar el resultado de la transformacin. Para ello elegimos la opcin de men Mostrar resultado de la transformacin. El resultado es un archivo HTML, pero temporal. Por otro lado, creamos y aadimos al proyecto el archivo con la hoja de estilos LaGaceta.CSS, que se aplicar para la presentacin de la transformacin resultante que est temporalmente en el archivo con formato HTML. Finalmente, para que la transformacin quede almacenada definitivamente en un archivo de disco y no de forma temporal, en la propiedad resultado del archivo LaGaceta.xml escribimos el nombre de dicho archivo: LaGaceta.html.
2.5. Suscripcin.
Como lector de feeds podemos usar un explorador web pero, si queremos que se nos informe de forma automtica cuando se produce una novedad o noticia en el canal, debemos usar un lector de feeds que permita dicha posibilidad. Como ya comentamos anteriormente un agregador o lector de feeds podra ser, adems de un explorador web, un lector RSS instalado en el ordenador, un programa de correo electrnico o un lector online. Los lectores online son cmodos: no hay que instalarlos y su interfaz es fcil y familiar al ser de tipo web. Uno de ellos es Google Reader. Si tenemos cuenta en Google, podemos conectarnos a la pgina http://www.google.com/reader para acceder a dicho servicio. Una vez que accedemos con nuestra cuenta de Google, se nos presenta la posibilidad de suscribirnos a una serie de feeds preestablecidos, buscar feeds o indicar directamente el canal al que queremos suscribirnos con la opcin Aadir una suscripcin. Por ejemplo, podemos suscribirnos al canal de noticias de ltima hora del diario IDEAL (http://www.ideal.es/granada/rss/feeds/ultima.xml). En ese momento el lector de feeds presenta el canal y sus noticias con una interfaz bastante agradable y con la posibilidad de usar muchas opciones que nos permiten gestionar los canales.