Na ustrukturyzowane dane składają się formularze, książki adresowe,
parametry konfiguracyjne, operacje finansowe, rysunki techniczne i wiele innych. XML
to zestaw reguł (można go traktować również jako wytyczne czy konwencję)
do projektowania formatów, na których oparte zostaną dane. XML nie jest
językiem programowania i nie trzeba być programistą, by z nie go korzystać.
XML sprawia, że generowanie danych i ich odczyt są znacznie łatwiejsze,
zapewniając przejrzystą ich strukturę. Konstrując XML twórcy uniknęli typowych
błędów zawartych w innych językach: jest on rozszerzalny, niezależny od platformy,
wspomaga lokalizowanie produktów. XML jest w pełni kompatypilny ze standardem
Unicode
Podobnie jak HTML, XML korzysta z tagów (słowa ujęte w '<' i '>')
oraz atrybutów (w postaci
nazwa="wartość"
). Podczas gdy HTML
definiuje dokładne znaczenia każdego z tagów i jego atrybutów, jak również ich wygląd
w przeglądarce, XML uzywa tagów tylko do rozgraniczenia pewnej części z
całego dokumentu, a interpretację znaczenia pozostawia aplikacji
odczytujacej te dane. Inaczej mówiąc, gdy zobaczysz "<p>" w dokumencie XML
nie oznacza to, że w tym miejscu znajduje się paragraf, jak to ma miejsce w HTML.
W zależności od kontekstu taki tag może oznaczać parametr, pisarza, poetę, powiat,
p... (i wcale nie jest powiedziane, że musi zaczynać się na "p").
Często się zdarza, że programy korzystające z formularzy, książek adresowych i innych sformatowanych danych
przechowują swoje dane na dysku, zapisując je zarówno w postaci binarnej, jak i tekstowej.
Dużą zaletą postaci tekstowej jest to, że użytkownik, jeśli to tylko konieczne, może przeglądać
dane bez potrzeby korzystania z dodatkwych aplikacji; ostatecznie można odczytać dane
korzystając z edytora tekstu. Postać tekstowa pozwala również wykonawcy
na łatwiejsze lokalizowanie i usuwanie błędów w aplikacjach. Podobnie jak HTML, pliki XML
są tekstowe i choć nie powinny być przeglądane przez osoby postronne, mogą gdy zajdzie taka potrzeba.
Jednak w przeciwieństwie do HTML, reguły dotyczące plików XML są ścisłe i nie naruszalne. Źle napisany tag,
zgubiony nawias czy atrybut nie ujęty w cudzysłów czyni plik XML bezużytecznym, podczas gdy w HTML taka
praktyka jest tolerowana, a często nawet jawnie dozwolona. Oficjalna specyfikacja języka XML
zabrania aplikacjom domyślać się co ma znaczyć dany fragment uszkodzonego plik XML; jeśli w pliku jest błąd
program powinien wstrzymać wykonywanie i zgłosić błąd.
Z powodu zastosowania postaci tekstowej i używania tagów do rozgraniczenia danych,
pliki XML są znacząco większe niż pliki biarne z takimi samymi danymi. To świadoma decyzja
projektantów języka XML. Korzyści płynące z postaci tekstowej są znaczące (patrz punkt 3),
a wady takiego rozwiązania mogą być łatwo skompensowane. Miejsce na dysku twardym jest znacznie tańsze niż dawniej,
a programy do kompresji takie jak zip czy gzip
pakują pliki szybko i skutecznie. Dodatkowo protokoły komunikacyjne służące np. do transmisji modemowej czy
HTTP/1.1, będący podstawą Sieci, kompresują pliki w locie,
zachowując przepustowość łącza.
XML 1.0
jest specyfikacją, która definiuje czym są "tagi" i "atrybuty". Oprócz XML 1.0 na
"rodzinę XML" składa się stale rosnący zestaw modułów, które oferują usługi
przydatne do wypełnienia ważnych i częstych zadań.
Xlink Opisuje standardowy sposób dodawania
odnośników do plików XML,
XPointer i XFragments
to sposoby na wskazywanie na daną część dokumentu XML. XPointer przypomina trochę odnośnik
URL, jednak zamniast wskazywać na dokument w sieci, wskazuje na dane zawarte w pliku XML.
CSS, język opisu stylu strony, można stosować
w odniesieniu do XML w taki sam sposób jak do HTML.
XSL jest
zaawansowanym językiem do określania stylu strony.
bazuje na XSLT, języku transformacji,
służącym do dodawania, usuwania oraz modyfikowania tagów i atrybutów.
DOM jest zestawem standardowych funkcji
służacych do manipulowania plikami XML (i HTML) z poziomu języka programowania.
XML Schemas 1 i
2
pomagają programistom precyzyjnie określać strukturę tworzonych formatów na bazie XML.
Wiele innych modułów i narzędzi jest już dostępnych, lub znajdują się jeszcze w fazie produkcji.
Zapraszamy na stronę technicznych raportów organizacji W3C.
Początek XML to rok 1996, a do roku 1998 był tzw. rekomendacją W3C,
co może sprawić wrażenie, że nie jest to najświeższa technologia.
Rzeczywiście, technologia nie jest nowa. Zanim powstał XML, był jeszcze
SGML stworzony już na początku lat 80-tych, w roku 1986 został standardem ISO,
powszechnie używany do tworzenia dokumentacji dużych projektów. Rozwój HTML to rok 1990.
Projektanci XML po prostu zostawili najlepsze części specyfikacji SGML
i mając na uwadze doświadczenia z językiem HTML, stworzyli rzecz nie gorszą
od oryginału, a znacznie bardziej prostszą i przejrzystszą. Jednakże niektóre ewolucje
trudno odróżnić od rewolucji... I trzeba przyznać, że podczas gdy SGML
jest przeważnie używany do technicznej dokumentacji, pomijając wszelkie inne dane,
z XML jest dokładnie odwrotnie.
Jest jedna ważna aplikacja XML, to XHTML, następca HTML.
XHTML ma wiele wspólnych elementów z HTML. Składnia została lekko zmieniona, by dostosować
ją do wymogów XML. Dokument, który "bazuje na XML" dziedziczy składnie i zasady XML
w pewien określony sposób (np. XHTML dopuszcza "<p>", ale nie "<r>");
nadaje też znaczenia ustalonym tagom (w XHTML "<p>" oznacza zawsze "paragraf",
a nie "pisarza", "powiat" czy cokolwiek innego).
XML
pozwala na zdefiniowanie nowego formatu poprzez łączenie lub korzystanie z innego.
Ponieważ różne formaty są tworzone zupełnie niezalenie, mogą mieć
tagi lub atrybuty o takiej samej nazwie, co powoduje dwuznaczność przy
łączeniu takich dokumentów (np. w jednym "<p>" oznacza "paragraf",
a w innym "pisarza"). W celu wyeliminowania takiej dwuznaczności w XML wprowadzona mechanizm
przestrzeni nazw.
Dobrymi przykładami dokumentów korzystających z przestrzeni nazw są XSL i
RDF.
XML Schema
został zaprojektowany, by odzwierciedlać to wsparcie dla modularności na poziomie
definiowania struktury dokumentu XML, ułatwiając połaczeniu dwóch schematów
w celu stworzenia trzeciego, który obejmuje strukturę połaczonych dokumentów.
Resource Description Framework (RDF - szkielet do opisu zasobów)
to dokument XML, który wspomaga opis zasobów i metadanych aplikacji, takich jak
lista piosenek, kolekcja fotografii i bibliografie. Na przykład RDF
może pozwolić użytkownikowi na rozpoznanie osób na fotografi w internecie używając
informacji z książki adresowej; następnie klient pocztowy wyśle informacje do tych
osób, że ich zdjęcie pokazało się w sieci. Tak jak
HTML łączy dokumenty, menu i formę aplikacji, co tworzy
oryginalny, znany nam internet, tak RDF integruje szereg aplikacji w jedną Znaczeniową Sieć.
Tak jak ludzie potrzebują uzgodnić znaczenie słów jakimi się posługują
przy rozmowie, tak komputery potrzebują mechanimu ustalającego znaczenie terminów
używanych we wzajemnej komunikacji. Opisy formalne takich terminów
w określonych obszarach (np. sprzedaż lub produkcja) nazwane są
ontologiami i są niezbędnym elementem Znaczeniowej Sieci. RDF, ontologie
i reprezentacja treści tak, aby komputery mogły lepiej wspomagać ludzi
to tematy poruszane w Znaczeniowej Sieci.
Wybierając XML jako podstawę projektu, uzyskuje się dostęp do olbrzymiej
i ciągle rosnącej bazy narzędzi (a być może jedno z nich już robi to czego potrzebujesz)
oraz profesjonalistów doświadczonych w tej technologii. Wybór XML to coś jakby wybór
SQL do baz danych; wciąż potrzeba zrobić własną bazę danych
i aplikację z procedurami operującymi na niej, ale jest całe zaplecze narzędzi
i ludzi mogących udzielić pomocy. Ponieważ XML jest wolny od opłat licencyjnych,
tworzenie własnej aplikacji nie wymaga dodatkowych kosztów.
Olbrzymie zaplecze, które wciąż sie powiększa, oznacza, że producent oprogramowania
nie jest już związany z jednym dostawcą rozwiązań. XML nie zawsze musi być najlepszym rozwiązaniem,
ale zawsze trzeba je rozpatrzyć
Copyright © 1994-2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.