0% encontró este documento útil (0 votos)
2K vistas10 páginas

Sindicación RSS

Cargado por

Alfredo
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2K vistas10 páginas

Sindicación RSS

Cargado por

Alfredo
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

La estructura de un sistema de sindicacin de contenidos parte del ciclo de vida de los propios contenidos.

Habitualmente este ciclo de vida comienza con el trabajo, tanto creativo como informativo, de uno o varios autores y termina cuando el contenido llega y es consumido, de una u otra manera, por el pblico objetivo. Entre emdias existen diferentes opciones para recorrer este camino, as como diferentes tecnologas y arquitecturas posibles. La ms tradicional y simple es generar el contenido y publicarlo directamente a travs de los canales de difusin de las pginas web tradicionales, usando, por ejemplo HTML. Otra opcin, la ms usada actualmente es servirse de un sistema especfico de gestin de contenidos (CMS) que facilita tanto la gestin de los mecanismos de publicacin como el desarrollo de contenidos de forma colaborativa. Entre los CMS ms habituales de uso libre, se pueden encontrar Joomla! O Drupal, si bien existen otros muchos. Cualquiera de estas dos opciones parte de un contenido, en el primer caso generado por los autores y en el segundo haciendo uso de alguna tecnologa (texto plano, bases de datos, documentos XML), y producen una transformacin del mismo para presentarlo de forma amigable y esttica ante los usuarios. La salida de esta transformacin suele estar compuesta de HTML o XHTML combinado con CSS y algunas tecnologa adicionales como JavaScript o Macromedia Flash. Sin embargo, la salida de esta transformacin puede ser tambin simplemente un conjunto de titulares o metadatos que formateados usando XML pueden ser sindicados. De esta forma, los usuarios tendrn otra interfaz para acceder a los contenidos que les resulten de inters. Por el contrario, los usuarios no van a encontrar amigable ni atractivo leer directamente la salida de XML generada, por lo que para ello se usarn herramientas especficas que transformen dicho contenido en algo ms legible. Adems, los usuarios generalmente desean poder sindicarse a ms de un canal de generacin de contenidos. Para facilitar esta tarea han surgido en los ltimos aos herramientas que permiten mostrar de forma conjunta los contenidos de distintos canales, permitiendo distintos tipos de organizacin tanto por temtica como por ejemplo, por fecha de publicacin. Este tipo de herramientas se denominan agregadores de contenidos o bien lectores de feeds. Los agregadores de contenidos proporcionan al usuario un punto de entrada nico para acceder a los contenidos que le interesan. Adems, permite al usuario no tener que estar accediendo a los distintos canales de forma independiente sino que los propios contenidos buscan al usuario. Cuanto mayor sea la cantidad de canales de contenidos que el usuario quiera acceder de forma habitual, mayor ser el tiempo que ahorra usando agregadores de contenidos DTD asociado a los RSS 0.91 y 0,92
<!ELEMENT rss (channel)> <!ATTLIST rss version CDATA #REQUIRED> <!ELEMENT channel (title | description | link | language | item+ | rating? | image? | textinput? | copyright? | pubDate? | lastBuildDate? | docs? | managingEditor? | webMaster? | skipHours? | skipDays?)*> <!ELEMENT title (#PCDATA)> <!ELEMENT description (#PCDATA)> <!ELEMENT link (#PCDATA)> <!ELEMENT image (title | url | link | width? | height? | description?)*> <!ELEMENT url (#PCDATA)> <!ELEMENT item (title | link | description)*> <!ELEMENT textinput (title | description | name | link)*> <!ELEMENT name (#PCDATA)>

<!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT

