New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Really simple syndication - Wikipedia

Really simple syndication

Da Wikipedia, l'enciclopedia libera.

Nota disambigua - Se stai cercando altre voci che possono riferirsi alla stessa combinazione di 3 caratteri, vedi RSS (disambigua).

RSS (acronimo di RDF Site Summary ed anche di Really Simple Syndication) è uno dei più popolari formati per la distribuzione di contenuti Web; è basato su XML, da cui ha ereditato la semplicità, l'estensibilità e la flessibilità.

RSS definisce una struttura adatta a contenere un insieme di notizie, ciascuna delle quali sarà composta da vari campi (nome autore, titolo, testo, riassunto, ...). Quando si pubblicano delle notizie in formato RSS, la struttura viene aggiornata con i nuovi dati; visto che il formato è predefinito, un qualunque lettore RSS potrà presentare in una maniera omogenea notizie provenienti dalle fonti più diverse.

Indice

[modifica] Un po' di storia

RSS è un formato per la distribuzione di contenuti sul Web. Fu lanciato per la prima volta da Netscape. Si trattava di un formato derivato da RDF (un linguaggio generico per rappresentare informazioni su Web) per la gestione dei contenuti del portale My Netscape Network: il formato permetteva la visualizzazione sul portale di headline e link relativi a notizie pubblicate su altri siti e rese disponibili attenendosi a specifiche ben precise. Fu subito un grande successo: in breve, centinaia di fornitori di contenuti aderirono all'iniziativa e il portale My Netscape poté beneficiare di una vasta raccolta di notizie a disposizione dei propri utenti registrati.

Nel frattempo, lo stesso formato (e le sue variazioni successive) fu adottato progressivamente dalla comunità dei blogger: i post di un blog potevano essere facilmente esportati in RSS, in modo da essere resi disponibili a servizi di raccolta di contenuti. La popolarità dei blog è forse una delle ragioni principali del successo di RSS: migliaia di weblog iniziarono a produrre contenuti in RSS e iniziarono a proliferare siti che raccoglievano una selezione di post dai blog più seguiti (i cosiddetti blog aggregator) e programmi per fruire i contenuti di un blog direttamente sul proprio desktop o su altri dispositivi (RSS reader).

Oggi RSS è lo standard de facto per l'esportazione di contenuti Web. I principali siti di informazione, i quotidiani online, i fornitori di contenuti, i blog più popolari: tutti sembrano aver adottato il formato RSS. Gli utenti possono oggi accedere a migliaia di feed RSS: alcuni siti (directory) raccolgono i riferimenti agli innumerevoli feed RSS disponibili sul Web..

[modifica] Fruizione di un feed RSS

La fruizione di un documento RSS è un processo molto semplice. Le modalità più diffuse sono due: attraverso appositi software che interpretano un feed permettendo agli utenti di visualizzarne i contenuti, o integrando i contenuti del feed all'interno di un sito Web.

[modifica] Come viene interpretato un documento RSS

Un'applicazione in grado di interpretare un documento RSS ne effettua il parsing, ovvero una scansione del documento che individua i tag e isola i diversi elementi, per poi convertire i contenuti decodificati nel formato utile all'obiettivo: ad esempio un feed reader può estrarre i titoli di tutti gli elementi item per visualizzare la lista degli articoli di un giornale online, mentre un aggregatore Web può estrarre i contenuti del feed per convertirli in linguaggio HTML e incorporarli all'interno delle proprie pagine.

[modifica] Feed reader

Un feed reader è un programma in grado di effettuare il download di un feed RSS (è sufficiente che l'utente indichi al programma l'URL del feed), effettuarne il parsing e visualizzarne i contenuti in base alle preferenze dell'utente.

Spesso i feed reader sono dotati di funzionalità avanzate; ad esempio sono in grado di rilevare automaticamente se il produttore del feed ha effettuato aggiornamenti al feed stesso, effettuandone il download a intervalli di tempo regolari. In questo modo l'utente può essere informato quasi in tempo reale quando un sito è stato aggiornato, un po' come avviene per le pagine web del browser Opera, aggiornabili - con un apposito comando - secondo una preordinata scansione temporale. Il browser Opera integra, dalla versione 8.0, un ottimo feed reader.

