Primo step

Cosa è XML

XML sta per eXtensible Markup Language ovvero linguaggio a marcatori estensibile. XML permette di descrivere le informazioni attraverso una struttura gerarchica di marcatori comunemente chiamati tag.

Questo documento XML racchiude le informazioni relative all'intervento di uno speaker al WMF15:

<?xml version="1.0"?>
<Intervento A1="ID2191" A2="G2" A3="S80">
    <Ora>09:30</Ora>
    <Titolo>YouTube e Facebook: dove e come pubblicare i Video!</Titolo>
    <Speaker>Anna Covone</Speaker>
    <Azienda>Freelance</Azienda>
    <Testo>Se fino a qualche tempo fa prevaleva lo scetticismo sull'efficacia del video online, oggi la domanda principale � diventata: "dove pubblico i miei video?". Con l'entrata in scena di Facebook e le modifiche di Google all'algoritmo dei Video Rich Snippets tutti i nodi vengono al pettine! Non si può più avere una strategia video poco solida e mal strutturata; per vincere la sfida � necessario cominciare a pensare a Facebook e YouTube non come alternative, quanto invece come sistemi da integrare.</Testo>
</Intervento>

La prima riga specifica la tipologia di documento e la versione di XML; questa prima parte del documento si chiama prologo, è facoltativa e può includere ulteriori informazioni.
In seconda riga troviamo l'apertura del tag Intervento, che presenta i tre attributi: A1="ID2191", A2="G2", A3="S80". Gli attributi sono coppie del tipo nome="valore" associate a un tag; al posto di A1, A2 e A3 avremo potuto usare altri nomi, ad esempio Codice, Giorno e Sala.
Seguono i 5 elementi Ora, Titolo, Speaker, Azienda, Testo.
Il documento termina con la chiusura del tag Intervento.


Con un qualunque editor di testo apri un nuovo file e copia il codice sopra relativo all'intervento al WMF15, quindi salva il file con nome wmf15.xml; se il tuo editor non ti permette di salvare con questa estensione, salva il file come testo e poi rinominalo cambiando l'estensione in .xml.


Un documento XML deve rispettare specifiche regole:

  1. Avere una struttura gerarchica ad albero. La radice della gerarchia - Intervento nell'esempio sopra - si chiama root element, è collocata dopo il prologo e deve essere unica.
  2. I tag sono key-sensitive e devono essere usati a coppie tag di apertura /tag di chiusura, salvo nel caso di elemento vuoto.
  3. Gli elementi si possono nidificare ma le coppie di tag non possono intersecarsi.

La sintassi XML prevede ulteriori regole, come quelle sui nomi di tag e attributi, per le quali si rimanda alla documentazione XML 1.0 del W3C.
Un documento che rispetta tutte le regole di sintassi si dice ben formato, come l'esempio sopra. Il seguente non � invece un documento XML proprio perchè non ne rispetta la sintassi:

<Intervento A1="ID2191" A2="G2" A3="S80">
    <Ora>09:30</ora>
    <Titolo>YouTube e Facebook: dove e come pubblicare i Video!</Titolo>
    <Speaker>Anna Covone
	<Azienda>Freelance
    </Speaker>
	</Azienda>
</Intervento>
<Testo>Se fino a qualche tempo fa prevaleva lo scetticismo sull'efficacia del video online, oggi la domanda principale � diventata: "dove pubblico i miei video?". Con l'entrata in scena di Facebook e le modifiche di Google all'algoritmo dei Video Rich Snippets tutti i nodi vengono al pettine! Non si può più avere una strategia video poco solida e mal strutturata; per vincere la sfida � necessario cominciare a pensare a Facebook e YouTube non come alternative, quanto invece come sistemi da integrare.</Testo>

Hai non uno ma tre motivi per dire che il documento non è ben formato e quindi non è neppure un documento XML:

  • Non rispetta la regola 1 giacché ha due elementi principali, Intervento e Testo.
  • Non rispetta la regola 2 poiché i tag Ora /ora differiscono per una maiuscola/minuscola.
  • Non rispetta la regola 3 dal momento che gli elementi Speaker e Azienda hanno tag che si intersecano.

Torniamo all'intervento al WMF15 e proviamo a rappresentare le stesse informazioni in maniera diversa:

<Azienda NomeAzienda="Freelance">
    <Speaker NomeSpeaker="Anna Covone">
	<Ora Orario="09:30" A2="G2">
	    <Titolo>YouTube e Facebook: dove e come pubblicare i Video!</Titolo>
	    <Sala>S80</Sala>
	</Ora>
	<Intervento A1="ID2191" />
    </Speaker>
    <Testo>Se fino a qualche tempo fa prevaleva lo scetticismo sull'efficacia del video online, oggi la domanda principale � diventata: "dove pubblico i miei video?". Con l'entrata in scena di Facebook e le modifiche di Google all'algoritmo dei Video Rich Snippets tutti i nodi vengono al pettine! Non si può più avere una strategia video poco solida e mal strutturata; per vincere la sfida � necessario cominciare a pensare a Facebook e YouTube non come alternative, quanto invece come sistemi da integrare.</Testo>
