Struttura di un file RSS 2.0
Pagina 1 di 2
In un precedente articolo abbiamo introdotto il formato RSS, basato su XML, introducendo la struttura dello standard RSS (acronimo di Really Simple Sindacation) per lo scambio di notizie tra diverse applicazioni Web.
Esaminiamo in questa sede il formato RSS 2 o più precisamente RSS 2.0.
Si tratta sempre e comunque di un formato basato su una struttura XML standard, come quela del feed delle notizie di Mr.Webmaster, disponibili all'indirizzo:
http://www.mrwebmaster.it/rss/news.xml
Esempio di codice XML in formato RSS 2
Prendiamo in considerazione la struttura appena indicata, semplifichiamola a livello di codice e vediamo ogni singolo tag che scopo ha:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>MioSito.ext - Notizie online</title>
<link>http://www.miosito.ext/news/</link>
<description>Notizie al Web a cra di MioSito.ext</description>
<language>it</language>
<lastBuildDate>01/04/2008 13.06.54</lastBuildDate>
<image>
<url>http://www.miosito.ext/logo_news.gif</url>
<title>MioSito.ext - Notizie online</title>
<link>http://www.miosito.ext/news/</link>
</image>
<item>
<title><![CDATA[Titolo della notizia]]></title>
<link>http://www.miosito.ext/notizia.asp?id=123</link>
<description><![CDATA[ Breve descrizione... ]]></description>
<author>MioSito.ext</author>
<pubDate>mar, 01 apr 2008 GMT</pubDate>
<category domain="http://www.miosito.ext/categoria.asp?id=5">Nome Categoria</category>
<guid isPermaLink="true">http://www.miosito.ext/notizia.asp?id=123</guid>
</item>
</channel>
</rss>
La struttura di base
Si tratta di una forma base del formato RSS 2.0 ma i tag a disposizione sono molti di più; iniziamo dunque esaminando quelli usati, partendo dalla struttura di base.
La struttura di base vede impiegato in primis l'intestazione xml, poi il tag rss che contiene degli attributi in cui vengono specificate le URL ufficiali dei suoi namespaces, e poi il tag channel che conterrà materialmente tutti i dati del feed RSS.
Il channel si compone di tre parti:
- intestazione del sito che rilascia il feed;
- gestione del logo del sito che rilascia il feed;
- tutti gli item del feed, rappresentanti le singole notizie.
L'elemento channel: elementi obbligatori
In virtù di quanto elencato nel precedente paragrafo, vediamo che l'elemento channel contempla in se tutto il feed RSS, quindi potrebbe sembrare stupido pensare di parlarne come elemento a se stante.
Allo scopo parleremo dui tutti gli elementi che vanno direttamente specificati in channel, rimandando a dopo gli elementi obbligatori e opzionali per image e per item.
Segue un elenco dettagliato dei tag obbligatori dell'elemento channel.
- title - specifica il titolo della notizia;
- link - specifica la URL completa della notizia;
- description - specifica i primi N caratteri descrittivi della notizia.
Dubbio non v'è che il file XML dev'essere redatto rispettando le regole semantiche dell'XML stesso, ovvero gestire caratteri speciali ed altri aspetti potenzialmente fastidiosi e pericolosi nei confronti dell'integrità del file XML in questione.
Tuttavia, specialmente nel campo delle notizie, può capitare spesso di trovarsi di fronte a delle eccezioni difficilmente gestibili che manderebbero in errore il file XML e di conseguenza gli script che in remoto lo leggono per mostrare il feed.
Il problema è semplicemente gestibile attraverso il comando CDATA che, una volta che il file XML è gestito al meglio, gestisce le eccezioni ingestibili a livello di caratteri e potenziali piccoli ma decisivi errori.
L'esempio di codice mostrato in precedenza spiega, a livello pratico, come integrarlo all'interno dei tag del codice XML:
<title><b><![CDATA[</b>Titolo della notizia<b>]]></b></title>In grassetto ho evidenziato il codice di CDATA per renderlo meglio distinguibile in fase di lettura ed apprendimento della nozione in oggetto a questo paragrafo.







