|
|
Niektóre informacje zawarte w artykule wymagają weryfikacji. Zajrzyj do sekcji "Aż roi się od bzdur" strony dyskusji, by dowiedzieć się, jakie informacje budzą wątpliwości. |
| World Wide Web |
|
Struktura stron WWW Generowanie dynamicznych stron WWW Active Server Pages, ASP.NET, JavaServer Pages, PHP Po stronie użytkownika kaskadowe arkusze stylów, JavaScript, AJAX, kolory w Internecie Przesyłanie danych Hypertext Transfer Protocol, HTTPS, HTTP referrer, serwer WWW, VoiceXML, XMLHttpRequest Pojęcia |
XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.
XML jest niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy heterogenicznymi (różnymi) systemami i znacząco przyczyniło się do popularności tego języka w dobie Internetu. XML jest standardem rekomendowanym oraz specyfikowanym przez organizację W3C.
Spis treści |
Koncepcja XML-a polega na znacznym uproszczeniu zawiłego SGML-a, co pozwoliło na budowę prostszych parserów (procesorów XML). XML jest podzbiorem standardu SGML eliminując jego zbyt skomplikowany charakter tam gdzie się tylko dało. Większość dokumentów XML jest także zgodna z SGML, ale nie na odwrót. Istnieją dokumenty XML, które nie są poprawnymi dokumentami SGML (lub też przetwarzane zgodnie z regułami SGML mogą zostać zinterpretowane wbrew intencji autora) – za sprawą sposobu zamykania pustych znaczników (jak np. <p/>, które w XML-u jest równoważne <p></p>), kolidującego ze skróconą notacją znaczników SGML znaną jako Null End Tag (np. <p/abc/, co w dokumentach SGML może być równoważne <p>abc</p> lub być niepoprawne, jeśli definicja dokumentu zabrania stosowania NET).
Vide: <p/>abc/ w XML-u odpowiada <p></p>abc/, podczas gdy w SGML-u <p>>abc</p>. Notabene cecha ta jest jednym z argumentów wysuwanych przeciwko tezie o kompatybilności opartego na XML języka XHTML z opartym o SGML językiem HTML.
Istnieją również inne cechy różniące te dwa metajęzyki.
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.
Poprawny składniowo (ang. well-formed) dokument XML powinien być tworzony zgodnie z kilkoma zasadami:
ksiazka-telefoniczna;</data>, wyjątek stanowią elementy puste (<element-pusty />), czyli takie, które nie zawierają żadnych danych, ani innych elementów, mogą zawierać atrybuty;<przestrzeń1:element>,<newsy> jest rodzicem elementu <news>, element <news> jest dzieckiem elementu <newsy>, a zarazem rodzicem elementów <data>, <autor>, <e-mail>, <tresc>. Nie można stosować konstrukcji takiego typu: <news><data></data><tresc></news></tresc>, ponieważ element <tresc> nie jest prawidłowo zagnieżdżony w elemencie <news>;<news potw="yes"> jest atrybut o nazwie potw oraz wartości yes. Wartości atrybutów podaje się w cudzysłowach albo apostrofach (pojedynczych cudzysłowach).< znak ampersand – &, znak większości (>) - >;<![CDATA[, a znacznik końca: ]]>.<!--,, a kończą: -->. Przykład: <!-- To jest komentarz -->,<?, a kończą: ?>. Przykładem takiej instrukcji może być odniesienie do arkusza stylów, który jest powiązany z dokumentem XML: <?xml-stylesheet type="text/xsl" href="newsy.xsl"?>.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 już po publikacji wersji 1.0.
Korzyści ze zmian wprowadzonych w nowej wersji są 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ń[potrzebne źródło]. 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.
<?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>
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.
Korzeniem dokumentu jest element o nazwie ksiazka-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 imie, 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 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="moj-styl.css"?>
Transformacje XSL umożliwiają konwersję danych do innego formatu, na przykład XHTML. 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="moj-xslt.xsl"?>
|
|||||||||||||||||||