XHTML (angl. Extensible Hypertext Markup Languagerozšíriteľný hypertextový značkovací jazyk) je značkovací jazyk podobný HTML, ale s prísnejšou syntaxou. Zatiaľ čo HTML je aplikáciou SGML, veľmi pružného značkovacieho jazyka, XHTML je aplikáciou XML, obmedzenej podmnožiny SGML. XHTML 1.0 sa stalo odporúčaním W3C 26. januára 2000 a XHTML 1.1 zas 23. novembra 2010. XHTML podporujú všetky moderné prehliadače.

Výhody jazyka XHTML

upraviť
  • Dokumenty XHTML sú súčasne dokumentmi XML. Takže môžu byť zobrazované, upravované a validované nielen prehliadačmi a WYSIWYG editormi ale tiež XML nástrojmi.
  • XHTML dokumenty môžu byť vytvorené rovnako ako predtým s existujúcimi editormi s podporou HTML 4 a tiež v nových editoroch, ktoré podporujú jazyk XHTML priamo.
  • Dokumenty XHTML môžu využívať aplikácie (napr. skripty, applety), ktoré pracujú s HTML objektovým modelom dokumentu, XML objektovým modelom dokumentu DOM alebo pomocou SAX-u (Simple API for XML).

Výhody prechodu na jazyk XHTML

upraviť
  • Vývojári dokumentov a upravovatelia neustále objavujú nové spôsoby vyjadrenia svojich myšlienok prostredníctvom nových značiek. V XML je pomerne jednoduché pridať nové značky alebo ich atribúty. Rodina XHTML je navrhnutá tak aby prijatie takýchto rozšírení bolo možné prostredníctvom XHTML modulov. Tieto moduly umožnia použitie súčasných i nových vlastností pri vytváraní dokumentov.
  • Stále sa objavujú nové možnosti prístupu k Internetu. Jazyk XHTML bol navrhnutý s ohľadom na kompatibilitu všetkých možných editorov a prehliadačov. Vďaka novým mechanizmom profilácie dokumentov budú servery a proxy servery schopné rýchlejšie a lepšie spracovať obsah dokumentu. Vďaka štandardizácii bude možné vytvoriť dokument podľa XHTML, ktorý bude použiteľný vo všetkých editoroch a prehliadačoch.

Rozdiely medzi HTML a XHTML

upraviť

XHTML 1.0 sa oproti HTML 4.01 nelíši. Oba obsahujú tri typy DTD - Strict, Transitional a Frameset. XHTML neobsahuje menej elementov ani menej atribútov. Až v XHTML 1.1 boli úplne odstránené niektoré elementy, ktoré sme mohli nájsť v Transitional a Frameset verziách (X)HTML. Jednotlivé prvky, ktoré spolu tematicky súvisia, boli v jazyku XHTML 1.1 zaradené do modulov. Bola pridaná možnosť rozšíriť XHTML 1.1 o jazyk MathML 2.0.

Budúcnosť jazyka XHTML

upraviť

W3C neskôr začalo pracovať na XHTML2, na tento účel vytvorili pracovné skupiny v marci 2007. Hlavnými rozdielmi je odstránenie všetkých atribútov upravujúcich vzhľad, rozmery a pozíciu prvkov jazyka. Jednotlivé moduly jazyka budú vyvíjané samostatne. Niektoré z nich sú už dokonca štandardizované (XForms, XLink, XPoint). XHTML2 nebolo nikdy vydané, pretože W3C ho už nepovažovali za nový štandard. Pracovná skupina bola rozpustená ku koncu roka 2009 a práca na XHTML2 ukončená. Prednosť dostal projekt pracujúci na vývoji HTML5.

Rozdiely v zápise medzi HTML a XHTML

upraviť

Keďže XHTML je implementáciou XML, oproti HTML má niektoré dodatočné požiadavky, ktoré zjednodušujú jeho parsovanie a uľahčuje zapamätanie pravidiel človekom.

Značky musia byť písané malými písmenami.

Párové značky musia byť ukončené. (Značka "option" sa v XHTML považuje za párovú.)

HTML:
<p>Toto je odsek.
<tr><td>Prvá bunka<td>Druhá bunka
<option>Možnosť 1
XHTML:
<p>Toto je odsek.</p>
<tr><td>Prvá bunka</td><td>Druhá bunka</td></tr>
<option>Možnosť 1</option>

Nepárové značky musia obsahovať koncovú lomku.

HTML:
<br>
<input type="text" name="text1">
XHTML:
<br />
<input type="text" name="text1" />

Vlastnosti musia byť uvedené v úvodzovkách alebo apostrofoch.

HTML:
<td colspan=3>
XHTML:
<td colspan="3">

Vlastnosti musia mať vždy uvedenú hodnotu.

HTML:
<textarea readonly>Nejaký text</textarea>
XHTML:
<textarea readonly="readonly">Nejaký text</textarea>

Aby prehliadač vedel v XML dokumente rozlíšiť XHTML od iných značkovacích jazykov (SVG, MathML), musí mať koreňový element (<html>) uvedený menný priestor.

HTML:
<html lang="sk">
XHTML
<html xmlns="http://www.w3.org/1999/xhtml" lang="sk">
  • Lednár, Matej.: Príručka programátora - Prehľadný sprievodca jazykmi XHTML 1.1, CSS 2.1 a JavaScript 1.5+ s úvodom do DOM. Bratislava: MLD Group, 2009, s.776. ISBN 978-80-89448-00-5
  • Lednár, Matej.: Príručka programátora - Aplikujeme DOM s jazykmi XHTML, CSS a JavaScript. Bratislava: MLD Group, 2009, s. 207. ISBN 978-80-89448-01-2
  • Lednár, Matej.: Príručka programátora - Prehľadný sprievodca jazykom XHTML 1.1. Bratislava: MLD Group, 2009, s.178. ISBN 978-80-89448-04-3