Grundlagen von XML

Flash Player 9 und höher, Adobe AIR 1.0 und höher

XML ist eine Standardmethode zum Darstellen strukturierter Informationen, damit sie problemlos von Computern verarbeitet und relativ einfach von Benutzern geschrieben und verstanden werden können. XML ist die Abkürzung für eXtensible Markup Language (erweiterbare Auszeichnungssprache). Der XML-Standard ist unter www.w3.org/XML/ abrufbar.

XML bietet eine standardisierte und bequeme Methode zum Kategorisieren von Daten, um das Lesen, Abrufen und Bearbeiten dieser Daten zu erleichtern. Bei XML wird eine Baum- und Tagstruktur verwendet, die HTML ähnelt. Es folgt ein einfaches Beispiel für XML-Daten:

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

XML-Daten können auch komplexer sein, mit in anderen Tags verschachtelten Tags sowie Attributen und weiteren strukturellen Komponenten. Es folgt ein komplexeres Beispiel für XML-Daten:

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

Beachten Sie, dass dieses XML-Dokument intern weitere vollständige XML-Strukturen enthält (beispielsweise die song -Tags mit ihren untergeordneten Elementen). Es veranschaulicht auch weitere XML-Strukturen wie Attribute ( tracknumber und length in den song -Tags) sowie Tags, die anstelle von Daten weitere Tags enthalten (z. B. das tracks -Tag).

Erste Schritte mit XML

Für den Fall, dass Sie bisher nur wenig oder gar keine Erfahrungen mit XML gesammelt haben, folgt hier eine kurze Beschreibung der gebräuchlichsten Aspekte von XML-Daten. XML-Daten sind Klartext mit einer bestimmten Syntax zum Ordnen der Informationen in einem strukturierten Format. Allgemein wird ein einzelner Satz XML-Daten als XML-Dokument bezeichnet. Im XML-Format werden Daten mithilfe einer hierarchischen Struktur in Elemente unterteilt (die aus einzelnen Datenelementen oder aus Containern für weitere Elemente bestehen können). Jedes XML-Dokument weist auf der obersten Ebene ein einzelnes Element auf – das Hauptelement. Innerhalb dieses Stammelements kann eine einzelne Informationsangabe abgelegt sein. In der Regel befinden sich dort jedoch weitere Elemente, die wiederum Elemente enthalten usw. Beispielsweise enthält das folgende XML-Dokument Informationen über ein Musikalbum:

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

Jedes Element ist durch zwei Tags gekennzeichnet. Sie enthalten den Namen des Elements in spitzen Klammern (Kleiner-als- und Größer-als-Zeichen). Das öffnende Tag, das den Beginn des Elements angibt, enthält den Namen des Elements:

<title>

Im schließenden Tag, das das Ende des Elements angibt, steht vor dem Namen des Elements ein Schrägstrich:

</title>

Wenn ein Element keinen Inhalt hat, kann es als leeres Element (auch als „selbst schließendes Element“ bezeichnet) dargestellt werden. In XML ist das folgende Element:

<lastplayed/>

identisch mit diesem Element:

<lastplayed></lastplayed>

Zusätzlich zum Inhalt des Elements zwischen dem öffnenden und dem schließenden Tag können Elemente auch weitere Werte (die sogenannten Attribute ) enthalten, die im öffnenden Elementtag definiert werden. Beispielsweise definiert das folgende XML-Element ein einzelnes Attribut mit dem Namen length und dem Wert 4:19 :

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

Jedes XML-Element verfügt über einen Inhalt, der entweder aus einem einzelnen Wert, mindestens einem XML-Element oder einem leeren Wert (für ein leeres Element) besteht.

Weiterführende Informationen zu XML

Zur Vertiefung der Verwendung von XML liegt eine Reihe zusätzlicher Bücher und Ressourcen vor, einschließlich der folgenden Websites:

ActionScript-Klassen für die Verwendung von XML

ActionScript 3.0 enthält mehrere Klassen, die zur Verarbeitung XML-strukturierter Informationen eingesetzt werden. Die beiden wichtigsten Klassen sind:

  • XML: Gibt ein einzelnes XML-Element an, das ein XML-Dokument mit mehreren untergeordneten Elementen oder ein Einzelwertelement innerhalb eines Dokuments sein kann.

  • XMLList: Gibt eine Gruppe von XML-Elementen an. Ein XMLList-Objekt wird für mehrere XML-Elemente verwendet, die sich in der Hierarchie des XML-Dokuments auf derselben Ebene befinden und Bestandteil desselben übergeordneten Elements sind. Eine XMLList-Instanz ist beispielsweise die einfachste Methode zum Verarbeiten der folgenden XML-Elemente (die sich in einem XML-Dokument befinden):

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

Für anspruchsvollere Verwendungszwecke, bei denen XML-Namespaces verwendet werden, enthält ActionScript auch die Klassen „Namespace“ und „QName“. Weitere Informationen finden Sie unter Verwenden von XML-Namespaces .

Neben den integrierten Klassen für XML enthält ActionScript 3.0 zudem verschiedene Operatoren, die spezielle Funktionen für das Zugreifen auf und Bearbeiten von XML-Daten bereitstellen. Der Ansatz für die Verarbeitung von XML-Daten mithilfe dieser Klassen und Operatoren wird als E4X (ECMAScript for XML) bezeichnet und ist in der Spezifikation ECMA-357 Version 2 definiert.

Wichtige Konzepte und Begriffe

In der folgenden Referenzliste sind wichtige Begriffe aufgeführt, die Ihnen beim Programmieren von XML-Verarbeitungsroutinen begegnen:

Element
Ein einzelnes Objekt in einem XML-Dokument, das als Inhalt zwischen dem öffnenden und dem schließenden Tag (einschließlich der Tags selbst) definiert ist. XML-Elemente können Textdaten oder andere Elemente enthalten bzw. leer sein.

Leeres Element
Ein XML-Element, das keine untergeordneten Elemente enthält. Leere Elemente werden häufig als selbst schließende Tags dargestellt (z. B. <element/> ).

Dokument
Eine einzelne XML-Struktur. Ein XML-Dokument kann eine beliebige Anzahl von Elementen (oder auch nur ein einziges leeres Element) enthalten. Es muss jedoch auf der obersten Ebene ein einziges Element aufweisen, das alle anderen Elemente des Dokuments enthält.

Knoten
Eine andere Bezeichnung für ein XML-Element.

Attribut
Ein benannter Wert, der einem Element zugeordnet ist und nicht als gesondertes, verschachteltes untergeordnetes Element, sondern im öffnenden Tag des Elements festgelegt wird (im Format attributname="wert" ).