Specifiche RSS 2.0
Traduzione italiana delle specifiche inglesi del formato RSS 2.0.
Note di traduzione
La presente documentazione è una traduzione italiana delle specifiche RSS 2.0, pubblicate da RSS Advisory Board il 12 Agosto 2006.
La traduzione italiana è stata eseguita da Simone Carletti <weppos@weppos.net>. Traduzione completata il 2006-04-16.
Nonostante sia stata usata la massima cura possibile nella fase di traduzione, non si esclude la presenza di errori nel presente documento. Qualsiasi errore individuato e segnalato all'autore della traduzione verrà verificato e corretto nel più breve tempo possibile.
La presente documentazione è una traduzione italiana delle specifiche RSS 2.0, pubblicate da RSS Advisory Board il 12 Agosto 2006.
- L'URI di questo documento è http://www.specifiche.it/rss/2.0/
- L'URI della versione originale in lingua inglese è http://www.rssboard.org/rss-2-0-8
- L'URI della versione più recente in lingua inglese è http://www.rssboard.org/rss-specification
La traduzione italiana è stata eseguita da Simone Carletti <weppos@weppos.net>. Traduzione completata il 2006-04-16.
Nonostante sia stata usata la massima cura possibile nella fase di traduzione, non si esclude la presenza di errori nel presente documento. Qualsiasi errore individuato e segnalato all'autore della traduzione verrà verificato e corretto nel più breve tempo possibile.
- Che cos'è l'RSS?
- File di esempio
- Informazioni su questo documento
- Elementi obbligatori per channel
- Elementi opzionali per channel
- Elementi per <item>
- Commenti
- Estendere l'RSS
- Roadmap
- Licenza e proprietà
Che cos'è l'RSS?
L'RSS è un formato per la distribuzione di contenuti nel Web.Il suo nome è acronimo di Really Simple Syndication.
L'RSS è un dialetto dell'XML. Ogni file RSS deve essere conforme alle specifiche XML 1.0, così come pubblicato sul sito del World Wide Web Consortium (W3C).
Cronologia delle versioni dell'RSS.
Al livello più alto, un documento RSS è costituito da un elemento
<rss>
con un attributo obbligatorio chiamato version
, che specifica la versione RSS con la quale il file risulta conforme. Per essere conforme a queste specifiche l'attributo version
deve avere come valore 2.0
.Subordinato all'elemento
<rss>
è l'elemento <channel>
, che contiene informazioni relative al canale (metadati) e il suo contenuto.File di esempio
Ecco alcuni file di esempio per: RSS 0.91, 0.92 e 2.0.Da notare che i file di esempio potrebbero puntare a documenti o servizi non più esistenti. L'esempio 0.91 è stato creato nel momento in cui è stata scritta la documentazione per la versione corrispondente. Mantenere una traccia degli esempi è sembrata una buona idea.
Informazioni su questo documento
Questo documento rappresenta lo stato dell'RSS nell'autunno del 2002, versione 2.0.1.Incorpora tutti i cambiamenti e le aggiunte, cominciando dalle specifiche di base per l'RSS 0.91 (Giugno 2000) ed include le nuove caratteristiche introdotte con l'RSS 0.92 (Dicembre 2000) e l'RSS 0.94 (Agosto 2002).
Le note relative alle modifiche sono riportate qui.
In primo luogo queste specifiche documentano i sottoelementi obbligatori ed opzionali per l'elemento
<channel>;
in seguito quelli per l'elemento <item>
.
La sezione finale contiene risposte alle domande più frequenti e
fornisce una roadmap per evoluzioni future, oltre che linee guida
estendere l'RSS.Elementi obbligatori per channel
Questa è una lista degli elementi obbligatori per<channel>
, ciascuno con una breve descrizione, un esempio e, dove disponibile, un collegamento ad una risorsa maggiormente descrittiva.Elemento | Descrizione | Esempio |
---|---|---|
title | Il nome del canale. Per gli utenti rappresenta il riferimento a chi fornisce il servizio. Se è disponibile un sito che presenta le stesse informazioni del file RSS, il titolo del canale (channel) dovrebbe essere lo stesso titolo del sito web. | GoUpstate.com News Headlines |
link | L'URL del sito web HTML che corrisponde al canale. | http://www.goupstate.com/ |
description | Una frase o un riassunto per descrivere il canale. | The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site. |
Elementi opzionali per channel
Questa è una lista degli elementi opzionali per <channel>.Elemento | Descrizione | Esempio |
---|---|---|
language | La lingua nella quale è scritto il canale. Questo tag consente agli aggregatori di raggruppare tutti i siti italiani, per esempio, in una singola pagina. Una lista di valori consentiti per questo elemento, così come fornita da Netscape, è disponibile qui. E' possibile usare i valori definiti dal W3C. | en-us |
copyright | Informativa sul copyright per il contenuto del canale. | Copyright 2002, Spartanburg Herald-Journal |
managingEditor | Indirizzo email della persona responsabile dei contenuti editoriali. | geo@herald.com (George Matesky) |
webMaster | Indirizzo email della persona responsabile dei problemi tecnici relativi al canale. | betty@herald.com (Betty Guernsey) |
pubDate | Sat, 07 Sep 2002 00:00:01 GMT | |
lastBuildDate | La data dell'ultima modifica dei contenuti del canale. | Sat, 07 Sep 2002 09:42:31 GMT |
category | Specifica una o più categorie alle quali fa parte il canale. Segue le stesse regole dell'elemento category del livello <item> . Maggiori informazioni. |
<category>Newspapers</category> |
generator | Una stringa indicante il programma usato per generare il canale. | MightyInHouse Content System v2.3 |
docs | Un URL che punta alla documentazione del formato usato per il file RSS. Probabilmente si tratterà di un collegamento a questa pagina (NdT. "questa pagina" identifica il documento orginale). L'utilità è per gli utenti che potranno incrociare un file RSS in un web server tra 25 anni che si chiederanno di cosa si tratti. | http://www.rssboard.org/rss-specification |
cloud | Consente di registrare processi con un cloud (NdT. Servizio web che supporti l'interfaccia rssCloud) per essere notificati degli aggiornamenti del canale, implementando un protocollo leggero di pubblicazione-iscrizione per feed RSS. Maggiori informazioni qui. | <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/> |
ttl | ttl sta per time to live. E' il numero di minuti che indica per quanto tempo un canale può essere mantenuto in cache prima di rieseguire un aggiornamento dalla sorgente. Maggiori informazioni qui. | <ttl>60</ttl> |
image | Specifica una immagine GIF, JPEG o PNG che può essere mostrata con il canale. Maggiori informazioni qui. | |
rating | Il PICS per la votazione del canale. | |
textInput | Specifica un campo input text che può essere mostrato con il canale. Maggiori informazioni qui. | |
skipHours | Un suggerimento per gli aggregatori indicante in quali orari possono saltare la lettura. Maggiori informazioni qui. | |
skipDays | Un suggerimento per gli aggregatori indicante in quali giorni possono saltare la lettura. Maggiori informazioni qui. |
<image> sub-element of <channel>
<image>
è un sotto elemento opzionale di <channel>
, che contiene a sua volta tre sotto elementi obbligatori e tre sotto elementi facoltativi.<url>
è l'URL di una immagine GIF, JPEG o PNG che rappresenta il canale.<title>
descrive l'immagine, è usato come contenuto dell'attributo ALT del tag HTML <img>
quando il canale è rappresentato come HTML.<link>
è l'URL del sito, quando il canale è rappresentato come HTML l'immagine è un collegamento al sito. (Nota. in pratica i tag <title>
e <link>
dell'immagine dovrebbero avere gli stessi valori di <title>
and <link>
appartenenti a channel
).Gli elementi opzionali includono
<width>
e <height>
, numeri indicanti la larghezza e l'altezza in pixel dell'immagine. <description>
contiene il testo da includere come contenuto dell'attributo title
del link creato attorno all'immagine in fase di rappresentazione HTML.Il valore massimo per
width
è 144, quello predefinito è 88.Il valore massimo per
height
è 400, quello predefinito è 31.<cloud> sub-element of <channel>
<cloud>
è un sotto elemento opzionale di <channel>
.Specifica un servizio web che supporti l'interfaccia rssCloud che può essere implementata in HTTP-POST, XML-RPC o SOAP 1.1.
Il suo scopo è consentire la registrazione di processi per essere notificati degli aggiornamenti del canale, implementando un protocollo leggero di pubblicazione-iscrizione per feed RSS.
<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc" />
In questo esempio, per richiedere la notifica del canale riportato, è necessario inviare un messaggio XML-RPC alla porta 80 del server rpc.sys.com, con il percorso /RPC2. La procedura da richiamare è denominata myCloud.rssPleaseNotify.
Una spiegazione completa di questo elemento e dell'interfaccia rssCloud è qui.
<ttl> sub-element of <channel>
<ttl>
è un sotto elemento opzionale di <channel>
.ttl sta per time to live. E' un numero di minuti che indica per quanto tempo un canale può essere mantenuto in cache prima di rieseguire un aggiornamento dalla sorgente. Questo rende possibile la gestione delle sorgenti RSS tramite un network di file sharing come Gnutella.
Esempio:
<ttl>60</ttl>
<textInput> sub-element of <channel>
Unchannel
può contenere, facoltativamente, un sotto elemento <textInput>
, che contiene a sua volta 4 sotto elementi obbligatori.<title>
-- L'etichetta del bottone di invio (NdT. campo input type submit) del modulo input text.<description>
-- Spiega il modulo input text.<name>
-- Il nome della casella di testo nel campo input text.<link>
-- L'URL dello script CGI predisposto per processare le richieste dell'input text. Lo scopo dell'elemento
<textInput>
è ancora
qualcosa di misterioso. E' possibile fare uso di questo tag per
specificare il campo di un motore di ricerca interno. In alternativa lo
si può adottare per consentire ai lettori di inviare un feedback.La maggior parte degli aggregatori ignora questo tag.
Elementi per <item>
Unchannel
può contenere un qualsiasi numero di <item>
. Un
item
può rappresentare una "storia", come ad esempio una
storia in un giornale o una rivista; in questo caso la sua descrizione è
una sintesi della storia ed il collegamento indirizza alla storia
completa. Un
item
può anche contenere informazioni sufficienti per
essere autonomo; in questo caso la descrizione contiene il testo (è
ammesso un testo HTML con le entità codificate, vedi esempi) ed i tag <link>
e <title>
possono essere omessi. Tutti gli elementi di un
<item>
sono opzionali, tuttavia deve essere almeno presente un <title>
o una <description>
. Elemento | Descrizione | Esempio |
---|---|---|
title | Il titolo di item . |
Venice Film Festival Tries to Quit Sinking |
link | L'URL di item . |
http://nytimes.com/2004/12/07FEST.html |
description | Una sintesi di item . |
Some of the most heated chatter at the Venice Film Festival this week was about the way that the arrival of the stars at the Palazzo del Cinema was being staged. |
author | Indirizzo email dell'autore di item . Approfondimento. |
|
category | Include item in una o più categorie. Approfondimento. |
|
comments | URL di una pagina contenente i commenti correlati a item . Approfondimento. |
|
enclosure | Descrive un oggetto multimediale allegato a item . Approfondimento. |
|
guid | Una stringa che identifica univocamente item . Approfondimento. |
|
pubDate | Indica quando item è stato pubblicato. Approfondimento. |
|
source | Il canale RSS dal quale proviene item . Appronfondimento. |
<source> sub-element of <item>
<source>
è un sotto elemento opzionale di <item>
.Il suo valore è il nome del canale RSS da quale proviene l'item, derivato dal suo
<title>
. Ha un attributo obbligatorio, url
, che collega alla rappresentazione XML della sorgente. <source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>
Lo scopo di questo elemento è di diffondere i crediti per link e di pubblicizzare le sorgenti delle news / degli elementi del feed. Può essere utilizzato nel comando Post di un aggregatore.
Dovrebbe essere generato automaticamente quando si invia un elemento da un aggregatore ad uno strumento di scrittura per blog.
<enclosure> sub-element of <item>
<enclosure>
è un sotto elemento opzionale di <item>
.Ha tre attributi obbligatori.
url
indica doce si trova l'allegato, length
indica la dimensione espressa in byte e type
indica il tipo di file corrispondente ad uno dei MIME type standard. L'
url
deve essere un url http. <enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg" />
Un possibile scenario di con uso narrativo di questo elemento è qui.
<category> sub-element of <item>
<category>
è un sotto elemento opzionale di <item>
.Ha un attributo opzionale,
domain
, una stringa che identifica una classificazione tassonomica per categorie. Il valore dell'elemento è una stringa separata da slash ( / ) che identifica una collocazione gerarchica all'interno della tassonomia indicata. Gli interpreti possono stabilire convenzioni per l'interpretazione delle categorie. Due esempi sono forniti di seguito:
<category>Grateful Dead</category>
<category domain="http://www.fool.com/cusips">MSFT</category>
E' possibile includere tanti elementi
category
quanti
siano necessari, per domini differenti, ed avere un elemento con
riferimenti incrociati in diverse parti dello stesso dominio. <pubDate> sub-element of <item>
<pubDate>
è un sotto elemento opzionale di <item>
.Il suo valore è una data, corrispondente alla pubblicazione di
item
. Se la data fa riferimento ad un periodo futuro gli aggregatori possono scegliere di non visualizzare item
fino a quella data. <pubDate>Sun, 19 May 2002 15:21:36 GMT</pubDate>
<guid> sub-element of <item>
<guid>
è un sotto elemento opzionale di <item>
.guid
per Globally Inique Identifier. E' una stringa che identifica in modo univoco item
.Quando presente, l'aggregatore può scegliere di usare questa stringa per determinare se un
item
è nuovo. <guid>http://some.server.com/weblogItem3207</guid>
Non ci sono regole particolari per la sintassi dell'elemento
guid
. Gli aggregatori devono considerarlo come stringa. Spetta alla sorgente del feed garantire l'unicità del valore della stringa.Se l'elemento guid ha un attributo chiamato
isPermalink
impostato con valore true,
il lettore può assumere che si tratti di un permalink all'elemento,
ovvero un URL che può essere aperto in un web browser e che punta
all'intero contenuto descritto dall'elemento <item>
. Un esempio:<guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid>
isPermalink
è opzionale ed il suo valore predefinito è true. Se il suo valore è false, l'elemento guid
non può essere considerato un URL o un indirizzo a qualcosa in particolare.<comments> sub-element of <item>
<comments>
è un sotto elemento opzionale di <item>
.Se presente, corrisponde all'URL della pagina contenente i commenti a
item
. <comments>http://ekzemplo.com/entry/4403/comments</comments>
Maggiori informazioni sui commenti qui.
<author> sub-element of <item>
<author>
è un sotto elemento opzionale di <item>
.Corrisponde all'indirizzo email dell'autore di
item
. Per i giornali e le riviste che distribuiscono un feed RSS, l'autore è la persona che ha scritto l'articolo che item
descrive. For blog composti da più collaboratori, l'autore di item
potrebbe essere differente dall'editore responsabile (managin editor) o
dal webmaster. Per un blog gestito da un singolo individuo avrebbe
senso omettere l'elemento <author>
. Commenti
L'RSS imposta delle restrizioni al primo carattere non spazio e non bianco che compone il valore degli elementi <link> e <url>. Il valore di questi elementi deve cominciare con uno schema URI IANA-registrato, come ad esempiohttp://
, https://
, news://
, mailto://
e ftp://
. Prima del formato RSS 2.0 le specifiche consentivano solo http://
e ftp://
,
tuttavia, in pratica gli altri schemi URI erano ugualmente usati dagli
sviluppatori e supportati dagli aggregatori. Gli aggregatori possono
avere dei limiti per quanto riguarda il supporto a schemi URI. Gli
sviluppatori di contenuti non dovrebbero dare per scontato che ogni
lettore per feed supporti tutti gli schemi.Nell'RSS 0.91, molti elementi sono limitati a 500 o 100 caratteri. Non ci possono essere più di 15
<items>
in un <channel>
nel formato 0.91. Non ci sono limiti di lunghezza per le stringhe o
limiti a livelli XML nell'RSS 0.92 e superiori. Gli interpreti possono
imporre limiti specifici e i produttori di contenuti possono avere
preferenze sul numero massimo di <item>
che desiderano inserire in un channel
, o quali stringhe devono avere limiti di lunghezza. Nell'RSS 2.0 c'è un modo per collegare un canale al suo identificatore in un sistema di catalogazione usando la funzionalità dell'elemento
category
a livello channel
, come
descritto in precedenza. Per esempio, per collegare un canale al suo
identificatore in Syndic8, basta includere un elemento category
come sub-elemento di <channel>
,
con dominio "Syndic8" e come valore l'identificativo per il canale nel
database di Syndic8. L'elemento category appropriato per Scripting News
dovrebbe essere <category domain="Syndic8">1765</category>
.Una domanda frequente per quanto riguarda gli elementi
<guid>
è se/come possano essere comparati agli elementi <link>
. Non sono la stessa cosa? Sì, in alcuni sistemi di contenuti, e no in altri. In alcuni sistemi, <link>
è un permalink ad un post di un blog. Tuttavia, in altri sistemi, ogni <item>
è un riassunto di un articolo più lungo, <link>
punta all'articolo e <guid>
è il permalink al post del blog. In ogni caso, è consigliato fornire un
guid
e se possibile renderlo un permalink. Questo consente agli aggregatori di evitare la ripetizione di item
, anche se è stato modificato o sono stati apportati cambiamenti. Se avete domande sul formato RSS 2.0, siete invitati a postarle nella mailing list pubblica RSS-Public. La mailing list, gestita dall'RSS Advisory Board, serve come risorsa di supporto per utenti, autori e sviluppatori alle prese con la creazione e l'uso di contenuti nel formato RSS 2.0.
Estendere l'RSS
L'RSS ha avuto origine nel 1999 e si è sforzato di essere un formato semplice, facile da comprendere con obiettivi relativamente modesti. Dopo essere diventato un formato popolare, gli sviluppatori hanno desiderato estenderlo attraverso moduli definiti via namespace, così come specificato dal W3C.RSS 2.0 introduce questa possibilità, seguendo una semplice regola. Un feed RSS può contenere elementi non descritti in questa pagina solo se questi elementi sono definiti in un namespace.
Gli stessi elementi definiti in questo documenti non parte di un namespace, così che l'RSS 2.0 risulti compatibile con versioni precedenti in questo senso -- un file in versione 0.91 o 0.92 è anche un file 2.0 valido. Se gli elementi di un RSS 2.0 fossero stati inseriti in un namespace, questa restrizione sarebbe venuta meno, un file in versione 0.9x non sarebbe stato un file 2.0 valido.
Nessun commento:
Posta un commento