Ci sono molti feed reader in circolazione: alcuni sono applicazioni stand-alone, altri funzionano come plug-in all'interno di altri programmi (ad esempio plug-in per programmi di posta elettronica o browser Web). Altri sono applicazioni in grado di convertire un feed RSS in una serie di post in formato leggibile dai più popolari newsreader (come, ad esempio, Mozilla Thunderbird, Forté Agent, et cetera): un esempio di questi software è nntp//rss, oppure RSS Feed Converter uno script per il popolare mail-newsserver Hamster. Un esempio di feed reader stand alone è, invece, FeedReader, programma free (distribuito con licenza GNU GPL) per piattaforme Microsoft Windows. Nella parte sinistra dell'interfaccia è mostrato l'elenco dei feed impostati dall'utente; nella parte in alto a destra l'elenco dei singoli contenuti del feed selezionato; nella parte principale l'intero contenuto testuale di un articolo. Alcuni feed reader, come ad esempio RssFeedEater, un programma shareware per Windows, permettono anche di inviare via mail o di scrivere su un blog le informazioni ricevute dai feed. Altri esempi di feed reader stand-alone e gratuiti ma per piattaforme Linux/GNUstep sono: Ticker o Liferea (LInux FEed REAder). Ci sono poi lettori di feed con molte funzionalità aggiunte: GreatNews permette di aggregare anche i commenti all'interno del post (sui blog che rendono disponibili i commenti via RSS).

[modifica] Feed reader per dispositivi mobili

Un aspetto particolarmente interessante è la disponibilità di applicazioni per la lettura di feed RSS su dispositivi mobili (telefoni cellulari, palmari, ecc.). Ciò consente l'accesso a notizie e informazioni da qualunque luogo. Ad esempio, mReader è un'applicazione gratuita compatibile con tutti i dispositivi che supportano J2ME (Java 2 Micro Edition).

[modifica] Aggregatori Web

Un feed RSS proveniente da un sito può essere facilmente importato da un altro sito Web, per incorporarne i contenuti all'interno delle proprie pagine.

Tecnicamente le strade percorribili sono diverse; generalmente, un apposito software si occupa di effettuare, automaticamente, il parsing dei feed RSS, ne estrae i contenuti (ad es. titolo degli articoli e descrizione) e li inserisce all'interno del codice HTML delle pagine, applicando le opportune trasformazioni. Sostanzialmente, si tratta del procedimento opposto a quello utilizzato per la produzione del feed.

In seguito all'aumento di popolarità del formato RSS e alla sua standardizzazione, sono nati diversi servizi online che fungono da "collettori" di contenuti: i cosiddetti aggregatori. L'obiettivo è quello di fornire un unico punto d'accesso a notizie provenienti da varie fonti; la standardizzazione del formato e la sua diffusione sono gli ingredienti che hanno reso possibile perseguire tale obiettivo.

Il vantaggio per l'utente è notevole, poiché ha la possibilità di accedere a tutte le notizie attraverso un unico sito Web (l'aggregatore), evitando dunque di dover visitare, uno per uno, i siti da cui provengono le notizie stesse (magari solo per scoprire che non ci sono stati aggiornamenti dopo la sua ultima visita).

Esistono anche servizi come RssPress.it [1], Kataweb Fido e da qualche tempo anche l'onnipresente Google [2] che consentono, a chi si registra, di personalizzare la propria home page selezionando le fonti da visualizzare all'interno di una vasta raccolta suddivisa per categorie.

Esistono anche portali che consentono un'organizzazione razionale dei feed a directory, la lettura direttamente dallo stesso web, la creazione di canali feed RSS in maniera gratuita e via web, ulteriori servizi come l'inoltro di notizie RSS anche via SMS.

[modifica] Un formato, tanti “dialetti”

Il formato inizialmente adottato da Netscape era una semplificazione del primo draft proposto dal W3C. Netscape denominò la versione 0.9: mentre la proposta del W3C era del tutto conforme a RDF, la versione di Netscape ne eliminava gli aspetti più complessi, ed era totalmente slegato da esso.

Nel 2000 il W3C ha pubblicato la prima versione ufficiale di RSS (versione 1.0): la versione era conforme a RDF, integrava la possibilità di estendere il formato con nuovi moduli e il supporto ai namespace XML. Quasi contemporaneamente, Dave Winer (CEO di Userland Software, società produttrice del popolare blog publisher Radio Userland), ha rilasciato una versione di RSS, figlia del formato utilizzato da Netscape, denominata 0.91. A causa della popolarità del formato adottato da Netscape prima, e da Userland poi, il formato 0.91 ha iniziato a convivere accanto a quello proposto dal W3C. I due formati sono incompatibili (sebbene i principali feed reader siano in grado di interpretarli entrambi correttamente).

