Podstawy języka XML

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

XML to standardowy sposób przedstawiania informacji ustrukturyzowanych, na którym łatwo mogą operować komputery i który jednocześnie jest stosunkowo czytelny i przystępny dla ludzi. XML to skrót od nazwy eXtensible Markup Language — rozszerzalny język znaczników. Specyfikacja standardu XML jest dostępna pod adresem www.w3.org/XML/ .

XML oferuje ujednolicone i wygodne metody kategoryzacji danych. Zastosowanie zwiększa czytelność danych, ułatwia ich odczytywanie i manipulowanie nimi. Dane XML mają strukturę hierarchiczną i składają się ze znaczników podobnych do stosowanych w języku HTML. Oto przykładowe dane XML:

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

Kod XML może mieć także bardziej złożoną postać, obejmującą znaczniki zagnieżdżone w innych znacznikach oraz atrybuty i inne składniki strukturalne. Oto przykład bardziej skomplikowanych danych 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>

Należy zwrócić uwagę, że przedstawiony dokument XML zawiera inne kompletne struktury XML (np. znaczniki song wraz z ich znacznikami podrzędnymi). Stanowi także ilustrację innych struktur XML, takich jak atrybuty ( tracknumber i length w znacznikach song ) oraz znaczników zawierających inne znaczniki, a nie dane (jak znacznik tracks ).

Pierwsze kroki z danymi XML

Z myślą o czytelnikach, którzy nie mają dużego (lub żadnego) doświadczenia z danymi XML przedstawiamy najważniejsze aspekty języka XML. Dane XML zapisane są w formie zwykłego tekstu, z zastosowaniem składni organizującej informację w format strukturalny. Z reguły jeden zestaw danych XML określany jest mianem dokumentu XML . W formacie XML dane są zorganizowane w elementy (które mogą być pojedynczymi elementami danych lub zawierać inne elementy) tworzące strukturę hierarchiczną. Każdy dokument XML ma jeden element najwyższego poziomu (element główny). Wewnątrz elementu głównego mogą znajdować się pojedyncze elementy danych, jednak zwykle zawiera on inne elementy, które z kolei zawierają jeszcze inne elementy i tak dalej. Na przykład poniższy dokument XML zawiera informacje o albumie muzycznym:

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

Każdy element jest opisany zestawem znaczników — zawierających nazwę elementu ujętą w nawiasy kątowe (znaki mniejszości i większości). Znacznik otwierający, wskazujący na początek elementu, zawiera nazwę elementu:

<title>

Znacznik zamykający element zawiera nazwę elementu poprzedzoną ukośnikiem:

</title>

Jeśli element nie zawiera treści, może być zapisany jako element pusty (nazywany niekiedy elementem samozamykającym się). W języku XML taki element:

<lastplayed/>

jest identyczny z elementem:

<lastplayed></lastplayed>

Oprócz treści między znacznikiem otwierającym i zamykającym element może także zawierać inne wartości, nazywane atrybutami , zdefiniowane w znaczniku otwierającym element. Na przykład ten element XML definiuje pojedynczy atrybut o nazwie length i wartości "4:19" :

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

Każdy element XML zawiera treść, która jest pojedynczą wartością bądź jednym lub większą liczbą elementów XML. Możliwe jest też występowanie elementów pustych, bez treści.

Więcej informacji na temat języka XML

Dla osób zainteresowanych pogłębieniem swojej wiedzy na temat języka XML dostępne są liczne publikacje i inne zasoby, w szczególności następujące witryny sieci Web:

Klasy języka ActionScript przeznaczone do pracy z danymi XML

ActionScript 3.0 zawiera kilka klas używanych do pracy z informacjami w strukturze XML. Oto dwie główne klasy:

  • XML: reprezentuje pojedynczy element XML, który może być dokumentem XML z wieloma elementami podrzędnymi lub elementem jednowartościowym w dokumencie.

  • XMLList: reprezentuje zbiór elementów XML. Obiekt XMLList jest stosowany, gdy mamy do czynienia z wieloma równorzędnymi elementami XML (tj. znajdującymi się na tym samym poziomie i zawartymi w tym samym elemencie nadrzędnym w hierarchii dokumentu XML). Na przykład użycie instancji XMLList byłoby najprostszym sposobem operowania na następującym zbiorze elementów XML (zakładamy, że znajdują się one w dokumencie XML):

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

Z myślą o bardziej zaawansowanych zastosowaniach, w tym o użyciu przestrzeni nazw XML, język ActionScript oferuje klasy Namespace i QName. Więcej informacji zawiera sekcja Korzystanie z przestrzeni nazw XML .

Obok wbudowanych klas służących do pracy z danymi XML język ActionScript 3.0 zawiera kilka operatorów realizujących konkretne funkcje związane z dostępem do danych XML i manipulowaniem nimi. Strategia pracy z danymi XML przy użyciu tych klas i operatorów jest opisana w specyfikacji ECMAScript for XML (E4X), będącej podzbiorem specyfikacji ECMA-357 edition 2.

Ważne pojęcia i terminy

Na poniższej liście wyjaśniono znaczenie ważnych terminów stosowanych w kontekście podprogramów obsługi kodu XML:

Element
jednostka dokumentu XML składająca się z treści zawartej między znacznikiem początkowym a końcowym (wraz z tymi znacznikami). Elementy XML mogą zawierać dane tekstowe, inne elementy lub mogą być puste.

Pusty element
Element XML niezawierający elementów podrzędnych. Elementy puste są często zapisywane jako znaczniki samozamykające się (np. <element/> ).

Dokument
Pojedyncza struktura danych XML. Dokument XML może zawierać dowolną liczbę elementów (lub tylko jeden pusty element); jednak każdy dokument XML musi zawierać jeden element najwyższego poziomu zawierający wszystkie pozostałe elementy w dokumencie.

Węzeł
Synonim elementu XML.

Atrybut
Nazwana wartość skojarzona z elementem, wpisana w znaczniku otwierającym elementu w formacie attributename="value" , a nie umieszczona jako odrębny element zagnieżdżony w danym elemencie.