Traduzione italiana non ufficiale delle specifiche inglesi del formato RDF Site Summary (RSS) 1.0.
Note di traduzione
La presente documentazione è una traduzione italiana delle specifiche RDF Site Summary (RSS) 1.0, pubblicate da RSS-DEV working group il 05 Dicembre 2000.
Questo documento è da considerare come risorsa di supporto. L'unica versione normativa è rappresentata dalle specifiche ufficiali in lingua inglese.
La traduzione italiana è stata eseguita da Simone Carletti <weppos@weppos.net>. Traduzione completata il 2006-04-22.
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.
RDF Site Summary (RSS) è un formato di metadati leggero, multiuso, estensibile per la descrizione e la distribuzione di contenuti. RSS è una applicazione di XML, conforme alle specifice RDF del W3C ed è estensibile via namespace XML e/o una modularizzazione basata sull'RDF.
I componenti del RSS-DEV Working Group:
Ultima versione: http://purl.org/rss/1.0/spec
1.3.4 2001-05-30 Corretto un piccolo errore di digitazione nella sezione 5.3.6 (as, annuncio)
1.3.3 2001-03-20 Aggiornato mime-type e URI (as, annuncio)
1.3.2 2000-12-19 (Cambiato stile e tidied markup; autore revisione: SBP)
1.3.1 2000-12-17 (Corretto errore di digitazione: Un limite massimo di 15 item per documento RSS è raccomandato, non obbligatorio [5.5].)
1.3 2000-12-09
I commenti dovrebbero essere indirizzati alla RSS-DEV mailing list, archiviata a http://www.egroups.com/messages/rss-dev.
Copyright © 2000 gli Autori.
Il permesso di usare, copiare, modificare e distribuire le Specifiche del RDF Site Summary 1.0 e la documentazione allegata per qualsiasi scopo e senza compenso o pagamento di diritti, è con questo mezzo garantito, posto che le informazioni sul copyright riportate sopra e questo paragrafo compaiano in ogni copia. I detentori del copyright non garantiscono circa l'idoneità delle specifiche per alcun scopo. La documentazione è fornita "così come è" senza garanzie espresse o implicite.
Il presente copyright si applica alle Specifiche del RDF Site Summary 1.0 e alla documentazione che le accompagna e non si estende al formato RSS stesso.
RDF Site Summary (RSS) è un formato di metadati leggero, multiuso, estensibile per la descrizione e la diffusione di contenuti. L'RSS è una applicazione dell'XML, conforme alle specifice RDF del W3C. L'RSS è estensibile via namespace XML e/o attraverso una modularizzazione basata su RDF.
Un sommario RSS, nella minore delle ipotesi, è un documento che descrive un canale consistente in una lista di articoli raggiungibili tramite un URL. Ogni elemento è composto da un titolo, un link ed una breve descrizione. Anche se gli articoli per tradizione hanno rappresentato principalmente titoli di notizie, l'RSS è stato utilizzato per diversi scopi nella sua breve esistenza (NdR. la prima versione di questo documento è stata rilasciata nel 2000). Per esempi di documenti RSS 1.0 consultare la sezione Esempi seguente.
Sezione non ancora disponibile.
Sezione non ancora disponibile.
L'obiettivo di progettazione dell'RSS 1.0 è un formato di metadati basato sull'XML, leggero, multiuso, estensibile per la descrizione e la diffusione di contenuti. La retrocompatibilità con la versione RSS 0.9 è un obiettivo per agevolarne l'uso da parte dei produttori di contenuti esistenti.
Molto del successo dell'RSS deriva dal fatto che è semplicemente un documento XML piuttosto che un completo framework di distribuzione come ad esempio XMLNews e ICE.
Il seguente è un esempio base di documento RSS 1.0, costituito solamente dal set di elementi della struttura centrale del formato RSS 1.0.
I 12 mesi successivi al rilascio della versione 0.91 hanno visto affiorare numerosi utilizzi innovativi per l'RSS. Si è ricorsi all'uso dell'RSS per soddisfare le esigenze richieste dalla crescita di nuove applicazioni: aggregazione, argomenti di discussione, elenco di lavori, vendita di appartamenti (servizi di listing multiplo), punteggi sportivi, catalogazione di documenti, ecc. Attraverso la modularizzazione basata su namespace XML e RDF, l'RSS 1.0 rappresenta un framework sia per la distribuizione standardizzata sia per quella con uno scopo specifico.
Il punto cruciale delle differenze tra la versione RSS 1.0 e le versioni precedenti (o le parallele) è riconducibile all'estensibilità attraverso i namespace XML e la conformità alla sintassi RDF (Resource Description Framework).
I moduli basati sui namespace consentono un'estensibilità suddivisibile in compartimenti. Questo permette di estendere l'RSS:
I moduli RSS sono trattati più dettagliatamente nella sezione sottostante.
I metadati sono dati che descrivono dati. Mentre il web non manca sicuramente di informazioni, non sono molte le descrizioni su questo argomento. Il W3C Metadata Activity Statement esprime quanto segue sul tema:
I possibili usi del Web sembrano infiniti, ma la tecnologia sta perdendo di vista un punto cruciale. Si sta perdendo una parte del Web che contiene informazioni a proposito delle informazioni - etichettatura, catalogazione e informazioni descrittive strutturate in un modo che permetta alle pagine Web di essere correttamente cercate e processate in particolare dai computer.
L'RDF permette la rappresentazione di ricche relazioni tra metadati più di quanto sia possibile fare con la più recente struttura RSS. L'esistenza di una base RDF nell'RSS 0.9 è stata la ragione che ha portato alla scelta di costruire la più recente versione dell'RSS; attempting to re-introduce RDF into RSS version 0.91 proved a "putting the toothpaste back into the tube" proposition.
Il termine syndication è qui definito come la messa a disposizione online di dati per il recupero ed ulteriore trasmissione, aggregazione o pubblicazione online. Le caratteristiche delle varie complessità dei sistemi di syndication (free vs. subscription, push vs. pull, ecc.), tuttavia, non rientrano nello scopo di queste specifiche.
Il centro della struttura dell'RSS 1.0 è costruito a partire dall'RSS 0.9. Il fulcro dell'RSS 1.0 è l'estensibilità attraverso i namespace XML e l'RDF, pur mantenendo una compatibilità con le versioni precedenti.
La compatibilità con la precedente versione è assicurata dal presupposto che i parser RSS base, i moduli e le librerie ignorano le informazioni che la progettazione non richiede loro di comprendere:
RSS 1.0 è estensibile attraverso l'uso di moduli basati su namespace XML. Nonostante l'estensibilità personalizzata sia una scelta naturalmente consigliata, si spera che emerga l'uso di una serie di moduli predefiniti come tassonomia, aggregazione, Dublin Core… Per approfondimenti consultare la sezione seguente dedicata ai moduli, così come quella dedicata ai moduli della struttura centrale dell'RSS 1.0.
Una restrizione imposta ai sottoelementi del livello channel, image, item e textinput [ 5.3 <channel> , 5.4 <image> , 5.5 <item> , 5.6 <textinput> ] è che questi elementi non possono contenere sottoelementi duplicati (Es. <item><dc:subject /><dc:subject /></item>). Questa necessità coinvolge solo i sottoelementi immediati. Qualsiasi profondità aggiuntiva (maggiore ricchezza di contenuto o elementi ripetuti) è già correttamente definita usando la sintassi RDF.
Sezione non ancora disponibile.
Il mime-type attualmente raccomandato per un documento RSS 1.0 è application/xml. Tuttavia, si sta lavorando per registrare un mime-type apposito per l'RDF (e possibilmente RSS). Il mime-type RDF (o preferibilmente RSS) dovrebbe essere usato una volta registrato.
Non è richiesta un'estensione specifica per i documenti RSS 1.0. Sono raccomandate .rdf o .xml, anche se la prima rappresenta una scelta preferenziale.
Mentre l'RSS 0.9 supportava unicamente la codifica ASCII , l'RSS 1.0 assume implicitamente UTF-8. L'utilizzo di US-ASCII (Es. codificare tutti i caratteri superiori a 127 come &#nnn;) è conforme con UTF-8 (e ISO-8859-1, le codifiche predefinite degli header HTTP).
Per garantire la retro compatibilità con RSS 0.9, solamente gli schemi seguenti sono ammessi negli elementi <url> e <link>: http:, https:, ftp:. malto: è ammesso solamente nel link dell'elemento <textinput>.
XML riserva alcuni caratteri per la stesura del codice. Per inserire questi caratteri come elemento testuale in un documento RSS è necessario sostituirli con le entità corrispondenti:
Le due entità seguenti sono correttamente riconosciute da un parser conforme alle specifiche XML. Anche se comune, il loro uso è comunque opzionale. La codifica è necessaria nel caso in cui si includano delle virgolette con significato testuale all'interno di virgolette usate per il loro scopo originale, es ""Hello," she said" dovrebbe essere codificato come ""Hello," she said".
Nota. Partendo dal presupposto che RSS 1.0 non richiede un DTD, assicurarsi di includere una dichiarazione interna di tutte le entità usate oltre alle cinque sopra citate. I seguenti frammenti di DTD risultano particolarmente utili per la definizione di entità compatibili con l'HTML.
Esempio di utilizzo:
Mentre l'RSS 1.0 offre una lunghezza sufficiente per i contenuti di elementi come <title>, <link> e <description>, un numero massimo di caratteri è richiesto per conservare una compatibilità con la versione RSS 0.9 che propone canoni più rigidi.
Negli elementi della sintassi centrale presentati in seguito si utilizzeranno le seguenti convenzioni:
In quanto applicazione dell'XML, un documento RSS non necessita di cominciare con una dichiarazione XML. Tuttavia, queste specifiche ne raccomandano l'uso poiché rappresenta la pratica migliore e permette di accertare la retrocompatibilità con RSS 0.9 (le specifiche 0.9 lo richiedono).
Sintassi: <?xml version="1.0"?>
Requisiti: Opzionale (A meno che non venga specificata la codifica)
Il livello più esterno in ogni documento conforme con le specifiche RSS 1.0 è l'elemento RDF. L'apertura del tag RDF associa il prefisso del namespace rdf: con lo schema dalla sintassi RDF e stabilisce lo schema RSS 1.0 come il namespace predefinito per il documento.
Nonostante possa essere usato un qualsiasi prefisso namespace valido, ai creatori del documento è raccomandato considerare "rdf:" come una norma. Coloro che desiderano fornire un documento rigorosamente retrocompatibile con RSS 0.9 devono usare "rdf:".
Sintassi: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
Requisiti: Richiesto esattamente come mostrato, oltre a qualsiasi dichiarazione addizionale di namespace
Modello: (channel, image?, item+, textinput?)
L'elemento channel contiene metadati che descrivono il canale stesso, incluso un titolo, una breve descrizione ed un URL alla risorsa descritta (in genere la home page del fornitore dei contenuti del canale). La {resource} URL dell'attributo rdf:about dell'elemento channel deve essere unica rispetto ad ogni altro attributo rdf:about nel documento RSS ed è un URL che identifica il canale. Comunemente, consiste nell'URL della homepage che è descritta oppure l'URL dove è possibile trovare il file RSS.
Sintassi: <channel rdf:about="{resource}">
Requisiti: Richiesto
Attributi richiesti: rdf:about
Modello: (title, link, description, image?, items, textinput?)
Esempio:
Un titolo descrittivo del canale.
Sintassi: <title>{channel_title}</title>
Requisiti: Richiesto
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 40 (caratteri)
L'URL che una rappresentazione HTML del titolo canale dovrà collegare, comunemente rappresentato dalla home page del sito o dalla pagina delle news.
Sintassi: <link>{channel_link}</link>
Requisiti: Richiesto
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
Una breve descrizione del contenuto del canale, funzioni, sorgente, ecc.
Sintassi: <description>{channel_description}</description>
Requisiti: Richiesto
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
Stabilisce un'ssociazione RDF tra l'elemento image opzionale [5.4] e questo particolare canale RSS. La rdf:resource {image_uri} deve essere la stessa dell'attributo rdf:about {image_uri} dell'elemento image.
Sintassi: <image rdf:resource="{image_uri}" />
Requisiti: Richiesto solo se l'elemento image è presente
Modello: Vuoto
Una Tavola dei Contenuti RDF, che associa gli item del documento [5.5] con questo particolare canale RSS. L'attributo rdf:resource {item_uri} di ogni itemrdf:about {item_uri} dell'item.
Una RDF Seq (sequenza) è usata per contenere tutti gli item piuttosto che un RDF Bag per denotare l'ordine di ciascun item per una rappresentazione e ricostruzione.
Notare che gli elementi che compaiono nel documenti ma non sono contenuti nella sequenza del livello channel è probabile che vengano scartati da un parser RDF.
Sintassi: <items><rdf:Seq><rdf:li resource="{item_uri}" /> ... </rdf:Seq></items>
Requisiti: Richiesto
Stabilisce un'associazione RDF tra l'elemento textinput opzionale [5.6] e questo particolare canale RSS. La {textinput_uri} rdf:resource deve essere la stessa dell'attributo rdf:about {textinput_uri} dell'elemento textinput.
Sintassi: <textinput rdf:resource="{textinput_uri}" />
Requisiti: Richiesto solo se l'elemento textinput è presente
Modello: Vuoto
Immagine da associare ad una rappresentazione HTML del canale. L'immagine dovrebbe essere di un formato supportato dalla maggior parte dei browser web. Nonostante le ultime specifiche della versione 0.91 consentissero una larghezza di 1-144 ed una altezza di 1-400, le convenzioni (e le specifiche 0.9) impongono 88x31.
Sintassi: <image rdf:about="{image_uri}">
Requisiti: Opzionale; se presente, deve essere presente anche nell'elemento channel [5.3.4]
Attributi richiesti: rdf:about
Modello: (title, url, link)
Esempio:
Testo alternativo (attributo "alt") associato al tag image del channel nella rappresentazione HTML.
Requisiti:Sintassi: <title>{image_alt_text}</title>
Richiesto se l'elemento image è presente
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 40 (caratteri)
L'URL dell'immagine da usare nell'attributo "src" del tag image del channel nella rappresentazione HTML.
Sintassi: <url>{image_url}</url>
Requisiti: Richiesto se l'elemento image è presente
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
L'URL che una rappresentazione HTML del titolo canale dovrà collegare, comunemente rappresentato dalla home page del sito o dalla pagina delle news.
Sintassi: <link>{image_link}</link>
Requisiti: Richiesto se l'elemento image è presente
Modello: (#PCDATA)
Parte di: image
(Suggerimento) Lunghezza Massima: 500 (caratteri)
Mentre comunemente si tende a rappresentare intestazioni di news, con l'estensibilità modulare dell'RSS 1.0 questo elemento può rappresentare qualsiasi cosa: messaggi di una discussione, un elenco di lavori, correzioni di un software -- un qualsiasi oggetto con un URI. Ci deve essere un minimo di un elemento per ciascun documento RSS. Mentre la versione RSS 1.0 non stabilisce alcun limite massimo, per mantenere la retrocompatibilità con RSS 0.9 e 0.91 è raccomandato un numero limite di 15 elementi.
{item_uri} deve essere unico rispetto ad ogni altro attributo rdf:about nel documento RSS ed è un URL che identifica il canale. {item_uri} dovrebbe essere identico al valore del sub-elemento <link> dell'elemento <item>, se possibile.
Sintassi: <item rdf:about="{item_uri}">
Requisiti: >= 1
Raccomandazioni (per retrocompatibilità con 0.9.x): 1-15
Attributi richiesti: rdf:about
Modello: (title, link, description?)
Esempio:
Il titolo dell'elemento.
Sintassi: <title>{item_title}</title>
Requisiti: Richiesto
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima:100 (caratteri)
L'URL dell'elemento.
Sintassi: <link>{item_link}</link>
Requisiti: Richiesto
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
Una breve descrizione/estratto dell'elemento.
Sintassi: <description>{item_description}</description>
Requisiti: Opzionale
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
L'elemento textinput fornisce un metodo per inviare dei dati mediante una form verso un URL stabilito -- generalmente situato nel sito principale. Il processo di ricezione dei dati in arrivo deve essere in grado di gestire il metodo HTTP GET.
Il campo è tipicamente usato come area di ricerca o form d'iscrizione -- oltre al resto. Mentre questo elemento può avere un senso se gestito quanto quando l'RSS è rappresentato come canale (vedi MNN) ed è accompagnato da titoli e descrizioni comprensibili alle persone, l'ambiguità nella determinazione automatica del significato di questo elemento caricato più volte non lo rende particolarmente utile. RSS 1.0 suggerisce quindi di deprecare o sostituire questo elemento con risorse alternative scoperte in versioni future riservandolo invece all'unico scopo di mantenere la retrocompatibilità con RSS 0.9.
{textinput_uri} deve essere unico rispetto ad ogni altro attributo rdf:about nel documento RSS ed è un URL che identifica il textinput. {item_uri} dovrebbe essere identico al valore del sub-elemento <link> dell'elemento <textinput>, se possibile.
Sintassi: <textinput rdf:about="{textinput_uri}">
Requisiti: Opzionale; se presente, deve essere presente anche nell'elemento channel [5.3.6]
Attributi richiesti: rdf:about
Modello: (title, description, name, link)
Esempio:
Un titolo descrittivo per il campo textinput. Ad esempio "Iscriviti" o "Cerca!".
Sintassi: <title>{textinput_title}</title>
Descrizione: Titolo del textinput
Requisiti: Richiesto se l'elemento textinput è presente
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 40 (caratteri)
Una breve descrizione dello scopo del campo textinput. Per esempio: "Iscriviti alla nostra newsletter per..." o "Ricerca nell'archivio del nostro sito il termine..."
Sintassi: <description>{textinput_description}</description>
Requisiti: Richiesto se l'elemento textinput è presente
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 100 (caratteri)
Nome del campo (variabile) textinput.
Sintassi: <name>{textinput_varname}</name>
Requisiti: Richiesto se l'elemento textinput è presente
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
L'URL verso il quale un eventuale submit del textinput sarà indirizzato (usando il metodo GET).
Sintassi: <link>{textinput_link}</link>
Descrizione: URL dell'action della form textinput
Requisiti: Richiesto se l'elemento textinput è presente
Modello: (#PCDATA)
(Suggerimento) Lunghezza Massima: 500 (caratteri)
La modularità basata sui Namespace consente all'RSS 1.0 un'estensibilità suddivisibile in compartimenti.
Gli unici moduli integrati di base con l'RSS 1.0 sono Dublin Core e Syndication. Consultare la specifica documentazione del modulo per ulteriori informazioni.
Fare riferimento a Moduli RSS 1.0 per le linee guida inerenti la creazione di moduli e per i moduli registrati della struttura RSS 1.0.
Alcuni esempi d'utilizzo dei moduli sono presenti nella sezione Esempi sottostante.
Un esempio base di documento RSS 1.0 (sullo stile 0.9), costituito solamente dal set di elementi della struttura centrale del formato RSS 1.0.
Un documento RSS 1.0 arricchito da elementi di vari moduli. Nota. I moduli in questi esempi sono unicamente a scopo dimostrativo; fare riferimento alla sezione Moduli RSS 1.0 per informazioni dettagliate del modulo.