Il formato 0.91 si è evoluto perdendo alcune limitazioni nella versione 0.92 ed è stato ulteriormente perfezionato nella versione 2.0 (rilasciato da Userland nel 2002). Di fatto, oggi abbiamo a che fare con almeno tre differenti “dialetti”:

  • RSS 0.91: il più vecchio tra gli standard oggi in uso, diretta evoluzione del formato usato originariamente da Netscape. In alcuni casi si è preferito usare il successivo RSS 0.92;
  • RSS 2.0: rilasciato da Userland nel 2002, è l'evoluzione del formato 0.92, di cui eredita la semplicità, ma a cui aggiunge il supporto per moduli aggiuntivi;
  • RSS 1.0: è il formato ufficiale del W3C, conforme ad RDF, estensibile e modulare.

Chi produce contenuti da distribuire in formato RSS è così costretto a scegliere quale versione utilizzare o, come avviene nella maggior parte dei casi, a esportare i propri contenuti in tutti i formati disponibili.

Nonostante le differenti implementazioni delle diverse versioni, i documenti RSS condividono tutti la stessa struttura di base, che prevede:

  • un elemento <channel>, che contiene le informazioni sulla fonte dei contenuti (nel caso di un quotidiano online potrebbe contenere il nome della testata, la data di pubblicazione, informazioni sul copyright, ecc.)
  • una serie di elementi <item>, ognuno dei quali corrisponde ad un singolo elemento di contenuto (ad es. l'articolo di un giornale) e ne presenta tutte le informazioni (titolo, testo completo, nome dell'autore, ecc.)

[modifica] RSS 0.92

RSS 0.92 è stato sviluppato da Dave Winer (di Userland Software) nel 2000. Si tratta di un'espansione del formato originale RSS 0.91 che aggiunge alcuni elementi addizionali e rimuove alcuni limiti per gli elementi imposti nella versione precedente.

Gli elementi addizionali permettono l'implementazione di funzionalità che consentono l'iscrizione al feed (per ricevere notifiche automatiche quando il feed viene aggiornato).

[modifica] RSS 2.0

RSS 2.0 è un'evoluzione del formato 0.92 (e, a detta dell'autore Dave Winer, non subirà ulteriori variazioni future). In particolare sono presenti alcuni utili elementi aggiuntivi (<comments>, <author>, <ttl>, <guid>) ed è pienamente supportata la modularizzazione (e la conseguente espandibilità) attraverso namespace XML.

Ogni documento RSS 0.92 è anche un documento RSS 2.0 valido.

[modifica] RSS 1.0

La versione 1.0 di RSS, sviluppata dal World Wide Web Consortium, è basata sul formato RDF, un metalinguaggio - a sua volta derivato da XML - utilizzato per la descrizione e la distribuzione di contenuti generici.

RSS 1.0 è progettato per essere estensibile attraverso i namespace XML: è infatti possibile estendere RSS 1.0 attraverso l'uso di moduli senza dover modificare il “cuore” del formato. È questa la differenza fondamentale con gli altri “dialetti” di RSS.

[modifica] Storia di RSS e della sua compatibilità

Nel maggio del 1999 la Netscape rilasciò RSS 0.90. RSS 0.90 appare così:

Esempio 1. RSS 0.90

 <rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://my.netscape.com/rdf/simple/0.9/">
 <channel>
 <title>Mozilla Dot Org</title>
 <link>http://www.mozilla.org</link>
 <description>the Mozilla Organization web site</description>
 </channel>
 <image>
 <title>Mozilla</title>
 <url>http://www.mozilla.org/images/logo.gif</url>
 <link>http://www.mozilla.org</link>
 </image>
 <item>
 <title>New Status Updates</title>
 <link>http://www.mozilla.org/status/</link>
 </item>
 </rdf:RDF>

Nel Giugno del 1999, Netscape rilasciò RSS 0.91. RSS 0.91 fu intenzionalmente incompatibile con RSS 0.90. Netscape eliminò la sintassi RDF compatibile e riprogettò RSS per essere puro XML. Aggiunsero anche un DTD che definiva diverse entità permesse.

