XML potrafi wywoływać zupełnie skrajne reakcje u osób, które się z nim stykają. Od zachwytu i ogromnego entuzjazmu przez lęki i rozczarowania po całkowitą obojętność. Dla większości osób pozostaje on jedynie tajemniczą technologią, której nie znają a którą a poznać by chcieli. W praktyce okazuje się, że XML jest znacznie prostsze niż może się to z początku wydawać.
o autorach
Michał Paluchowski CEO, właściciel i redaktor vortalu NetHut.pl. Jego ulubionym tygodnikiem jest Wprost, a na co dzień z przyjemnością czyta Gazetę Wyborczą. Jest zakochany w muzyce i komputerach, czasem nieco ekscentryczny. Zawsze otwarty na nowe znajomości.
Łącznie napisał dla nas 45 artykułów.tych samych autorów
- IMAP w stylu PHP [MP]
- Własne RSS [MP]
- Rodzina XSL [MP]
- Rozszerzenia XSSI [MP]
- Dynamiczne generowanie grafiki w PHP [MP]
zobacz również
Spróbujmy więc odpowiedzieć na pytanie czym jest XML. Pełna nazwa tej technologii praktycznie niczego nie tłumaczy, dla porządku jednak warto ją podać: eXtensible Markup Language. Zauważyliście podobieństwo z czymś znanym? Może HyperText Markup Language? Do tego wrócimy za chwilę. XML to po prostu standard przekazywania informacji wraz z ich opisem, wykorzystującym proste znaczniki.
Plik XML jest zwykłym plikiem tekstowym, który edytować można nawet w programie takim jak Notatnik z Windows czy Pico spod Linuxa. Aby jednak niepotrzebnie nie utrudniać sobie pracy warto rozglądnąć się za wyspecjalizowanym edytorem. O tym powiem na końcu.
Wróćmy teraz do HTML i zobaczmy, czym się charakteryzuje. Plik napisany w języku HTML zawiera tekst dokumentu uzupełniony znacznikami, które określają miejsce lub zakres występowania pewnych określonych struktur. Od znacznika <p> do znacznika </p> mamy akapit tekstu. W miejscu znacznika <img> mamy obrazek. HTML bardzo ogólnie opisywał takie struktury na tym kończyła się jego 'inteligencja'. Nie wiedział, czy obrazek zawiera psa czy kota, czy dany odnośnik wiedzie do strony o gotowaniu czy praniu.
XML natomiast idzie o krok dalej. Pozwala zupełnie dowolnie opisać zbiór danych, dokładnie według potrzeb jego twórcy. Oto krótki przykład kodu XML:
<?xml version="1.0"?>
<news numer="1">
<tytul>XML jest swietny!</tytul>
<data>20 Stycznia 2004</data>
<autor>Michał Paluchowski</autor>
<tresc>Nowe rozwiązania oparte na technologii
<nazwa>XML</nazwa> wprowadziły takie firmy jak
<firma>IBM</firma>, <firma>HP</firma> i
<firma>Microsoft</firma>.
</tresc>
</news>
Wygląda interesująco? Przede wszystkim schludnie - każdy znacznik jest czytelny i jasno określa swoją zawartość. XML nie jest kodem samym w sobie. Sam XML jest jedynie podstawą dla licznych technologii, które z niego korzystają. Żeby taki tekst, odpowiednio sformatowany wyświetlić na stronie WWW trzeba przepuścić go przez parser XSLT. Osoby chcące wykorzystać XML w programach komputerowych będą bardziej zainteresowane technologiami takimi jak SOAP czy XML Schema.
W tej chwili łatwo zauważyć podstawową zaletę XML - jest prosty i niezwykle bliski ludzkiemu myśleniu. Daje ponadto dużą dowolność w pisaniu kodu. Jest on określany jako metamarkup language, co oznacza, że nie ma określonego zestawu znaczników. Ten definiowany jest przez twórcę zbioru danych.
Podstawowe zasady
Każdy język ma swoje zasady, podobnie jest z XML, w ramach wprowadzenia należy więc je dobrze poznać.
Deklaracja XML, znajdująca się na początku przykładowego dokumentu nie jest wymaganym elementem, ale zwyczajowo jest umieszczana. Jej pełna zawartość wygląda następująco:
<?xml version="1.0" encoding="ISO-8859-2" standalone="yes"?>
Oprócz zdefiniowania wersji języka XML zawiera ona informację o kodowaniu znaków w dokumencie. Atrybut standalone natomiast określa, czy dokument może występować samodzielnie czy też będzie on potrzebował odwołania do zewnętrznego DTD (Document Type Definition). Takie dokumenty zawierają listę dozwolonych znaczników i określają sposoby ich użycia.
Znaczniki jak łatwo zauważyć konstruuje się identycznie jak w HTML. Znacznik otwierający ma postać <znacznik> a zamykający </znacznik>. Jednak w odróżnieniu od HTML, w języku XML każdy znacznik musi być zamknięty. Co zrobić w przypadku, gdy korzystamy z pojedynczych znaczników, które nie mają zamknięcia, np. <br>? Otóż prawda jest taka, że mają - zapisuje się je jako <br></br>, ale w praktyce stosuje się skróty: <br />.