</Azienda>

Il documento sopra è ben formato nonostante sia di difficile interpretazione perché la struttura gerarchica è priva di senso ai fini delle informazioni che vogliamo scambiare. Da quì nasce l'esigenza di definire per il documento XML una grammatica che specifichi come devono essere organizzate le informazioni, cioè quali elementi e attributi usare e in quale relazione gerarchica.

Quando prepari un documento XML inizia definendo un'organizzazione delle informazioni funzionale all'obiettivo, che in questo caso è scambiare le informazioni sugli interventi del 20 giugno al WMF15 in sala Video Marketing. Ecco una soluzione ampliabile fino comprendere tutti gli interventi del Web Marketing Festival:

<WMF15>
    <Sala NomeSala="Video Marketing" Giorno="20 Giugno">
	<Intervento IDIntervento="ID2191">
	    <Ora>09:30</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Anna Covone</Nome>
		    <Azienda>Freelance</Azienda>
		</Speaker>
	    </Speakers>
	    <Titolo>YouTube e Facebook: dove e come pubblicare i Video!</Titolo>
	    <Testo>Se fino a qualche tempo fa prevaleva lo scetticismo sull'efficacia del video online, oggi la domanda principale � diventata: "dove pubblico i miei video?". Con l'entrata in scena di Facebook e le modifiche di Google all'algoritmo dei Video Rich Snippets tutti i nodi vengono al pettine! Non si può più avere una strategia video poco solida e mal strutturata; per vincere la sfida � necessario cominciare a pensare a Facebook e YouTube non come alternative, quanto invece come sistemi da integrare.</Testo>
	</Intervento>
    </Sala>
</WMF15>

La grammatica DTD (Document Type Definition) all'interno del documento XML si scrive così:

