RSS es un formato web de sindicación. Su nombre
es un acrónimo para Really Simple Sindication. RSS es un dialecto de XML.
Todos los archivos RSS deben adaptarse a la
especificación XML 1.0, como se publica en sitio web World Wide Web
Consortium (W3C). Es un excelente medio para publicar noticias como es el caso de
SlashDot que es una
comunidad orientada a noticias. Pero RSS no sirve solamente para noticias.
Cualquier información que sea susceptible de dividirse en secciones puede
publicarse vía RSS.
La siguiente información se extracto y tradujo
de la página de especificaciones de Technology at Harvard Law, autores de
RSS 2.0 y se complementó con comentarios del autor y un ejemplo en vivo
de un archivo XML generado desde un procedimiento escrito en VFP.
En el nivel superior, de un documento RSS se
encuentra un elemento <rss>, con un atributo obligatorio llamado
version que especifica la versión del documento. Para nuestro caso, nos
ocupamos de la versión 2.0, por lo que este atributo debe ser "2.0". De modo
que las dos primeras líneas de nuestro documento, deben ser las siguientes:
<?xml version="1.0" encoding="iso-8859-1"
?>
<rss version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
Subordinado al elemento <rss> se
encuentra un único elemento <channel> que contiene la información
sobre el canal (metadata) y su contenido. Y dentro de este los sub-elementos
separados dentro de elementos <item>. Los siguientes elementos
son obligatorios en un documento RSS:
- title: el nombre del canal. Es la
forma en que la gente se refiere a su servicio. Si usted tiene un sitio
web HTML que contiene la misma información que su archivo RSS, el título
de su canal debe ser el mismo de su sitio web. Ejemplo: Vfpnetwork.Com
Programación Web
- link: El URL al sitio web
HTML correspondiente al canal. Ejemplo: http://www.vfpnetwork.com
- description: descripción del
canal. Ejemplo: Comunidad de programadores Visual FoxPro
Elementos opcionales de channel:
- language: El lenguaje en el que el
canal está escrito. Esto permite a los agregadores agrupar todos los
mensajes de un determinado lenguaje en una sola página. Una lista de
valores permitidos para este elemento suministrados por NetScape puede
encontrarse
aquí. También puede utilizar los valores definidos por
W3C. Ejemplo: en-us.
- copyright: Copyright del canal.
Ejemplo: Copyright 2004, VfpNetwork.Com
- managingEditor: Dirección de
correo electrónico de la persona responsable del contenido editorial.
- webMaster: Dirección de correo
electrónico de la persona responsable de aspectos técnicos del canal.
- pubDate: La fecha de publicación.
Si su publicación es diaria, la publicación cambia de día cada 24 horas.
Es entonces cuando el elemento pubDate del canal cambia. Todas las
fechas-horas en RSS se adaptan a a la especificación de fecha y hora de
RFC 822, con la excepción de que el año puede expresarse con dos o
cuatro caracteres (preferiblemente con cuatro).
- category: Especifica una o más
categorías a las que el canal pertenece. Sigue las mismas normas del
elemento <item>. Ejemplo: <category>Programación VFP</category>.
- generator: Una cadena de
caracteres indicando el programa utilizado para generar el canal.
- docs: Un URL que apunte a la
documentación del formato utilizado en el archivo RSS. Posiblemente a
http://blogs.law.harvard.edu/tech/rss. Esto se hace pensando que
dentro de unos años una persona que se encuentra con uno de estos
documentos sepa que es.
- cloud: Le permite a procesos
registrarse con un cloud para ser notificado de actualizaciones en el
canal.
- ttl: (Time To Live) es un número
de minutos que indica cuanto tiempo puede permanecer un canal en cache
antes de realizar un refresco en la fuente.
- image: especifica una imagen GIF,
JPEG o PNG que puede mostrarse con el canal.
- rating: El rating
PICS para el canal.
- textInput: Especifica un cuadro de
diálogo que puede ser mostrado con el canal.
- skipHours: Una guía para los
agregadores informándoles que horas pueden evitar.
- skipDays: Una guía para los
agregadores indicándoles que días pueden evitar.
Elementos de item:
Un canal puede contener cualquier número de
<item>s. Un item representa una "historia" -- tal como una historia en un
periódico o en una revista; de ser así su descripción es una sinopsis de la
historia y su vínculo apunta a la historia completa. un item puede ser
completo en si mismo. De ser así la descripción contiene el texto (se
permite HTML entidad-codificado). Vea algunos ejemplos al final de la
descripción de los elementos de <item>
- title: El título del item.
- link: URL del item.
- description: Sinopsis del item.
- author: Dirección de correo
electrónico del autor del item.
- category: Incluye el item en una o
más categorías. Ejemplo: VFP AFP Programación
- comments: URL de una página de
comentarios concernientes al item.
- enclosure: Describe un objeto que
hace parte del item. Ejemplo:
<enclosure url="http://.../archivo.mp3" length="256000" type="audio/mpeg"
/>
guid: Una cadena de caracteres que identifica de forma única al
item.
- pubDate: indica la fecha en que se
publico el item.
- source: El canal RSS de donde
provino el item.
- Codificando tags de HTML:
<description>Esto es<b>NEGRILLA</b></description>
Resultado: Esto es NEGRILLA
- Codificando HTML dentro de una sección
CDATA:
<description><![CDATA[esto es<b>NEGRILLA</b>]]></description>
Resultado: Esto es NEGRILLA
Los anteriores ejemplos fueron suministrados
por Nick Bradbury de Bradbury Software. Indudablemente el segundo ejemplo es
mucho más claro, el contenido se escribe como cualquier documento HTML.
RSS se está convirtiendo en algo que "debe
tenerse" en sitios web, permite otra forma clara y sencilla de exponer
contenido dinámico para cualquier usuario que cuente en su computadora con un lector
de noticias RSS. Los lectores de noticias se han vuelto muy populares en la
comunidad web, hay cientos de ellos disponibles.
RssReader es uno de
ellos y es gratuito.
Qué aspecto tiene RSS? El siguiente código
corresponde al código generado desde un registro seleccionado de la tabla de
mensajes del sitio.
<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<channel>
<title>Foro de Mensajes de VfpNetwork.Com</title>
<link>http://www.vfpnetwork.com</link>
<description>Ejemplo de RSS</description>
<generator>Generado con VFP</generator>
<item>
<title>Nueva versión de AFP3</title>
<link>http://wwww.vfpnetwork.com</link>
<description>
Prolib acaba de hacer pública la versión 3.0.538 de AFP3. Es impresionante
le mejora
en el tiempo de respuesta. Inclusive en un sitio de bajo tráfico estas
mejoras pueden
apreciarse claramente, ya que la nueva versión minimiza el consumo de
recursos del
servidor y refresca permanentemente los hilos en ejecución.
Cuando el tráfico disminuye, AFP puede reducir el número de hilos a 1 pero
puede reaccionar
instantáneamente ante la llegada de un grupo grande de usuario,
suministrando nuevos
hilos para atender la demanda.
Actualmente instalamos esta versión en el servidor de uno de nuestros
clientes que en
horas de alto tráfico puede estar atendiendo unos 200 visitantes
simultáneamente.
Hay algunas nuevas características en el ControlCenter. Pueden encontrar más
información
en el archivo Release.Txt del directorio de AFP.
Cordial saludo,
Jorge Pérez
</description>
<author>Jorge Pérez</author>
<category>WebSite</category>
<comments />
<enclosure />
<guid>AFP3</guid>
<pubdate>2004/08/14 20:20:51</pubdate>
<source />
</item>
</channel>
</rss>
Si observa en su navegador el
archivo,
podrá ver claramente la estructura que utiliza RSS. Si no tiene un
lector de noticias, instale RssReader (o el de su gusto) y agregue el
documento a su lector (http://www.vfpnetwork.com/xml/mensajes.xml). De esta
forma, podrá observar los resultados.
Como podrá ver, esta es una solución de
fácil implementación y es una alternativa a la utilización de Web Services,
puede utilizar desde un editor de texto hasta automatizar la generación como
se ha hecho en este caso y simplemente copiar el archivo en su sitio web
donde desde una página HTML el usuario podrá tener una guía de los
documentos disponibles y visualizarlos desde cualquier lector RSS.
Cordial saludo,
Jorge Pérez
Vfpnetwork.Com |