Principes de base de XML

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

XML est un moyen standard de représenter des informations structurées afin de permettre aux ordinateurs de les utiliser facilement et aux utilisateurs de les écrire et de les comprendre. XML est l’abréviation de eXtensible Markup Language. La norme XML est disponible à l’adresse www.w3.org/XML/ .

XML offre une façon pratique et standard de classer des données, afin de faciliter leur lecture, leur accès et leur manipulation. XML utilise une arborescence et une structure de balises identiques à celle du code HTML. Voici un exemple simple de données XML :

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

Les données XML peuvent également être plus complexes, avec des balises imbriquées dans d’autres balises ainsi que des attributs et d’autres composants structurels. Voici un exemple plus complexe de données 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>

Vous remarquerez que ce document XML contient d’autres structures XML complètes (les balises song avec leurs enfants, par exemple). Il démontre également d’autres structures XML telles que des attributs ( tracknumber et length dans les balises song ), et des balises qui contiennent d’autres balises au lieu de données (la balise tracks , par exemple).

Prise en main de XML

Si vous avez peu ou pas d’expérience avec XML, voici une brève description des aspects les plus courants des données XML. Les données XML sont écrites sous forme de texte brut, avec une syntaxe spécifique permettant d’organiser les informations en un format structuré. Généralement, un seul jeu de données XML est appelé un document XML . Dans le format XML, les données sont organisées en éléments (qui peuvent être des éléments de données uniques ou des conteneurs pour d’autres éléments) à l’aide d’une structure hiérarchique. Chaque document XML possède un élément comme niveau supérieur ou élément principal. Cet élément racine peut contenir une seule information, même s’il est plus probable qu’il contienne d’autres éléments qui, à leur tour, contiennent d’autres éléments, et ainsi de suite. Par exemple, ce document XML contient les informations relatives à un album musical :

<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>

Chaque élément se distingue par un ensemble de balises —le nom de l’élément placé entre chevrons (signes inférieur à et supérieur à). La balise de début, indiquant le début de l’élément, porte le nom de l’élément :

<title>

La balise de fin, qui marque la fin de l’élément, a une barre oblique avant le nom de l’élément :

</title>

Si un élément est vide, il peut être écrit comme élément vide (parfois appelé élément de fin automatique). Dans XML, cet élément :

<lastplayed/>

est identique à cet élément :

<lastplayed></lastplayed>

Outre le contenu de l’élément placé entre les balises de début et de fin, un élément peut comporter d’autres valeurs, appelées attributs , définies dans la balise de début de l’élément. Par exemple, cet élément XML définit un seul attribut appelé length , avec la valeur "4:19" :

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

Chaque élément XML possède un contenu qui est soit une valeur, soit un ou plusieurs éléments XML, ou rien du tout (pour un élément vide).

En savoir plus sur XML

Pour en savoir plus sur l’utilisation de XML, un grand nombre de livres et de ressources sont disponibles, ainsi que les sites Web suivants :

Classes ActionScript pour utiliser XML

ActionScript 3.0 inclut plusieurs classes permettant d’utiliser des informations structurées XML. Les deux classes principales sont les suivantes :

  • XML : représente un seul élément XML, qui peut être un document XML avec plusieurs enfants ou un élément à une seule valeur dans un document.

  • XMLList : représente un ensemble d’éléments XML. Un objet XMLList est utilisé lorsque plusieurs éléments XML sont des frères (au même niveau, et contenus par le même parent, dans la hiérarchie du document XML). Par exemple, une occurrence de XMLList serait le moyen le plus facile d’utiliser cet ensemble d’éléments XML (probablement contenus dans un document XML):

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

Pour des utilisations plus avancées impliquant des espaces de noms XML, ActionScript inclut également les classes Namespace et QName. Pour plus d’informations, voir Utilisation des espaces de noms XML .

Outre les classes intégrées permettant d’utiliser XML, ActionScript 3.0 comprend également plusieurs opérateurs offrant des fonctionnalités spécifiques pour accéder et manipuler des données XML. Cette approche d’utilisation de XML au moyen de ces classes et de ces opérateurs est appelée ECMAScript pour XML (E4X), comme défini par la spécification ECMA-357 version 2.

Concepts importants et terminologie

La liste de référence suivante contient des termes importants utilisés dans le cadre de la programmation de routines de gestion des éléments XML :

Elément
Entité unique dans un document XML correspondant au contenu compris entre une balise de début et une balise de fin (balises comprises). Les éléments XML peuvent contenir des données de texte ou d’autres éléments, ou bien être vides.

Elément vide
Elément XML qui ne contient aucun élément enfant. Les éléments vides sont souvent écrits en tant que balises de fin automatique ( <element/> , par exemple).

Document
Structure XML unique. Un document XML peut contenir n’importe quel nombre d’éléments (ou peut être constitué d’un seul élément vide) ; cependant, un document XML doit avoir un seul élément de niveau supérieur qui contient tous les autres éléments dans le document.

Nœud
Autre nom d’un élément XML.

Attribut
Valeur nommée associée à un élément qui est écrite dans la balise de début de l’élément au format attributename="valeur" , plutôt que d’être écrite comme élément enfant séparé imbriqué dans l’élément.