<!DOCTYPE WMF15 [
<!ELEMENT WMF15 (Sala+)>
<!ELEMENT Sala (Intervento+)>
<!ATTLIST Sala
NomeSala CDATA #REQUIRED
Giorno CDATA #REQUIRED
>
<!ELEMENT Intervento (Ora, Speakers, Titolo, Testo?)>
<ATTLIST Intervento
IDIntervento CDATA #REQUIRED
>
<!ELEMENT Ora (#PCDATA)>
<!ELEMENT Speakers (Speaker+)>
<!ELEMENT Speaker (Nome, Azienda?)>
<!ELEMENT Nome (#PCDATA)>
<!ELEMENT Azienda (#PCDATA)>
<!ELEMENT Titolo (#PCDATA)>
<!ELEMENT Testo (#PCDATA)>
]>
  • DOCTYPE si scrive in corrispondenza del root element WMF15, che include uno o più elementi figli Sala;
  • ogni Sala comprende uno o più elementi Intervento e prevede i due attributi obbligatori NomeSala e Giorno;
  • ciascun Intervento prevede 4 elementi figli Ora, Speakers, Titolo, Testo (facoltativo);
  • l'elemento Speakers include uno o più elementi figli Speaker;
  • Speaker comprende gli elementi Nome e Azienda (facoltativo).

La grammatica si può definire all'interno del documento - in questo caso va inserita tra il prologo e il root element - oppure in un file collegato (preferibile).
Un documento XML che rispetta la sua grammatica si dice valido.
E ora basta teoria: sei pronto per scambiare dati XML come fa un vero Webmaster Superhero.


È giunto il momento di completare il documento XML e di caricarlo online; se non hai uno spazio web con ftp puoi procurartene uno seguendo le missioni Il web server e FTP server di Impulse.

Sul tuo virtualhost crea una cartella wmf15 nella quale aggiungerai i file una volta completate le modifiche.
Parti dalla grammatica. Con il solito editor crea un file vuoto e salvalo con nome wmf15.dtd; copia all'interno le istruzioni già viste tranne il DOCTYPE:

Salva wmf15.dtd e apri nuovamente wmf15.xml, elimina il contenuto e riparti dalla dichiarazione XML:

<?xml version="1.0" encoding="UTF-8"?>

Aggiungi una seconda riga con l'indicazione del file esterno della grammatica DTD:

<!DOCTYPE WMF15 SYSTEM "http://www.webmasterwannabe.it/wmf15/wmf15.dtd">

Nella riga sopra sostituisci webmasterwannabe.it con il tuo dominio.
Integra l'XML dei 6 interventi previsti per la sala Video Marketing e se vuoi inserisci un commento su una nuova riga, quindi salva. Al termine di queste operazioni il file wmf15.xml si presenta così:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE WMF15 SYSTEM "http://tuodominio/wmf15/wmf15.dtd">
<!-- Aggiornamenti ufficiali del programma #WMF15 su https://www.webmarketingfestival.it/programma/ -->
<WMF15>
    <Sala NomeSala="Video Marketing" Giorno="20 Giugno">
	<Intervento IDIntervento="ID2191">
	    <Ora>09:30</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Anna Covone</Nome>
		    <Azienda>Freelance</Azienda>
		</Speaker>
	    </Speakers>
	    <Titolo>YouTube e Facebook: dove e come pubblicare i Video!</Titolo>
	    <Testo>Se fino a qualche tempo fa prevaleva lo scetticismo sull'efficacia del video online, oggi la domanda principale � diventata: "dove pubblico i miei video?". Con l'entrata in scena di Facebook e le modifiche di Google all'algoritmo dei Video Rich Snippets tutti i nodi vengono al pettine! Non si può più avere una strategia video poco solida e mal strutturata; per vincere la sfida � necessario cominciare a pensare a Facebook e YouTube non come alternative, quanto invece come sistemi da integrare.</Testo>
	</Intervento>
	<Intervento IDIntervento="ID2248">
	    <Ora>10:15</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Alessandro Masala</Nome>
		</Speaker>
	    </Speakers>
	    <Titolo>Infotainment: l’informazione e l’intrattenimento attraverso YouTube</Titolo>
	    <Testo>Infotainment � un neologismo che nasce dall’unione di due parole: informazione e intrattenimento. In Italia, però, � stato sin ora una connubio sconosciuto, non compreso e mai preso veramente sul serio. A differenza dei vecchi media, però, su YouTube non solo funziona, ma � potenziato da una caratteristica unica della	piattaforma stessa: il legame unico che si genera tra lo youtuber e le persone che lo ascoltano. Questo legame conferisce un potere fondamentale ai creatori di contenuti, che � allo stesso tempo fragile e potente; riuscire a mantenere sano questo rapporto mentre si cerca di fare informazione e divertire allo stesso tempo non � facile, ma � la chiave di tutto. Alessandro nella sua conferenza ci spiegherà perché e come lui � riuscito a trovare il perfetto equilibrio.</Testo>
	</Intervento>
	<Intervento IDIntervento="ID2238">
	    <Ora>14:35</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Daniele Doesn't Matter</Nome>
		</Speaker>
	    </Speakers>
	    <Titolo>Digital Storytelling: come raccontare storie su Youtube</Titolo>
	</Intervento>
	<Intervento IDIntervento="ID2243">
	    <Ora>15:20</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Giuseppe Liuzzo</Nome>
		</Speaker>
	    </Speakers>
	    <Titolo>Il Brand e il Design: due elementi da non sottovalutare per il proprio Canale Youtube</Titolo>
	    <Testo>Youtube � un oceano, il tuo canale può essere una goccia o diventare un'isola. Quando apri un canale Youtube hai un solo obbiettivo, raggiungere il tuo target. Oltre ai contenuti avrai bisogno di un'identità visiva unica e distintiva che comunichi immediatamente la tua missione e il tuo "essere" senza bisogno di	parole. Attraverso lo studio mirato dei colori, dei suoni e delle forme grafiche, potrai creare la tua identità e permettere al tuo messaggio di essere percepito e compreso con facilità e velocità.</Testo>
	</Intervento>
	<Intervento IDIntervento="ID2261">
	    <Ora>16:35</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Andrea Baglio</Nome>
		</Speaker>
	    </Speakers>
	    <Titolo>La tecnica dietro il canale: come nasce un video su Youtube</Titolo>
	</Intervento>
	<Intervento IDIntervento="ID2259">
	    <Ora>17:20</Ora>
	    <Speakers>
		<Speaker>
		    <Nome>Sofia Viscardi</Nome>
		</Speaker>
	    </Speakers>
	    <Titolo>I millenials e youtube: che cosa significa youtube se sei un teenager?</Titolo>
	</Intervento>
    </Sala>
</WMF15>

Con l'FTP sposta online nella cartella wmf15 i file wmf15.dtd e wmf15.xml.
Ora il documento XML è pronto per essere usato. Ecco come appare nel browser:


Usa il validatore online del W3C inserendo l'url del tuo file XML nel campo Address e fai clic su Check; se non hai commesso errori otterrai un risultato simile a questo:

Scopri ora come utilizzare Google Charts

Vivi la prossima sfida