rating (#PCDATA)> language (#PCDATA)> width (#PCDATA)> height (#PCDATA)> copyright (#PCDATA)> pubDate (#PCDATA)> lastBuildDate (#PCDATA)> docs (#PCDATA)> managingEditor (#PCDATA)> webMaster (#PCDATA)> hour (#PCDATA)> day (#PCDATA)> skipHours (hour+)> skipDays (day+)>

Ejemplos con el agregador incluido en Firefox y con iGoogle <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="0.91"> <channel> <title>Agencia de noticias AGNE</title> <link> http://agenciaagne.es</link> <description>Noticias de Espaa</description> <item> <title>Previsin de lluvia en todo el pas</title> <link>http://agenciaagne.es/?noticiaId=512</link> <description>La agencia estatal de meteorologa</description> </item> <item> <title> El nmero de accidentes de trfico ha decrecido en el ltimo ao</title> <link>http://agenciaagne.es/?noticiaId=599</link> <description>La DGT ha publicado los datos de accidentes</description> </item> </channel> </rss> Guardado como mirss3.xml, si yo accedo al mismo a travs de Firefox me encuentro con el siguiente resultado:

(Lgicamente, antes deberemos haber subido nuestro archivo xml a un alojamiento que nos permita acceder al mismo mediante una url, en este caso, http://galeon.com/alfredodelapresa/mirss3.xml Al acceder con el Firefox, se tiene lo siguiente:

(El navegador Firefox haba sido previamente configurado para realizar esta accin) El resultado es que en la barra de navegacin, ahora se tiene lo siguiente:

Donde podemos ver que en la barra de navegadores se tiene un elemento Agencia de Noticias AGNE Si pulsamos ese botn, aparece lo siguiente:

Y si se tratase de una pgina real, cada elemento (item) me llevara a la pregunta desarrollada Ejercicios Dada una web de recetas de cocinas, generar el RSS 0.91 asociado a dicho cotnneido y validalo con un validador de RSS como el del W3C. Si se considera necesaria una URL completa para el sitio, usar una ficticia

Se ha usado un HTML destino muy simple al que enlazar ambas recetas: <h1> Mis recetas de cocina favoritas</h1>

El RSS asociado es el que se indica a continuacin: <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="0.91"> <channel> <title>Recetas de cocina</title> <link> http://galeon.com/alfredodelapresa/recetas.html</link> <description>Mis recetas favoritas</description> <item> <title>Pollo al limn</title> <link>http://galeon.com/alfredodelapresa/recetas.html</link> <description>Pollo al limn a mi manera</description> </item> <item> <title> Paella valenciana</title> <link>http://galeon.com/alfredodelapresa/recetas.html</link> <description>Paella valenciana tradicional/description>

</item> </channel> </rss> RSS 1.0 El RSS 1.0 es relativamnte diferente al RSS 0.91 y RSS 0.92 por las razones histricas expuestas en los apartados previos. La principal diferencia radica en el uso de tecnologa asociadas a XML ms avanzadas, los documentos XML deRSS 1.0 hacen uso de esquemas, espacios de nombres y RDF, lo que provoca que estos docuemtnos sean mucho ms complejos pero, a su vez, permiten una mayor expresividad para usar metadatos. Adems, eel uso de esquemas y espacios de nombres permite una mayor extensibilidad y versatilidad. A continuacin, un ejemplo: <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel rdf:about="http://agenciagne.rss"> <title>Canal de noticias AGNE</title> <link>http://agenciagane.es</link> <description> Noticias en espaol </description> <image rdf:resource="http://xml.com/universal/images/xml_tiny.gif" /> <items> <rdf:Seq> <rdf:li resource="http://agenciaagne.es/2010/12/01/" /> <rdf:li resource="http://agenicagne.es/2010/12/05/" /> </rdf:Seq> </items> </channel> <item rdf:about="http://agenciaagne.es/2010/12/01/"> <title>Previsin de lluvia en todo el pas</title> <link>http://agenciaagne.es</link> <description> La agencia estatal de meteorologa... </description> </item>

<item rdf:about="http://agenicagne.es/2010/12/05/"> <title>El nmero de accidentes de trfico ha decrecido en el ltimo ao</title> <link>agenciaagnes.es</link> <description> La DGT ha publicado los datos de accidentes... </description> </item> <textinput rdf:about="http://search.xml.com"> <title>Bsqueda en XML.com</title> <description>Bsqueda en la coleccin de XML de XML.com</description> <name>s</name> <link>http://search.xml.com</link> </textinput> </rdf:RDF> El resultado es el siguiente:

En este ejemplo se puede observar que en la primera etiqueta se definen los espacios que hacen que el documento sea ms complejo, pero a la vez ms flexible y verstil. Un feed RSS 1.0 debe comenzar con la lnea: <rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns# > y contener al menos un canal, que se define usando: <channel rdf:about=URI_IDENTIFICADOR>ELEMENTOS</channel> Donde URI_IDENTIFICADOR es un URI que sirve de identificador nico para dicho canal.

Otra diferencia con respecto a RSS 0.91 y RSS 0.92 es que algunso elementos como, por ejemplo, image ya no se encuentran dentro del elemento channel sino al mismo nivel RSS 1.0 soporta el uso de mdulos para una mayor flexibilidad. A continuacin, de muestra un ejemplo de mdulo y como se usa. Por ejemplo, el mdulo mod_annotatio permite aadir un nuevo elemento donde se puede definir una URL en la que se puede discutir sobre el contenido del itel al que acompaa. Para usarlo hay que aadir el espacio de nombres correspondiente <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:annotate=http://purl.org/rss/1.0/modules/annotate/"> Y se podr aadir el elemento siguiente: <antate:referente rdf:resource=URL_DISCUSION />

RSS 2.0 RSS 2.0 sigue la lnea marcada por RSS 0.91 con la particularidad de que su estructura est pensada para proporcionar una mayor modularidad, lo que se consigue mediante la introduccin de mdulos. A su vez, esta caractersticas hacen que este estndar genere documentos ms complejos.. RSS 2.0 no sigue la lne empezada por RSS 1.0 (el uso de RDF) sino que ms bien es una continuacin de RSS 0.92 llamndose a veces RSS 0.94 (El RSS 0.93 fue un desarrollo que se abandon al poco tiempo de su gestacin. Adems del nuevo uso de mdulos, RSS 2.0 incorpora un conjunto de nuevos elementos, como pueden ser los denominados comments, author y guid, entre otros,. Este ltimo es recomendable usarlo ya qye permite definir una URL nica para el tem al que acompaa mejorando la interoperabilidad entre sistemas. Adems hay pequeos cambios con respecto a los elementos que ya existan en RSS 0.91 y 0.92. Por ejemplo, image es opcional rbol de metadatos de RSS 2.0

Ejemplo con una pgina de HTML incluyendo un icono de RSS 2.0 Tenemos el siguiente documento RSS: <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="2.0"> <channel> <title>W3Schools Home Page</title> <link>http://www.w3schools.com</link> <description>Free web building tutorials</description> <item> <title>RSS Tutorial</title> <link>http://www.w3schools.com/rss</link> <description>New RSS tutorial on W3Schools</description> </item> </channel> </rss> Y el siguiente documento HTML para asociarnos a l: <div style="padding-left:33%; padding-top:5%;padding-bottom:5%; border:5px solid blue;background-color:lightyellow;">

<a type="application/rss+xml" href="http://galeon.com/sistemasoperativos11/mirss.xml"> <img src="libro-rss-feed.png" width= "100px" height="200px"> </a> </div> Al abrir este documento HTML con el navegador, se tiene:

Y al hacer clic en el libro de sindicacin, nos aparece lo siguiente:

Y una vez suscritos, podemos ver que se puede escoger los elementos en este caso, el elemento o item que est sindicado, en esta ocasin, un tutorial de RSS

Si hubiese sido con ms de un elemento:

Elementos usados en este ltimo caso: HTML <div style="padding-left:33%; padding-top:5%;padding-bottom:5%; border:5px solid blue;background-color:lightyellow;"> <a type="application/rss+xml" href="http://galeon.com/alfredodelapresa/mirss11.xml"> <img src="libro-rss-feed.png" width= "400px" height="200px"> </a> </div> RSS (XML) <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="2.0"> <channel> <title>W3Schools Home Page</title> <link>http://www.w3schools.com</link> <description>Free web building tutorials</description> <item> <title>RSS Tutorial</title> <link>http://www.w3schools.com/rss</link> <description>New RSS tutorial on W3Schools</description> </item> <item> <title>XML Tutorial</title> <link>http://www.w3schools.com/xml</link> <description>New XML tutorial on W3Schools</description> </item> </channel> </rss>

También podría gustarte