XML i nowoczesne strony internetowe
• Wprowadzenie. XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) to według Wikipedii: „uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób”.
• Ewolucja. W 1969 roku w IBM opracowano GML (General Markup Language), który około roku 1974 rozwinął się w SGML (Standard General Markup Language), by w połowie lat osiemdziesiątych stać się standardem międzynarodowym. SGML nie jest językiem w ścisłym znaczeniu tego słowa. Jest „maszyną” do tworzenia słowników, ustala standardowe znaczniki definiujące strukturę dokumentów określonego typu. Oprogramowanie SGML działające głównie na wielkich komputerach typu mainframe, w bardzo szybkim czasie zostało uzupełnione, czy wzbogacone o tyle opcji, dodatków, uzupełnień, rozszerzeń, że… stało się zbyt skomplikowane by mogło być rzeczywiście efektywne.
W 1981 roku Tim Berners-Lee, który w tym czasie był konsultantem do spraw oprogramowania CERN, na bazie SGML opracował specjalny dokument DTD (Document Type Definition) – zestaw znaczników dla hipertekstu. Była to tak zwana wersja zero języka HTML.
Wraz z lawinowym rozwojem Internetu coraz dotkliwiej dawały o sobie znać rozmaite ograniczenia języka HTML. Np. nie przekaże on programowi, że ten element jest kolorem spodni, tamten jego ceną, a ten z kolei rozmiarem. Oczywiście to tylko jeden przykład z całej listy ograniczeń HTML.
Aby rozwiązać takie i podobne problemy w roku 1996, znów na bazie SGML utworzono język XML, to jest eXtensible Markup Language. Jako wariant czy podzbiór SGML, język XML jest także narzędziem do tworzenia zestawów znaczników, definiowania przestrzeni nazw. W 1998 roku język XML stał się standardem. I tak XHTML jest aplikacją XML, a HTML nią nie jest, o czym warto wiedzieć i pamiętać.
• Uwaga. HTML nazywa się umownie „językiem” choć właściwie jest jedynie słownikiem znaczników – nie stanowi bowiem narzędzia do tworzenia nowych znaczników. Biblioteka znaczników definiująca P jako akapit, H1‑H6 jako nagłówki poziomów 1‑6, LI jako element listy, a TAB jako tabelę, nie jest w stanie pomóc odpowiedzieć klientowi, który pyta o kolor i cenę spodni. Oprogramowanie zarządzające zawartością musiałoby przeszukać cały tekst i „zgadywać”, co może być ceną, a co kolorem. Ostatecznie wyświetliłoby potencjalnemu nabywcy spodni wszystkie akapity, albo i wszystkie strony, na których występuje skrót „PLN”, albo słowo „cena”.
XML – STANDARD STRUKTURYZACJI DANYCH PROFESJONALNEJ STRONY INTERNETOWEJ
Wielki portal. Tysiące dokumentów publikowanych miesięcznie. Wiele z nich w kilku różnych wersjach dostosowanych do rozmaitych grup odbiorców. Czy można wyobrazić sobie sztab ludzi mozolnie przetwarzających to wszystko na kod HTML? Zresztą, ludzie to głupstwo, mamy przecież żółtych braci, ale co z oprogramowaniem, które tekstami zarządza?
Internet zawiera całą wiedzę ludzkości. Albo prawie całą. Ale cóż z tego, kiedy natychmiast pojawia się problem wyszukania i prezentacji określonej, żądanej przez czytelnika, informacji. Język HTML nie zapewnia tu żadnego wsparcia. Do przetwarzania bardzo dużych ilości informacji nie jest przydatny, albo w stopniu niewielkim.
Teksty, do których jesteśmy przyzwyczajeni, zorganizowane są na podstawie dość ogólnej struktury konwencjonalnej: to jest książka, a tamto gazeta, to jest rozdział, a to artykuł.
Rozwiązaniem problemu dużej ilości danych (i nie tylko tego) jest zmiana ogólnej struktury dokumentu tradycyjnego na ścisłą strukturę modelu obiektowego. Oprogramowanie radzące sobie z rosnącą ilością informacji, a jednocześnie z wymaganiami i realnymi potrzebami użytkowników, oparte jest często na języku XML. Tylko dzięki niemu można czytelnikowi dostarczyć aktualnego, konkretnego, sensownie zorganizowanego i spersonalizowanego materiału. I, co bardzo ważne, można to zrobić szybko.
• Konkretny przykład. Załóżmy, że chcemy przez Internet sprzedawać spodnie. W HTML wyglądać by to mogło tak:
Kod pozycji katalogowej, utworzony za pomocą języka XML, byłby oczywiście zupełnie inny:
Jeśli teraz potencjalny klient poprosi o przedstawienie mu aktualnej oferty sklepu dotyczącej wszystkich spodni męskich, zielonych, w cenie powiedzmy do 175,00 PLN – przygotowanie odpowiedzi dla niego nie sprawi najmniejszego problemu. Rzecz jasna odpowiedniemu programowi, bo przecież nikt przy zdrowych zmysłach nie będzie tego robił „na piechotę”.
W języku XML definiowana jest przestrzeń nazw i znaczniki, dzięki którym klasyczny opis języka HTML zmienić można w zestaw obiektów. Obiekty te, jako rekordy bazy danych, wywołuje się na życzenie i składa w zależności od potrzeb jak klocki Lego.
Oczywiście XML i jego możliwości mają zastosowanie nie tylko w sklepach internetowych czy bazach danych. Przecież nic nie stoi na przeszkodzie, by zdefiniować znaczniki takie jak: »Problem«, »Metoda«, »Procedura«, »Rozwiązanie«, »Sposób«, »Pytanie«, »Odpowiedź«, »Instrukcja« itp.
W przypadku projektów naprawdę dużych, im prędzej webmaster „przesiądzie się” na język XML, tym lepiej. Lepiej dla użytkowników/czytelników/klientów strony, dla samego projektu oraz jego autorów.