XHTML
From Helionica
|
|
Extensible Hypertext Markup Language (XHTML) - język znaczników będący bezpośrednim kontynuatorem HTML, mającym ten sam potencjał, ale bardziej rygorystyczną składnię. Podczas gdy HTML jest aplikacją SGML, o bardzo elastycznej składni, XHTML jest aplikacją XML, znacznie bardziej restrykcyjnego podzbioru SGML. XHTML 1.0 stał się oficjalną rekomendacją World Wide Web Consortium 26 stycznia 2000 r.
Spis treści |
Ogólne
XHTML jest następcą i de facto aktualną wersją HTML. Potrzeba ściślejszej wersji HTML wyłoniła się przede wszystkim dlatego, że zawartość Sieci jest dostarczana do wielu urządzeń, poza tradycyjnymi komputerami, jak np. urządzeń mobilnych, w których nie można akceptować "wielkoduszności" HTML - im luźniejsza składnia, tym trudniejsza w przetwarzaniu. DTD definiuje reguły XHTML, zgodnie z którymi dokument może być weryfikowany.
Większość popularnych przeglądarek internetowych poprawnie wyświetla dokumenty XHTML. Podobnie, niemal wszystkie przeglądarki zgodne z XHTML renderują poprawnie HTML.
Prawdziwa siła XHTML uwidacznia się w połączeniu z kaskadowymi arkuszami stylów - rozdzielenie treści od jej wizualizacji staje się kluczową cechą kodu wyświetlanej strony.
Zmiany zawarte w XHTML w stosunku do HTML są niewielkie i mają na celu zwiększenie zgodności z XML. Najważniejszą zmianą jest wymóg absolutnej poprawności znaczników HTML. Dodatkowo, w XHTML wszystkie znaczniki muszą być pisane małymi literami. Stoi to w jaskrawej sprzeczności z tradycją, która zaczęła się kształtować od wersji HTML 2.0, gdy większość autorów stron preferowała wielkie litery w znacznikach. W XHTML wszystkie atrybuty, nawet numeryczne, muszą być objęte cudzysłowami (nie było to obowiązkowe w SGML i w konsekwencji w HTML - gdzie cudzysłowów nie wymagano, jeśli treść zawierała jedynie znaki alfanumeryczne i dozwolone znaki specjalne). Wszystkie elementy muszą być także domknięte, łącznie z pustymi, jak img i br.
Można to wykonać, dodając zamykający ukośnik do pierwszego znacznika: <img … /> i <br />. Minimalizacja atrybutów (np. <option selected>) jest także zabroniona; zamiast tego należy zastosować <option selected="selected">. Więcej szczegółów znajduje się na stronie specyfikacji XHTML w W3C.
Wikipedie i pokrewne im projekty oparte na MediaWiki używają standardu XHTML 1.0 Transitional.
Przykład strony WWW w XHTML
<?xml version="1.0" encoding="iso-8859-2"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl"> <head> <!-- Znacznik meta Content-Type nie musi być używany do określenia kodowania, wystarczy deklaracja XML z atrybutem encoding, jednak warto go stosować dla zgodności ze starymi przeglądarkami --> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-2" /> <title>Przykład dokumentu zgodnego z XHTML 1.1</title> </head> <body> <p>To jest przykład.</p> </body> </html>
Wersje XHTML
XHTML 1.1
Najnowszą rekomendacją XHTML jest XHTML 1.1: Module-based XHTML. Autorzy mogą importować dodatkowe funkcje (jak np. frameset). Wersja ta obsługuje także ruby wymagane przez języki dalekowschodnie.
Jest to specyfikacja, którą W3C zaleca dla wszystkich nowych stron internetowych.
XHTML 1.0
Pierwotna specyfikacja XHTML była prostą reformulacją HTML 4.01 w języku XML. Istnieje kilka odmian XHTML, każda odpowiadająca odmianom HTML 4.01.
- XHTML 1.0 Strict: oparta na HTML 4.01 Strict; oddziela treść od układu i wizualizacji, przeniesionych do CSS.
- XHTML 1.0 Transitional: oparta na HTML 4.01 Transitional; umożliwiająca łatwą migrację z HTML 3.2.
- XHTML 1.0 Frameset: oparta na HTML 4.01 Frameset; obsługująca ramki na stronach WWW.
Rodzina XHTML
- XHTML Basic: specjalna, "lekka" wersja XHTML dla urządzeń, które nie mogą wykorzystywać pełnego zbioru poleceń XHTML, zwłaszcza urządzenia przenośne, jak telefony komórkowe; ma to być zastępnik języków WML i C-HTML.
- XHTML Mobile Profile: oparta na XHTML Basic odmiana promowana przez firmę Nokia, która dodaje do XHTML Basic obsługę specyficznych elementów związanych z telefonią..
XHTML 2.0 draft
Praca nad XHTML 2.0 jest ciągle w toku; nie opracowano jeszcze nawet DTD. Draft ten (z 27 maja 2005) jest kontrowersyjny, gdyż w obecnej wersji zrywa ze wsteczną kompatybilnością standardu i dlatego jest w rzeczywistości nowym językiem znaczników mającym obejść ograniczenia XHTML.
Nowe cechy wprowadzone do rodziny HTML przez XHTML 2.0 to:
- Formularze HTML mają być zastąpione przez XForms
- Ramki mają być zastąpione przez XFrames
- HTML Document Object Model ma być zastąpiony przez XML Events, który używa XML Document Object Model
- Wprowadzony zostanie nowy element wykazów
<nl>do określania list nawigacyjnych. Będzie to użyteczne przy tworzeniu zagnieżdżonych menu, które obecnie wykonuje się za pomocą rozmaitych technik. - Możliwość dołączenia hiperłącza do dowolnego elementu, np.
<img src="foo.png" href="http://www.something.com" /> - Śródtytuły (np..
<h1>,<h2>,<h3>etc.) zostaną uznane za przestarzałe, na rzecz pojedynczego elementu<h>. Poziomy śródtytułów będą wskazywane przez zagnieżdżone elementy<section>, każdy ze swoim własnym nagłówkiem<h>.
Walidacja dokumentów XHTML
Każdy dokument zgodny ze specyfikacją XHTML jest dokumentem poprawnym (valid). W doskonałym świecie wszystkie przeglądarki stosują się do standardów sieciowych i poprawne dokumenty są w dający się przewidzieć sposób renderowane w kazdej przeglądarce i na każdej platformie. Chociaż walidacja XHTML nie zapewnia zgodności między przeglądarkami, jest zalecana. Dokument może być sprawdzony pod kątem poprawności w W3C Markup Validation Service.
Aby zwalidować dokument, musi on zawierać Document Type Declaration. DTD powinno być umieszczone na samym początku dokumentu XHTML. Są trzy najczęściej używane deklaracje:
- XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">- XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">- XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">- XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Na początku dokumentu powinna być także zamieszczona informacja o stronie kodowej. Gdy dokument XHTML zawiera deklarację i stronę kodową, może być "przepuszczony" przez walidator (jak np. W3C Markup Validation Service), który bada zgodność ze standardem. W procesie walidacji zostaną znalezione i wyświetlone błędy w kodowaniu XHTML.
Typowe błędy obejmują:
- Niedomknięte elementy
- Znaczniki bez zakończeń
- Brak alternatywnych opisów ilustracji, co czyni je niedostępnymi dla niektórych urządzeń oraz dla osób niewidomych
- Wstawianie tekstu bezpośrednio do znacznika
<body> - Zagnieżdżanie elementów blokowych w elementach liniowych
- Brak cudzysłowów wokół atrybutów
- Niewłaściwie zagnieżdżone elementy
- Niewłaściwie użyte encje (jak np. & zamiast of &)
- Wielkie litery z znacznikach lub atrybutach
Jeśli dokument jest poprawny, W3C Markup Validation Service wyświetla małą ikonę, którą możesz umieścić na swojej stronie, aby potwierdzić, że jest zgodna z sieciowymi standardami. W3C oferuje także walidację dla języków CSS i HTML.
Zobacz też
Linki zewnętrzne
- Specyfikacja XHTML 1.0 – rekomendacja W3C (polski przekład)
- Specyfikacja modularyzacji XHTML – rekomendacja W3C (polski przekład)
- Specyfikacja XHTML 1.1 – rekomendacja W3C (polski przekład)
- Specyfikacja notacji ruby – rekomendacja W3C
- Typy mediów XHTML – nota W3C
- XHTML 1.0 w XML Schema – nota W3C
- Modularyzacja XHTML w XML Schema – szkic roboczy W3C
- Modularyzacja XHTML w RELAX NG – specyfikacja nieoficjalna
- Profil XHTML + MathML + SVG – szkic roboczy W3C
- XHTML 2.0 – szkic roboczy W3C
- Sending XHTML as text/html Considered Harmful
- Markup of XHTML pages
- Kurs języka XHTML (Dominik Tomaszuk)
Walidatory
- W3C's HTML Validator
- WDG HTML Validator
- Validators and checkers (Site Check)
- Validome Validator
- HTML/XHTML Validator Project on SourceForge
- XHTML 1.0 schema validator
Artykuł zawiera treści tłumaczone w pierwotnej wersji z udostępnionego na licencji GNU FDL artykułu XHTML w angielskiej Wikipedii. Lista autorów.
Bestsellery informatyki
Kategorie: Internet | Standardy | W3C | Webmasterstwo

