Nozioni di base su XML

Flash Player 9 e versioni successive, Adobe AIR 1.0 e versioni successive

XML è una modalità standard di rappresentazione delle informazioni strutturate che permette ai computer di manipolarle con facilità e alle persone di scriverle e capirle senza eccessiva difficoltà. XML sta per eXtensible Markup Language. Una descrizione dello standard XML è disponibile all'indirizzo www.w3.org/XML/.

XML è un formato comodo e molto diffuso per la categorizzazione dei dati che li rende facili da leggere, individuare e manipolare. XML impiega una struttura ad albero e tag simile a quella di HTML. Ecco un piccolo esempio di dati in formato XML:

<song> 
    <title>What you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

I dati XML possono essere anche più complessi e contenere tag nidificati in altri tag, attributi e altri componenti strutturali. Ecco un esempio di dati più complessi in formato XML:

<album> 
    <title>Questions, unanswered</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <tracks> 
        <song tracknumber="1" length="4:05"> 
            <title>What do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:31</lastplayed> 
        </song> 
        <song tracknumber="2" length="3:45"> 
            <title>Who do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:35</lastplayed> 
        </song> 
        <song tracknumber="3" length="5:14"> 
            <title>When do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:39</lastplayed> 
        </song> 
        <song tracknumber="4" length="4:19"> 
            <title>Do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:44</lastplayed> 
        </song> 
    </tracks> 
</album>

Notate che questo documento XML comprende al suo interno altre strutture XML complete (come i tag song e i relativi oggetti secondari) e dimostra l'uso di varie strutture XML come gli attributi (tracknumber e length nei tag song) e di tag che, in luogo di dati, contengono altri tag (come il tag tracks).

Guida introduttiva a XML

Se non avete dimestichezza o avete una conoscenza limitata del formato XML, potete leggere la breve descrizione dei suoi aspetti più salienti presentata di seguito. I dati XML vengono scritti in formato di testo normale rispettando una particolare sintassi che permette di organizzare le informazioni in una struttura significativa. Generalmente, un blocco di dati XML viene definito documento XML. I dati in formato XML sono organizzati in elementi (singole voci di dati o contenitori) disposti in una struttura gerarchica. In ogni documento XML è presente un elemento di livello superiore, cioè la voce principale, all'interno del quale può esserci una porzione di dati singola o, più verosimilmente, vari elementi che a loro volta ospitano altri elementi e così via. L'esempio di documento XML seguente contiene informazioni su un album musicale:

<song tracknumber="1" length="4:05"> 
    <title>What do you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <mood>Happy</mood> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

Ogni elemento è caratterizzato da una serie di tag: il nome dell'elemento racchiuso tra parentesi angolari (i simboli di minore di/maggiore di). Il tag di apertura, che indica l'inizio dell'elemento, contiene il nome dell'elemento:

<title>

Il tag di chiusura indica la fine dell'elemento e presenta una barra prima del nome dell'elemento:

</title>

Gli elementi che non presentano del contenuto possono essere scritti come elementi vuoti. Nel formato XML, l'elemento:

<lastplayed/>

è identico a questo elemento:

<lastplayed></lastplayed>

Oltre al proprio contenuto racchiuso tra i due tag di apertura e chiusura, un elemento può comprendere anche altri valori, denominati attributi, definiti nel tag di apertura. Ad esempio, il seguente elemento XML definisce un unico attributo length caratterizzato dal valore "4:19":

<song length="4:19"></song>

Tutti gli elementi XML prevedono del contenuto, che può essere un valore singolo, uno o più elementi XML oppure niente (nel caso di elementi vuoti).

Per saperne di più su XML

Per chi desidera saperne di più sul formato XML sono disponibili vari libri e risorse supplementari e i seguenti siti Web:

Classi ActionScript per il formato XML

ActionScript 3.0 comprende varie classi da utilizzare con i dati in formato XML. Le due classi principali sono le seguenti:

  • XML: rappresenta un unico elemento XML che può essere un documento XML con vari elementi secondari o un elemento a un valore all'interno di un documento.

  • XMLList: rappresenta un gruppo di elementi XML. Si usa l'oggetto XMLList quando sono presenti vari elementi XML di pari livello (cioè che appartengono allo stesso elemento principale all'interno della gerarchia del documento XML). Ad esempio, un'istanza di XMLList sarebbe il modo più semplice per gestire questo gruppo di elementi XML (presumibilmente appartenenti a un documento XML):

    <artist type="composer">Fred Wilson</artist> 
    <artist type="conductor">James Schmidt</artist> 
    <artist type="soloist">Susan Harriet Thurndon</artist>

Per operazioni di livello avanzato che comprendono spazi dei nomi XML, ActionScript mette a disposizione le classi Namespace e QName. Per ulteriori informazioni, vedete Uso degli spazi dei nomi XML.

Oltre alle classi incorporate specifiche per XML, ActionScript 3.0 comprende vari operatori che attivano funzionalità specifiche per l'accesso ai dati XML e la loro manipolazione. L'approccio che prevede la gestione dei dati XML tramite queste classi e questi operatori è conosciuto come ECMAScript for XML (E4X) ed è definito nella specifica ECMA-357 edizione 2.

Concetti e termini importanti

L'elenco di riferimento seguente contiene termini importanti che vengono citati durante la programmazione delle routine di gestione XML:

Elemento
Voce singola di un documento XML che corrisponde a quanto contenuto tra un tag iniziale e un tag finale (compresi i tag). Gli elementi XML possono consistere di dati o altri elementi oppure essere vuoti.

Elemento vuoto
Elemento XML che non comprende elementi di livello inferiore. Gli elementi vuoti sono spesso scritti come elementi a chiusura automatica (come nel caso di <element/>).

Documento
Una singola struttura XML. Un documento XML può contenere un numero qualsiasi di elementi (o comprendere un unico elemento vuoto); tuttavia, in ogni documento XML deve necessariamente essere presente un solo elemento principale di livello superiore che funge da contenitore di tutti gli altri elementi.

Nodo
Sinonimo di elemento XML.

Attributo
Valore associato a un elemento scritto nel tag di apertura in formato attributename="value" anziché scritto come elemento secondario separato nidificato all'interno dell'elemento.