Kiedy dowiesz się jak działa XML, docenisz z pewnością, jak bardzo zwiększa on
twoje możliwości. XML pozwala na rzeczy, które dotychczas albo
nie były tak łatwe a przez to i były kosztowne, albo w ogóle
nie były możliwe.
Podstawy podstaw
XML (skrót od eXtensible Markup Language - rozszerzalny język znaczników)
to otwarty standard opracowany przez W3C. Kiedy po raz pierwszy usłyszałem
akronim XML, skojarzyło mi się inne rozwinięcie - nie rozszerzalny
a rozszerzony (extended) język znaczników. No właśnie, dlaczego
rozszerzalny? Otóż XML nie jest kolejnym językiem do przechowywania konkretnych
danych, jak np. język HTML opisujący wygląd stron sieciowych.
XML to język opisujący dane, czyli metajęzyk. W uproszczeniu można
powiedzieć, że XML służy do tworzenia innych języków (aplikacji
XML) służących do przechowywania informacji. Jeśli masz potrzebę zapisywania określonych
danych o określonej strukturze, XML okaże się najlepszym narzędziem,
bez względu jakie by te dane nie były. W przeciwieństwie do np.
HTML, XML nie ma ograniczonej liczby znaczników, bo pozwala przechowywać
dowolne dane i to w jak najbardziej wygodny dla nas sposób, bo sami go określamy.
Sami określamy strukturę danych, która może być tabelaryczna,
ale może także tworzyć drzewo. W ten sposób nie jesteś, jako
twórca baz danych XML w żaden sposób ograniczony. Na tym właśnie
polega wyższość XML nad innymi formatami zapisu danych.
Pochodzenie XML, czyli SGML
Przodkiem języka XML był SGML. Jest to język o dużych możliwościach, ale
przez swoje rozmiary i poziom skomplikowania niezbyt łatwy do stosowania.
Znane jest już chyba stwierdzenie, że XML oferuje 80% możliwości
SGML, przy dziesięciokrotnie łatwiejszym ich wykorzystaniu. SGML
- w przeciwieństwie do XML - nie jest językiem, który sam się opisuje. Nie jest również
tak łatwy do przetwarzania.
XML czyni dane naprawdę przenośnymi
Potrzeba uniwersalnego i czytelnego formatu danych jest widoczna od
dawna, a w czasach gwałtownego powiększania się Sieci stała się koniecznością. Wreszcie
pojawił się format pozwalający na łatwe przechowywanie dowolnych
danych. Dzięki oddzieleniu treści od formy (czego nie umożliwia
HTML) łatwo skupić się na samych danych. Zwykłe programy mogą
dzięki wspólnemu formatowi XML łatwiej wymieniać dane, a informacje publikowane np. w
Sieci mogą być łatwiej przetwarzane. Weźmy "na tapetę" notowania
spółek giełdowych. Załóżmy, że chcemy napisać program analizujący
wahania kursów akcji. Potrzebne jest więc na bieżąco aktualizowane
źródło takich danych. Cóż z tego, że wortali finansowych jest kilkanaście, skoro
wszystkie one serwują kursy akcji w postaci tabelek HTML. Nawet
gdybyśmy kosztem karkołomnej pracy przygotowali narzędzie do odczytywania
kursów akcji z komórek tabeli w pliku HTML, to drobna zmiana na
stronach danego wortalu - np. niewielkie przegrupowanie danych w tabeli, czy bardziej trywialne
dodanie w kodzie HTML banera, zrujnowało by nasze narzędzie. Stałoby
się tak dlatego, że dane w postaci HTML są przyjazne człowiekowi,
ale nie maszynie. Gdyby natomiast te dane zapisać w postaci pliku
XML, zawierającego tylko właściwą treść (a nie formę), stałyby się one łatwe
do indeksowania i przetwarzania. Jeśli zechcemy takie dane XML wyświetlić
jako stronę sieci Web, to przetworzenie ich do postaci czytelnej
dla człowieka byłoby, dzięki arkuszom stylów (o których będzie
mowa), bardzo proste.
W języku XML wystarczającym opisem dla danych są one same
Jak wspomniałem wyżej, dokument XML sam się opisuje. Można wprawdzie stosować
schematy Definicji Typu Dokumentu (znane jeszcze z SGML DTD) i inne
sposoby deklarowania jego zawartości (jak XML Schemas), ale rzadko
jest to potrzebne. Czytelność XML, nawet bez użycia specjalnych
narzędzi, to jedna z jego ważniejszych zalet.
Otwartość standardu
XML nie został opracowany przez konkretną firmę, a przez konsorcjum W3C. Ta
sama organizacja odpowiada za HTML i inne standardy sieciowe. Specyfikacja
XML została udostępniona za darmo i nie należy do żadnej firmy,
ale XML jest przez ważne korporacje wspierany. Przykładem niech
będą Microsoft, Sun czy IBM. Poparcie tych firm właściwie samo w sobie jest gwarancją
sukcesu XML.
XML może być narzędziem sam dla siebie
Czego przykładem są standardy umożliwiające przetwarzanie kodu XML za pomocą
właśnie XML'a (np. język XSLT), czy pozwalający opisać dozwolone
wartości danych język DCD (Document Content Description). Możliwości
rozwoju XML wydają się więc nieograniczone.