Czarodziejskie zaklęcie

Niewątpliwy sukces, jaki osiągnął standard XML, stał się pożywką dla wielu mitów, cierpliwie pielęg-nowanych przez specjalistów od marketingu w firmach software’owych. W opisach nowych aplikacji co krok spotykamy się z zachwytami dotyczącymi obsługi XML-a przez tę czy inną aplikację. Tymczasem większość “prawdziwych” zastosowań wspomnianego standardu ukrywa się w cieniu, pod niewiele dla przeciętnego użytkownika znaczącymi nazwami. Spróbujmy się przekonać, kiedy zastosowanie XML-a ma rzeczywiście sens i w jakim stopniu obietnice menedżerów pokrywają się obecnie z rzeczywistością.

Z czym to zjeść? 

Zanim przeanalizujemy konkretne implementacje XML-a, musimy zdać sobie jasno sprawę z tego, czym on jest, a czym nigdy nie będzie. Z XML-em związanych jest sporo nieporozumień, warto więc je wyjaśnić, zanim zastanowimy się nad zaletami opisywanego standardu.

Przede wszystkim XML nie jest formatem danych. Określenia “dokument XML-owy” używa się dla wygody (trudno za każdym razem mówić np. “język znaczników generowany przez gramatykę zgodną ze specyfikacją XML-a”), jednak nie jest ono do końca ścisłe. Bliższe prawdzie jest określenie “aplikacje XML-a” – język ten stanowi bowiem podstawę do definiowania wielu specyfikacji zapisu informacji.

Aby objaśnić rzecz bardziej obrazowo: wyobraźmy sobie zestaw wymagań, którym podlega każdy homologowany na świecie pojazd. Samochód musi spełniać określone wymagania, odnoszące się do jego parametrów technicznych (takich jak rodzaj użytego napędu, zawieszenia, poziom generowanego hałasu itd.). Producent dowolnego pojazdu wielośladowego musi się liczyć z tym, iż jego produkt będzie skrupulatnie badany pod kątem zgodności ze wspomnianymi normami. Pomimo to z punktu widzenia norm samochodami osobowymi są tak różne pojazdy, jak Fiat Seicento i Mercedes klasy S.

Analogicznym regulacjom odpowiada w świecie informatyki właśnie XML, zgodnie z którym powstają kolejne formaty zapisu danych w plikach tekstowych czy specyfikacje komunikacji pomiędzy maszynami sieciowymi. Respektując standard, możemy definiować narzędzia przeznaczone do skrajnie różnych zadań.

Z przedstawionego rozumowania wynika kilka kolejnych wniosków, ułatwiających zrozumienie roli XML-a we współczesnym świecie Internetu i komputerów. XML nie jest ani językiem programowania, ani protokołem sieciowym, ani bazą danych, ani formatem dokumentu tekstowego. Czym więc jest XML?

Mówi się, że to język znaczników (sam skrót XML pochodzi od terminu eXtensible Markup Language, czyli rozszerzalny język znaczników). Co to oznacza? Ano, ni mniej ni więcej, tylko to, iż za pomocą XML-a, można tworzyć języki podobne do HTML-a (XML jest zresztą następcą SGML-a, za pomocą którego zdefiniowano właśnie format HTML). Korzystając z zaleceń zawartych w specyfikacji XML-a, możemy zdefiniować język opisujący praktycznie dowolny format danych, protokół komunikacji pomiędzy komputerami czy też zawartość bazy danych.

Dlaczego więc XML stał się tak popularny? Zapewne dlatego, że jest tak uniwersalny, a zarazem ściśle definiuje zasady tworzenia tzw. aplikacji XML-a, czyli specyfikacji konkretnych formatów zapisu informacji. Dzięki temu można łatwo zweryfikować poprawność dowolnego dokumentu XML-owego. Dodatkowo XML pomaga w określeniu i zrozumieniu treści dokumentu, a nie np. jego wyglądu (jak miało to miejsce w przypadku HTML-a). Nie bez znaczenia są również prostota składni dokumentów XML-owych oraz łatwość, z jaką można analizować zawartość takich plików, korzystając z prostego edytora tekstu.

Więcej:bezcatnews