XML
Z Wikipedii
Języki opisu treści
Przesyłanie danych
Przetwarzanie danych
Pojęcia
XML (ang. Extensible Markup Language) to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w ustrukturalizowany sposób. XML jest niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy różnymi systemami i znacząco przyczyniło się do popularności tego języka w dobie Internetu. XML jest podzbiorem języka SGML, tj. każdy dokument XML jest też dokumentem SGML. XML jest rekomendowany oraz specyfikowany przez organizację W3C.
Spis treści |
[edytuj] Poprawność dokumentu
Mówimy o dokumencie, że jest poprawny składniowo (ang. well-formed), jeżeli jest zgodny z regułami składni XML. Reguły te obejmują m.in. konieczność domykania wszystkich znaczników. Dokument niepoprawny składniowo nie może być przetworzony przez parser XML.
Mówimy o dokumencie, że jest poprawny strukturalnie (ang. valid), jeżeli jest zgodny z definicją dokumentu, tzn. dodatkowymi regułami określonymi przez użytkownika. Do precyzowania tych reguł służą specjalne języki. Najpopularniejszymi są DTD, XML Schema oraz RELAX NG.
[edytuj] XML wersja 1.1
Równocześnie z trzecią odsłoną wersji 1.0 W3C opublikowało pierwszą odsłonę wersji 1.1. Wprowadza ona zmiany w zestawie dopuszczanych znaków, co ma związek z modyfikacjami standardu Unicode przeprowadzanymi w ostatnich latach.
Korzyści ze zmian wprowadzonych w nowej wersji są jednak zazwyczaj znikome w porównaniu ze stratą, jaką jest brak zgodności z wersją 1.0. Samo W3C nie traktuje tej wersji jako następcy dla 1.0, raczej jako jego odmianę do bardzo specyficznych zastosowań. Wciąż zalecane jest korzystanie z wersji 1.0 wszędzie, gdzie to możliwe.
Obie wersje wciąż są wspierane i rozwijane przez W3C, a kolejne ich edycje, jak dotąd, pojawiają się w tym samym czasie.
[edytuj] Przykładowy dokument XML
<?xml version="1.0" encoding="UTF-8"?> <książka-telefoniczna kategoria="bohaterowie książek"> <!-- komentarz --> <osoba charakter="dobry"> <imię>Ambroży</imię> <nazwisko>Kleks</nazwisko> <telefon>123-456-789</telefon> </osoba> <osoba charakter="zły"> <imię>Alojzy</imię> <nazwisko>Bąbel</nazwisko> <telefon/> </osoba> </książka-telefoniczna>
Korzeniem dokumentu jest element o nazwie książka-telefoniczna. Ma on przypisany jeden atrybut o nazwie kategoria i wartości bohaterowie książek. Korzeń jest rodzicem dwóch innych elementów, oba mają tę samą nazwę osoba i przypisany atrybut o nazwie charakter. Każdy z elementów o nazwie osoba jest rodzicem dla trzech innych elementów o nazwach imię, nazwisko i telefon, które zawierają konkretne dane w formie węzłów tekstowych (tekst pomiędzy odpowiednimi znacznikami otwierającym i zamykającym). Element o nazwie telefon w dwunastej linii dokumentu jest pusty (nie ma żadnych potomków), a znacznik otwierający jest jednocześnie znacznikiem zamykającym. Zapis <telefon/> jest równoważny zapisowi <telefon></telefon>. W trzeciej linii dokumentu znajduje się komentarz.
Dokument rozpoczyna się instrukcją sterującą, która zawiera informacje o wersji standardu XML, z jakim jest zgodny, oraz o sposobie kodowania znaków. Wszystkie te informacje są opcjonalne, można pomijać dowolne z nich, a nawet całą instrukcję sterującą. W razie braku którejś z danych przyjmuje się wartość domyślną, jakimi są właśnie wersja 1.0 oraz standard kodowania UTF-8.
[edytuj] XML w oknie przeglądarki internetowej
Dokument XML nie precyzuje, jak należy wyświetlać przechowywane w nim dane i większość przeglądarek internetowych, przy próbie wyświetlenia go w swym oknie, potraktuje go jak zwykły tekst. Istnieją jednak łatwe sposoby na prezentowanie dokumentów XML na stronach internetowych w przyjazny dla użytkownika sposób.
Możliwe jest wyrenderowanie dokumentu przy użyciu stylów CSS. W tym celu należy umieścić na początku dokumentu odpowiednią instrukcję sterującą, na przykład:
<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>
Transformacje XSL umożliwiają konwersję danych do innego formatu, na przykład HTML. Arkusz stylów jest zbiorem reguł określających sposób postępowania wobec każdego węzła dokumentu podczas transformacji. Większość współczesnych przeglądarek wyposażona jest w transformator XSL i wystarczy dodać na początku przetwarzanego dokumentu XML instrukcję sterującą podobną do poniższej:
<?xml-stylesheet type="text/xsl" href="myTransform.xslt"?>
XHTML jest aplikacją XML zgodną z HTML. Oznacza to, że dokumenty XHTML są traktowane przez przeglądarkę tak, jak strony internetowe napisane w HTML i równocześnie są poprawnymi składniowo dokumentami XML.
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- Strona domowa XML (en) (polskie tłumaczenie)
- Specyfikacja XML 1.0 (en)
- Specyfikacja XML 1.1 (en)
- XML Document Authoring Tools (en)
- xml-dev Mailing List Archive (en)
- Wprowadzenie do XML (pl)