RSS 0.91 di Netscape appare così: Esempio 2. Netscape RSS 0.91

 <!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
 <rss version="0.91">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
 <textinput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textinput>
 <skipHours>
 <hour>0</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 < 2, 3 < 4.
 In HTML, <b> starts a bold phrase
 and you start a link with <a href=
 </description>
 </item>
 </channel>
 </rss>

Nel giugno del 2000, Userland prese la specifica RSS di Netscape, rimosse le dichiarazioni di copyright della Netscape inserendone di proprie, fece dei cambiamenti incompatibili, chiamò questa RSS 0.91, sostenendo che fosse compatibile con l'RSS 0.91 di Netscape.

l'RSS 0.91 di Userland appare così: Esempio 3. RSS 0.91 di Userland

 <rss version="0.91">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>24</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 < 2, 3 < 4.
 In HTML, <b> starts a bold phrase
 and you start a link with <a href=
 </description>
 </item>
 </channel>
 </rss>

RSS 0.91 di Userland è incompatibile con quello di Netscape per diverse cose (in questo elenco sarà sottointeso "RSS 0.91", indicando le 2 diverse specifiche con l'azienda che le ha prodotte):

  1. Netscape dice che <hour>, dentro <skipHours> va da 0 a 23. Userland invece va da 1 a 24.
  2. Netscape contiene l'elemento "textinput". Userland contiene invece l'elemento "textInput". Essendo XML case-sensitive, questi sono elementi nettamente diversi.
  3. Netscape usa un DTD che permette di usare 96 entità:  , ¡, ¢, £, ¤, ¥, ¦, §, ¨, ©, ª, «, ¬, ­, ®, ¯, °, ±, ², ³, ´, µ, ¶, ·, ¸, ¹, º, », ¼, ½, ¾, ¿, À, Á, Â, Ã, Ä, Å, Æ, Ç, È, É, Ê, Ë, Ì, Í, Î, Ï, Ð, Ñ, Ò, Ó, Ô, Õ, Ö, ×, Ø, Ù, Ú, Û, Ü, Ý, Þ, ß, à, á, â, ã, ä, å, æ, ç, è, é, ê, ë, ì, í, î, ï, ð, ñ, ò, ó, ô, õ, ö, ÷, ø, ù, ú, û, ü, ý, þ, and ÿ. Userland elimina questo DTD, così da rendere invalide queste entità e non permettere il loro uso.

Nel Dicembre del 2000, il RSS-DEV Working Group, gruppo del W3C, rilasciò la specifica 1.0, dichiarando la compatibilità con RSS 0.90. Di fatto era completamente incompatibile e non condivideva alcun elemento con RSS 0.90, usando un XML namespace completamente diverso. RSS 1.0 fu intenzionalmente incompatibile con RSS 0.91 (sia quello di Netscape che quello di Userland) per via della sua sintassi RDF, che faceva parte del progetto originale dell'RSS prima delle modifiche di Netscape.

RSS 1.0 appare così: Esempio 4. RSS 1.0

 <rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/">
 <channel>
 <title>Example Dot Org</title>
 <link>http://www.example.org</link>
 <description>the Example Organization web site</description>
 <items>
 <rdf:Seq>
 <rdf:li resource="http://www.example.org/status/"/>
 </rdf:Seq>
 </items>
 </channel>
 <image rdf:about="http://www.example.org/images/logo.gif"/>
 <image rdf:about="http://www.example.org/images/logo.gif”>
 <title>Example</title>
 <url>http://www.example.org/images/logo.gif</url>
 <link>http://www.example.org</link>
 </image>
 <item rdf:about="http://www.example.org/status/”>
 <title>New Status Updates</title>
 <link>http://www.example.org/status/</link>
 <description>News about the Example project</description>
 </item>
 </rdf:RDF>

Più tardi, nello stesso Dicembre del 2000, Userland rilasciò RSS 0.92, dichiarandolo compatibile con la loro versione 0.91.

Esempio 5. RSS 0.92

 <rss version="0.92">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>24</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 < 2, 3 < 4.
 In HTML, <b> starts a bold phrase
 and you start a link with <a href=
 </description>
 </item>
 </channel>
 </rss>

RSS 0.92 è incompatibile con RSS 0.91 di Netscape per gli stessi motivi per cui lo era la versione 0.91. Ma questa è anche incompatibile con la stessa 0.91 di Userland per via del formato del contenuto del tag <description> che cambia da plain text a HTML. L'esempio di RSS 0.92 (esempio 5) sembra uguale all'esempio di RSS 0.91 di Userland (l'esempio 3) tranne la versione, ma il significato della descrizione è diverso, per avere semanticamente lo stesso risultato bisogna convertire il testo così:

Esempio 6. RSS 0.92, propriamente convertito

 <rss version="0.92">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>24</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 &lt; 2, 3 &lt; 4.
 In HTML, &lt;b&gt; starts a bold phrase
 and you start a link with &lt;a href=
 </description>
 </item>
 </channel>
 </rss>

Nell'Aprile del 2001, Userland rilasciò una "bozza" (un draft) di RSS 0.93, in cui era dichiarata la compatibilità con la versione 0.92 con la loro versione 0.91. Nonostante non sia stata mai rilasciata per uso pubblico la versione RSS 0.93 è attualmente usata da aziende del calibro di Disney. RSS 0.93 mantiene la stessa struttura di RSS 0.92, e per questo è incompatibile con le versioni precedenti alla 0.92. Aggiunse infine l'elemento opzionale <expirationDate>.

RSS 0.93 appare così:

Esempio 7. RSS 0.93

 <rss version="0.93">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>24</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 &lt; 2, 3 &lt; 4.
 In HTML, &lt;b&gt; starts a bold phrase
 and you start a link with &lt;a href=
 </description>
 <expirationDate>Sat, 29 Nov 2003 10:17:13 GMT</expirationDate>
 </item>
 </channel>
 </rss>

In Agosto 2002, Userland rilasciò una bozza di RSS 0.94 (e la 0.93 che fine fece?), dichiaratamente compatibile RSS 0.93, RSS 0.92, la loro versione 0.91. Anche se non fu mai rilasciata per uso pubblico, la versione RSS 0.94 è attualmente usata da diversi siti e aggregatori.

RSS 0.94 è incompatibile con tutte le versioni precedenti RSS per questi motivi:

  1. con RSS 0.93 per l'eliminazione dell'elemento <expirationDate>, elemento introdotto proprio nella versione 0.93.
  2. RSS 0.94 introduce un cambiamento significativo al formato: all'elemento <description> è stato aggiunto l'attributo "type", col quale indicare il tipo MIME della descrizione. Il tipo di default è “text/html”, ciò significa che se non specificato, RSS 0.94 si comporta come RSS 0.92, ed è quindi incompatibile con le versioni a questa precedente. Se invece è specificato, i client compatibili 0.93 non riconoscendo il nuovo attributo interpreteranno male il contenuto della descrizione, considerandolo HTML.

Per circostanze storiche, non esistono copie ufficiali della specifica RSS 0.94. La specifica sopra citata si riferisce alla versione 2.0, di cui parleremo sotto.

RSS 0.94 appare così: Esempio 8. RSS 0.94

 <rss version="0.94">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>24</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description type="text/plain">1 < 2, 3 < 4.
 In HTML, <b> starts a bold phrase
 and you start a link with <a href=
 </description>
 </item>
 </channel>
 </rss>

Nel settembre del 2002, Userland rilasciò RSS 2.0 (partendo dalla bozza della 0.94), dichiarando retrocompatibilità con RSS 0.94, RSS 0.93, RSS 0.92, e la loro versione di RSS 0.91. RSS 2.0 è in realtà incompatibile con tutte le versioni precedenti per questo:

  1. RSS 2.0 elimina l'elemento <rating>, permesso invece in RSS 0.91 di Netscape e di Userland, RSS 0.92, RSS 0.93, and RSS 0.94.
  2. RSS 2.0 elimina l'attributo "type" introdotto RSS 0.94, perché considerato un errore che creava confusione. La specifica RSS 2.0 dice che <description> "può contenere o meno" HTML, ma non c'è modo per l'utente di distinguere con un applicazione l'HTML dal testo puro (specialmente in testi che citano html). Di fatto, l'eliminazione di questo attributo crea infinitamente più confusione per un programma di quanto facesse la versione 0.94.

RSS 2.0 appare così: Esempio 9. RSS 2.0

 <rss version="2.0">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>24</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 &lt; 2, 3 &lt; 4.
 In HTML, &lt;b&gt; starts a bold phrase
 and you start a link with &lt;a href=
 </description>
 </item>
 </channel>
 </rss>

Nel Novembre 2002, Userland rilasciò RSS 2.01, compatibile, secondo loro, con RSS 2.0, RSS 0.94, RSS 0.93, RSS 0.92, e la loro versione di RSS 0.91. RSS 2.01 cambiò la semantica dell'elemento <skipHours>. In RSS 0.94, RSS 0.93, RSS 0.92, e RSS 0.91 di Userland, le ore andavano da 1 a 24. In RSS 2.01, come nelle versioni di Netscape le ore andavano da 0 a 23. RSS 2.01 condivide il modello interno di RSS 2.0, il che vuol dire che è incompatibile con RSS 0.94 e tutte le versioni di RSS prima della 0.92.

RSS 2.01 appare così: Esempio 10. RSS 2.0, post-11/11/2002 (RSS 2.01)

 <rss version="2.0">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>0</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 &lt; 2, 3 &lt; 4.
 In HTML, &lt;b&gt; starts a bold phrase
 and you start a link with &lt;a href=
 </description>
 </item>
 </channel>
 </rss>

La specifica RSS 2.01 è stata pubblicata al posto della 2.0; non esistono copie ufficiali della specifica 2.0. Come puoi vedere dall'esempio 10, RSS 2.01 usa lo stesso “2.0″ come numero della versione, come RSS 2.0, rendendo impossibile la distinzione da parte di un programma. Tutti i feed RSS 2.0 sono da considerarsi feed RSS 2.01, nonostante l'incompatibilità tra RSS 2.01 e RSS 2.0. Questo significa che, pubblicando un feed RSS 2.0 valido il 10 Novembre contenente <hour>24</hour>, potresti svegliarti l'11 e scoprire che il tuo feed è diventato invalido mentre dormivi.

Nel Gennaio 2003, Userland cambiò la specifica, già pubblicata, RSS 2.01, per riaggiungere l'elemento <rating>. Il formato restò invariato, il che vuol dire che RSS 2.01 è ancora incompatibile con RSS 0.94 e tutte le versioni RSS prima della 0.92.

RSS 2.01 appare così: Esempio 11. RSS 2.0, post-1/21/2003 (RSS 2.01 rev 2)

 <rss version="2.0">
 <channel>
 <title>Example Channel</title>
 <link>http://example.com/</link>
 <description>an example feed</description>
 <language>en</language>
 <rating>(PICS-1.1 “http://www.classify.org/safesurf/” l r (SS~~000 1))</rating>
 <textInput>
 <title>Search this site:</title>
 <description>Find:</description>
 <name>q</name>
 <link>http://example.com/search</link>
 </textInput>
 <skipHours>
 <hour>0</hour>
 </skipHours>
 <item>
 <title>1 < 2</title>
 <link>http://example.com/1_less_than_2.html</link>
 <description>1 &lt; 2, 3 &lt; 4.
 In HTML, &lt;b&gt; starts a bold phrase
 and you start a link with &lt;a href=
 </description>
 </item>
 </channel>
 </rss>

Ancora una volta, la nuova specifica 2.01 fu pubblicata al posto della vecchia, senza nessuna copia ufficiale della versione precedente. Né la versione di revisione ("2.01″) né la versione del formato ("2.0″) cambiarono, rendendo impossibile ancora una volta distinguere tra i due formati. Questo vuol dire che se un feed contiene l'elemento <rating> e si dichiara come RSS 2.0, è impossibile sapere se è valido senza sapere quando è stato creato.


Ci sono in tutto 9 versioni di RSS, tutte incompatibili per qualche motivo con una parte delle altre. RSS 0.90 è incompatibile con RSS 0.91 di Netscape, RSS 0.91 di Netscape è incompatibile con RSS 0.91 di Userland, RSS 0.91 di Netscape è incompatibile con RSS 1.0, quella del W3C, RSS 0.91 di Userland è incompatibile con la loro stessa 0.92, RSS 0.92 è incompatibile con la 0.93, 0.93 con la 0.94, 0.94 con la 2.0, e la 2.0 è incompatibile con sé stessa.

[modifica] Bibliografia

  • BEN HAMMERSLEY, Content Syndication with RSS
    O'Reilly, Sebastopol, 2003
    ISBN 0596003838
  • BEN HAMMERSLEY, Developing Feeds with RSS and Atom
    O'Reilly, Sebastopol, 2005
    ISBN 0596008813

[modifica] Collegamenti esterni

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu