Basisbeginselen van XML

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

XML is een standaardmanier om gestructureerde informatie weer te geven waar computers makkelijk mee kunnen werken en die voor personen eenvoudig te schrijven en te begrijpen is. XML is een afkorting voor eXtensible Markup Language. De XML-standaard is beschikbaar op www.w3.org/XML/ .

XML biedt een standaard en gemakkelijke manier voor het indelen van gegevens, waardoor u deze eenvoudiger kunt lezen, benaderen en manipuleren. XML maakt gebruik van een boom- en tagstructuur die vergelijkbaar is met HTML. Hier volgt een eenvoudig voorbeeld van XML-gegevens:

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

XML-gegevens kunnen ook complexer zijn, met tags die zijn genest in andere tags maar ook in kenmerken en andere structurele elementen. Hier volgt een complexer voorbeeld van XML-gegevens:

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

Dit XML-document bevat tevens andere volledige XML-structuren (zoals de tags song met onderliggende items). Het document bevat bovendien andere XML-structuren zoals kenmerken ( tracknumber en length in de tags song ) en tags die andere tags bevatten in plaats van gegevens (zoals de tag tracks ).

Aan de slag met XML

Voor personen die weinig of geen ervaring hebben met XML, volgt hierna een korte beschrijving van algemene aspecten van XML-gegevens. XML-gegevens worden geschreven als onbewerkte tekst met een specifieke syntaxis om de informatie te ordenen in een gestructureerde indeling. In het algemeen wordt één set van XML-gegevens een XML-document genoemd. In XML-indeling worden gegevens volgens een hiërarchische structuur geordend in elementen (dit kunnen enkele gegevensitems of containers voor andere elementen zijn). Elk XML-document heeft één element als hoofdniveau of hoofditem. Dit hoofdelement kan enkel informatie bevatten, maar het is gebruikelijker dat dit hoofdelement andere elementen bevat die vervolgens weer andere elementen bevatten, enzovoort. Het volgende XML-document bevat bijvoorbeeld de informatie over een muziekalbum:

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

Tussen elementen wordt onderscheid gemaakt door een set tags , waarbij de naam van het element is opgenomen tussen punthaken (kleiner dan- en groter dan-tekens). De openingstag geeft het begin van het element aan en heeft de naam van het element:

<title>

De afsluitingstag geeft het einde van het element aan en bevat een slash voor de naam van het element:

</title>

Wanneer een element geen inhoud bevat, kan het element worden geschreven als een leeg element (ook wel zelfsluitend element genoemd). In XML is dit element:

<lastplayed/>

gelijk aan dit element:

<lastplayed></lastplayed>

Naast de inhoud van het element tussen de openingstag en afsluitingstag, kan een element ook andere waarden, die ook wel kenmerken worden genoemd, bevatten die worden gedefinieerd in de openingstag van het element. In het volgende XML-element wordt bijvoorbeeld één kenmerk gedefinieerd met de naam length en met de waarde "4:19" :

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

Elk XML-element bevat inhoud, namelijk één waarde, een of meer XML-elementen of niets (in het geval van een leeg element).

Meer informatie over XML

Wanneer u meer informatie wilt over werken met XML, kunt u een aantal aanvullende boeken en bronnen over XML raadplegen, waaronder deze websites:

ActionScript-klassen voor het werken met XML

ActionScript 3.0 bevat diverse klassen die worden gebruikt voor het werken met XML-gestructureerde informatie. De twee hoofdklassen zijn als volgt:

  • XML: vertegenwoordigt één XML-element dat een XML-document met meerdere onderliggende items of een element met één waarde kan zijn binnen een document.

  • XMLList: vertegenwoordigt een set XML-elementen. Een object XMLList wordt gebruikt bij meerdere XML-elementen die 'items op hetzelfde niveau' (op hetzelfde niveau en met hetzelfde bovenliggende item in de hiërarchie van het XML-document) zijn. Een instantie XMLList is bijvoorbeeld de eenvoudigste manier om te werken met deze set XML-elementen (die waarschijnlijk is opgenomen in een XML-document):

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

ActionScript bevat bovendien de klassen Namespace en QName voor geavanceerdere toepassingen met XML-naamruimten. Zie XML-naamruimten gebruiken voor meer informatie.

Naast de ingebouwde klassen voor het werken met XML bevat ActionScript 3.0 ook diverse operatoren die specifieke functionaliteit bieden voor toegang tot XML-gegevens en voor het manipuleren van deze gegevens. Deze aanpak voor het werken met XML met deze klassen en operatoren wordt ECMAScript for XML (E4X) genoemd, zoals gedefinieerd in de ECMAScript for XML (E4X) Specification (ECMA-357), 2nd Edition.

Belangrijke concepten en termen

De volgende referentielijst bevat belangrijke termen die u zult tegenkomen bij het programmeren van XML-afhandelingsroutines:

Element
Eén item in een XML-document dat wordt geïdentificeerd als de inhoud tussen een starttag en een eindtag (inclusief de tags). XML-elementen kunnen tekstgegevens of andere elementen bevatten, of ze kunnen leeg zijn.

Leeg element
Een XML-element die geen onderliggende elementen bevat. Lege elementen worden vaak geschreven als zelfsluitende tags (zoals <element/> ).

Document
Eén XML-structuur. Een XML-document kan een willekeurig aantal elementen bevatten (of bestaan uit slechts één leeg element). Een XML-document moet echter één element op hoofdniveau hebben dat alle andere elementen in het document bevat.

Knooppunt
Een andere naam voor een XML-element.

Attribuut
Een benoemde waarde met een element dat is geschreven in de openingstag van het element in de indeling attributename='value' en niet als een afzonderlijk onderliggend element dat in het element is genest.