Wykład XII
XML

XML jako standard służący do efektywnej wymiany dokumentów niezależnie od platformy sprzętowej

 


XML jest to skrót od Extensible Markup Language, co oznacza dosłownie rozszerzalny język znaczników. Jest on efektem pracy m.in. Charles’a Goldfarb’a na przełomie lat sześćdziesiątych i siedemdziesiątych w ośrodku badawczym IBM, który odróżnił strukturę logiczną tekstu od formy jego prezentacji. Od tego czasu tekst stał się również obiektem informatyki – strukturą danych znakowaną w celu przetwarzania, a nie tylko typografii. Rozszerzalny język znaczników XML którego rozwój rozpoczął się jeszcze w 1996 r., podejmuję próbę rozwiązania problemu stworzenia reprezentacji komputerowej ustrukturyzowanych danych, np. zamówień sprzedaży, kart pacjentów, przepisów itd. HTML nie oferuje praktycznie nic w kontekście ułatwień tego typu. Znaczniki HTML’a zorientowane są na prezentację, a nie na zawartość. XML (eXtensible Markup Language), czyli rozszerzalny język znaczników ma niewątpliwie swoje źródło w innym języku znaczników – SGML (Standard Generalized Markup Language).

SGML został przyjęty w 1986 roku jako międzynarodowa norma dotycząca strukturalizacji dokumentów elektronicznych (ISO 8879).

Rozwikłanie znaczenia słowa markup ułatwi z pewnością zrozumienie idei tego języka. Jest to termin techniczny, zdefiniowany przez The Chicago Manual of Style (biblię amerykańskich wydawców) jako proces znakowania przeznaczonej do składu kopii rękopisu, wskazówkami dotyczącymi użycia rodzajów i rozmiarów czcionek, spacji, wcięć itp. Czynność tę można ogólnie określić mianem adjustacji technicznej.

Celem użycie języków takich jak XML jest znakowanie struktury tekstów bez przesądzania o ich cechach wizualnych. Celowe jest zastosowanie znaczników opisujących strukturę i znaczenie elementów tekstu takich jak: „tytuł”, „rozdział” czy „cytat”. Jest to bardziej efektywne niż określenie w rodzaju:”12 punktów”, „Arial”, „pogrubienie”. Teksty przygotowane w ten sposób łatwo można przygotować do druku przez nadanie poszczególnym elementom cech typograficznych (krój, stopień pisma, położenie na stronie).

Można je formatować na wiele sposobów, a także poddać przeróżnym transformacjom strukturalnym – dzięki jednoznacznej identyfikowalności elementów struktury. Z kolei znaczniki można wykorzystać do zindeksowania treści w celu wyszukiwania informacji, znacznie bardziej precyzyjnego niż tradycyjne pełnotekstowe.

Oznakowanie ogólne sprawia, że teksty zawierają wszystkie niezbędne do ich przetwarzania informacje wraz z wniesioną przez samo oznakowanie metainformacją. Pozwala to na łatwe przenoszenie pomiędzy różnego rodzaju platformami sprzętowymi oraz obsługę w różnych systemach z użyciem rozmaitych narzędzi przetwarzających dokumenty zgodnie z zasadami tego oznakowania.

Warto odnotować, że XML, przy swoich bez wątpienia bogatych możliwościach, odnosi się do sfery formy wiadomości, a nie ich treści
(a więc dotyczy oznaczeń, a nie znaczeń).

Pod pojęciem XML rozumiemy zazwyczaj nie tylko sam język ale całą rodzinę technologii która obejmuje: język znacznikowy, różne modele treści (schematy), model połączeń między dokumentami, model przestrzeni nazw i liczne mechanizmy transformacji.

