| Ten artykuł jest częścią serii World Wide Web |
|
Struktura stron WWW Generowanie dynamicznych stron WWW ASP, ASP.NET, JSP, PHP, Profile MSP Po stronie użytkownika CSS, JavaScript, AJAX, Kolory w Internecie Przesyłanie danych HTTP(S), HTTP referrer, Serwer WWW, VoiceXML, XMLHttpRequest Pojęcia Architektura informacji, Użyteczność (web-usability), Dostępność (WWW) |
XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) 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 czwartą odsłoną wersji 1.0 W3C opublikowało drugą 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"?> <ksiazka-telefoniczna kategoria="bohaterowie książek"> <!-- komentarz --> <osoba charakter="dobry"> <imie>Ambroży</imie> <nazwisko>Kleks</nazwisko> <telefon>123-456-789</telefon> </osoba> <osoba charakter="zły"> <imie>Alojzy</imie> <nazwisko>Bąbel</nazwisko> <telefon/> </osoba> </ksiazka-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 dwunastym wierszu 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 trzecim wierszu 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 językiem HTML przepisanym do postaci XML. Znaczna część przeglądarek potrafi takie strony wyświetlić podobnie do klasycznych stron HTML, Internet Explorer niestety potraktuje je jako zwykłe pliki XML.
edytuj Popularne języki oparte na XML
- OpenDocument - OASIS Open Document Format for Office Applications, dokumenty biurowe
- SMIL - Synchronized Multimedia Integration Language, opis prezentacji multimedialnych
- SVG - Scalable Vector Graphics, grafika wektorowa
- MathML - Mathematical Markup Language, opis formuł matematycznych
- XAML - Extensible Application Markup Language, GUI w .NET poczÄ…wszy od wersji 3.0
- XHTML - Extensible HyperText Markup Language, strony WWW
- XSL - Extensible Stylesheet Language, przekształcanie XML-i
- XSLT - XSL Transformations, Przekształcenia Rozszerzalnego Języka Arkuszy Stylów
- XUL - XML-based User-interface Language, GUI
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)
- XeML.net XML Tutorial (en)
Rdzenne technologie XML-a: Namespaces in XML • XML Inclusions (XInclude) • XML Information Set • xml:id
XML Events • XML Fragment Interchange • XML Base • Associating Style Sheets with XML documents
Języki stylistyczne: Cascading Style Sheets (CSS) • Document Style Semantics and Specification Language (DSSSL), Rodzina Extensible Stylesheet Language:
Extensible Stylesheet Language (XSL) • XSL Formatting Objects (XSL-FO) • XSL Transformations (XSLT) • XML Path Language (XPath)
Języki z rodziny XML Linking: XML Linking Language (XLink) • XML Base • XML Pointer Language (XPointer)
Języki zapytań dokumentów XML: XML Path Language (XPath) • XML Query Language (XQuery) • XML Syntax for XQuery (XQueryX)
Rodzaje schematów dokumentów XML: Document Type Definition (DTD) • XML Schema • REgular LAnguage for XML Next Generation (RELAX NG)
