Preskočiť na obsah

XHTML

z Wikipédie, slobodnej encyklopédie

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

Výhody jazyka XHTML

[upraviť | upraviť zdroj]
  • Dokumenty XHTML sú súčasne dokumentmi XML.[1] Takže môžu byť zobrazované, upravované a validované nielen prehliadačmi a WYSIWYG editormi ale tiež XML nástrojmi.[1]
  • 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).[1]

Výhody prechodu na jazyk XHTML

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

Rozdiely medzi HTML a XHTML

[upraviť | upraviť zdroj]

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

Budúcnosť jazyka XHTML

[upraviť | upraviť zdroj]

W3C neskôr začalo pracovať na XHTML2, na tento účel vytvorili pracovné skupiny v marci 2007.[4] Hlavnými rozdielmi je odstránenie všetkých atribútov upravujúcich vzhľad, rozmery a pozíciu prvkov jazyka.[5] 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.[6] Pracovná skupina bola rozpustená ku koncu roka 2009 a práca na XHTML2 ukončená.[7] Prednosť dostal projekt pracujúci na vývoji HTML5.[7]

Rozdiely v zápise medzi HTML a XHTML

[upraviť | upraviť zdroj]

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.[1]

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

Párové značky musia byť ukončené.[1] (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.[1]

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

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

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

Vlastnosti musia mať vždy uvedenú hodnotu.[1]

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.[8][1]

HTML:
<html lang="sk">
XHTML
<html xmlns="http://www.w3.org/1999/xhtml" lang="sk">

Referencie

[upraviť | upraviť zdroj]
  1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 XHTML 1.0: The Extensible HyperText Markup Language (Second Edition) [online]. World Wide Web Consortium, 2002-08-01, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  2. 1 2 3 XHTML 1.1 – Module-based XHTML – Second Edition [online]. World Wide Web Consortium, 2010-11-23, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  3. ↑ An XHTML + MathML + SVG Profile [online]. World Wide Web Consortium, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  4. ↑ W3C Relaunches HTML Activity [online]. World Wide Web Consortium, 2007-03-07, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  5. ↑ XHTML 2.0 – Introduction (W3C Working Group Note) [online]. World Wide Web Consortium, 2010-12-16, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  6. ↑ Paul Krill. XHTML 2 language dumped in favor of HTML 5 [online]. Network World, 2009-07-02, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  7. 1 2 Philippe Le Hégaret, Ian Jacobs. Frequently Asked Questions (FAQ) about the future of XHTML [online]. World Wide Web Consortium, 2009-07-02, [cit. 2026-11-02]. Dostupné online. (po anglicky)
  8. ↑ Namespaces crash course [online]. MDN Web Docs, [cit. 2026-11-02]. Dostupné online. (po anglicky)

Iné projekty

[upraviť | upraviť zdroj]
  • Spolupracuj na Commons Commons ponúka multimediálne súbory na tému XHTML
  • 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