Najważniejszymi członkami tej rodziny występującymi w dowolnych niemal zastosowaniach są:

  • XML v 1.0 obejmujący zasady definiowania elementów, atrybutów i znaczników w dokumencie tak aby utworzyły abstrakcyjny model danych
  • XML schema – dokumenty XML, które definiują typy danych, strukturę i dopuszczalne elementy w związanym dokumencie XML. Używane również do przekazywania instrukcji wstępnego przetwarzania
  • XML namespaces – unikalnie sklasyfikowane nazwy dla elementów dokumentów XML.
  • XPointer – technologie wyszukiwania danych w pojedynczym (XPath) lub wielu (XLink) plikach XML
  • XSLT – Extensible Stylesheet Markup Language – język przekształcający dokumenty XML do innych formatów opartych na XML lub eksportu do formatów nie XML-owych.
  • DOM i SAX – Modele programistyczne i biblioteki do przetwarzania dokumentów XML

Istota języka XML:

•XML jest językiem, czyli służy do przekazywania pewnych treści – NIE jest jednak językiem programowania.

•Jest językiem znacznikowym, czyli opisuje formę dokumentu, a więc stanowi o sposobie jego interpretacji.

•Jest rozszerzalny, czyli nie posiada ściśle określonego i zamkniętego zbioru znaczników, pozwala natomiast na definiowanie znaczników w zależności od potrzeb.

 

XML jest skonstruowany w sposób pozwalający na odizolowanie danych od sposobu ich prezentacji. W pliku XML zawarte są dane (liczby, teksty, rysunki, obrazy) i znajduje się referencja do innego pliku, zwanego arkuszem stylów, który opisuje jak poszczególne dane należy wyświetlić. Najczęściej stosowanym typami arkuszy stylów są arkusze CSS i XSL.

Takie rozwiązanie ma następujące zalety:

• Plik opisujący sposób prezentacji jest jeden, a może być użyty dla wielu plików z danymi, a więc zmiana sposobu prezentacji danych jest bardzo prosta. Nie wymaga edycji wszystkich plików, tylko przeróbki arkusza stylu.

• Do jednego pliku z danymi może być dowiązanych wiele arkuszy stylów. Pozwala to między innymi na odpowiednie formatowanie danych w zależności od urządzenia, z którego korzysta użytkownik w celu uzyskania dostępu do danych (np. przeglądarka WWW, przeglądarka WAP w telefonie komórkowym i inne).

• Możliwa jest łatwa, automatyczna konwersja danych pomiędzy różnymi aplikacjami korzystającymi ze wspólnych danych, ale widzianych rozmaicie.

XSL-FO jest to oparty na XML-u język znaczników służący do formatowania danych XML w celu ich prezentacji na ekranie, papierze lub innym medium.


Schemat wymiany informacji przy pomocy EDI:

 


Schemat wymiany informacji przy użyciu systemu BizTalk:


Przykładowe rozwiązanie oparte na systemie BizTalk:


Cykl działania dokumentu XML z punktu widzenia aplikacji:

 

Na bazie XML powstały liczne języki specjalizowane:


•MathML - matematyczny

•CML – chemiczny język znaczników pozwalający   opisywać cząsteczki

•BITS – Język technologii bankowych

•OFX – Wymiana danych finansowych

•BIPS – Bankowy system płatności internetowych

•TIM – Znaczniki wymiany danych   telekomunikacyjnych

•ebXML – XML dla biznesu elektronicznego

•SVG – Język opisu grafiki wektorowej wprowadzony w przeglądarce Internet  Explorer.

 

Kolejnym obszarem w którym XML odgrywa znaczącą rolę jest “Webcasting”.

W tego typu aplikacjach wykorzysty-wany jest oparty na XML-u język CDF (Channel Definition Format).

 

Ważne znaczenie ma obecnie aplikacja XML zwana RDF (Resource Description Framework czyli ramowy opis zasobów)

Dokument czy element RDF zawiera stwierdzenia dotyczące zasobów informacyjnych (najczęściej dotyczy to zasobów Internetu). Stwierdzenie mówi, że dany zasób ma jedną lub więcej właściwości. Każda właściwość ma rodzaj (to jest unikatową nazwę) i wartość. Wartość właściwości może być elementarna (napis, liczba, data) lub może być innym zasobem.

Zasobem w RDF może być cokolwiek, co ma adres URI. Adresy URI są nadzbiorem powszechnie stosowanych adresów URL, ale mogą też identyfikować książki, elementy strony, pokazy w telewizji, poszczególnych ludzi i tak dalej.

Warstwa RDF i RDF Schema: