Hegemon informacyjnej dżungli

XML staje się coraz bardziej uniwersalnym narzędziem do wymiany informacji między systemami informatycznymi. Dzięki temu, że jest językiem, w którym można opisać niemal dowolny typ informacji w dokumencie o określonej strukturze, zaczyna konkurować z innymi standardami służącymi do wymiany danych. Ma różnorodne zastosowanie: jako sposób zapisu dokumentów, format przekazywania wyników kwerend z baz danych, a także jako sposób wywoływania usług Web.

XML staje się coraz bardziej uniwersalnym narzędziem do wymiany informacji między systemami informatycznymi. Dzięki temu, że jest językiem, w którym można opisać niemal dowolny typ informacji w dokumencie o określonej strukturze, zaczyna konkurować z innymi standardami służącymi do wymiany danych. Ma różnorodne zastosowanie: jako sposób zapisu dokumentów, format przekazywania wyników kwerend z baz danych, a także jako sposób wywoływania usług Web.

XML powstał w 1998 r. z inicjatywy konsorcjum W3C. Można określić go jako tekstowy sposób zapisu strukturalnych dokumentów z wykorzystaniem znaczników. Oznacza to, że każdy element dokumentu jest ujęty w ciąg znaków, który określa "rolę" danego fragmentu. XML w konstrukcji dokumentu jest zbliżony do języków HTML i SGML (język oparty na znacznikach, opracowany w 1974 r.). HTML definiuje ustalony zbiór znaczników, w którym można zmieniać pewne parametry, ale nie można dodać nowego znacznika ani np. zdefiniować połączenia między atrybutami. SGML umożliwia samodzielną definicję znaczników, określanie ich roli w dokumencie, ale jego twórcy zdefiniowali zbyt uniwersalny język, który ma wprawdzie olbrzymie możliwości i doskonale nadaje się do opisu dokumentu, ale nie do wymiany informacji. Złotym środkiem integrującym możliwości SGML i HTML ma być właśnie XML. Jego twórcy pogodzili prostotę HTML z częścią możliwości SGML. XML dostosowano do wymagań stawianych przez WWW. Zrezygnowano np. z tych możliwości SGML, które wymagały pełnej analizy dokumentu, zanim można było w pełni określić jego strukturę.

Poprawny dokument XML (well-formed) składa się z dwóch elementów - DTD (Document Type Definition) i właściwych danych zapisanych zgodnie ze specyfikacją, określoną w DTD. Aby ułatwić pracę z XML-em, zdefiniowano tzw. prawidłowy dokument XML, który nie zawiera DTD, natomiast jest poprawny składniowo i można do niego utworzyć definicję DTD. DTD określa gramatykę bezkontekstową (CFG), stosowaną w danym dokumencie XML. Gramatyka może być rekurencyjna, co pozwala np. zdefiniować dokument XML, reprezentujący drzewo binarne dowolnej głębokości. DTD, oprócz roli i połączeń między znacznikami, określa ciąg atrybutów. W tym zakresie DTD ma jednak kilka wad. Można w nim definiować atrybuty, określać, że niektóre z nich muszą być wypełnione, oraz tworzyć typy złożone. Natomiast jedynym typem prostym jest #PCDATA, czyli w uproszczeniu ciąg znaków. Nie ma możliwości nałożenia wymogu, by dany element dokumentu był wartością liczbową.

Alternatywnym sposobem opisu struktury dokumentu jest XML Schema (niedawno W3C zaproponowało jej ostateczną wersję). W tym standardzie można określić znacznie bardziej zaawansowane zależności, definiować własne typy danych itp. Jednak nadal nie jest określona specyfikacja przesyłania danych binarnych (oczywiście, istnieje wiele sposobów kodowania, jednak są one "wynajdywane" na potrzeby danego rozwiązania).

Obok XML istnieje także specjalny język transformacji dokumentów - XSL. Do wyboru grupy elementów służy język XPath/XQuery. Jest to pewnego rodzaju wyrażenie regularne, które jest porównywane z dokumentem XML. W przypadku gdy dany fragment dokumentu XML pasuje do wyrażenia, może być wykonana odpowiednia transformacja przy użyciu języka XSLT. XSLT może zarówno przekształcać dane z dokumentu XML, np. wyrównując liczby do prawej strony, jak i określać sposób sortowania czy filtrować XML, pokazując tylko interesujące nas informacje. Gdy parser XML jest dostępny po stronie klienta, to przez sieć są przesyłane tylko surowe dane i pewne zasady formatowania. Dopiero po stronie przeglądarki klienta odbywa się właściwe przetwarzanie danych do postaci wyjściowej. W ten sposób można np. udostępnić opcję sortowania wyniku bez konieczności przesyłania żądania ponownie do serwera. Jeżeli parser XML działa po stronie serwera, to staje się możliwe obsłużenie różnego rodzaju urządzeń klienckich - od tych z WAP, przez komputery naręczne, aż po zwykłe przeglądarki, odbierające już sformatowaną tabelkę HTML. Dane początkowe, o czym należy pamiętać, powstają tylko raz! Jednocześnie XSL pozwala w ograniczonym zakresie przekształcać dokumenty między różnymi definicjami struktury.


TOP 200