XHTML
Rozšíření | .xhtml, .xht, .xml, .html,.htm |
---|---|
Typ MIME | application/xhtml+xml |
Vyvinul | World Wide Web Consortium |
Počáteční verze | 26. ledna 2000 |
Typ formátu | Značkovací jazyk |
Na základě | HTML , rozšiřitelný značkovací jazyk |
Standard |
1.0 (doporučení) , |
Specifikace | Otevřený formát |
XHTML ( Extensible HyperText Markup Language ) je značkovací jazyk používaný k psaní stránek pro World Wide Web . Původně navržený jako nástupce HTML , XHTML je založen na syntaxi definované XML , která je novější, ale jednodušší než ta definovaná SGML, na které je založen HTML . V té době šlo o využití technických výhod očekávaných od zjednodušení nabízeného XML.
Stejně jako mnoho jiných jazyků založených na XML i tento začíná písmenem X, které znamená slovo rozšiřitelný . První dokument oficiálně popisující XHTML se tedy nazývá XHTML 1.0 The Extensible HyperText Markup Language („XHTML 1.0 The Extensible HyperText Markup Language “). Je to však zkratka XHTML, která je ochrannou známkou konsorcia World Wide Web Consortium (W3C) a která je jedinou používanou ve specifikacích, které následovaly po verzi 1.0.
XHTML 1.0 jednoduše přeformuluje HTML 4 a použije XML 1.0. Samotná syntaxe se mění, aniž by byla přidána nebo odebrána žádná funkce. Konverzi dokumentu v HTML 4.01 v souladu s XHTML 1.0 lze provést automaticky bez ztráty informací.
XHTML 1.0 se stal doporučením W3C v roce 2000 a XHTML 1.1 v roce 2001. Po celé dvacátá léta byly HTML 4 a XHTML používány vývojáři i interpretovány webovými prohlížeči .
Tento příklad ilustruje nejběžnější syntaktické rozdíly mezi dokumentem napsaným v HTML 4 a XHTML 1.0.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>Exemple HTML 4</title> <ul> <li>Des éléments comme HTML, HEAD et BODY sont implicites, leurs balises ouvrantes et fermantes sont optionnelles.</li> <li>De nombreuses balises fermantes sont optionnelles, notamment pour P (paragraphe) et LI (entrée de liste). <li>Les noms d'éléments et d'attributs peuvent <EM Class="important">librement</Em> mélanger majuscules et minuscules.</li> <li>Certains attributs ont une valeur par défaut <input type="checkbox" checked value="...">.</li> <li>Les guillemets ne sont pas <em class=important>toujours</em> obligatoires autour des valeurs d'attribut.</li> <li>Les éléments vides n'ont pas de syntaxe fermante <img src="i.png" alt="i">.</li> </ul>Na rozdíl od výše uvedené tolerantní syntaxe HTML musí být stejný dokument „správně vytvořen“, aby vyhovoval pravidlům pro psaní XHTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Exemple XHTML 1.0</title> </head> <body> <ul> <li>Tous les éléments doivent être explicitement balisés.</li> <li>Les balises fermantes ne sont pas optionnelles.</li> <li>Les noms d'éléments et d'attributs <em class="important">doivent</em> être en minuscules.</li> <li>Tous les attributs doivent avoir une valeur explicite <input type="checkbox" checked="checked" value="..." />.</li> <li>Les guillemets sont <em class="important">toujours</em> obligatoires autour des valeurs d'attribut.</li> <li>Les éléments vides doivent être fermés <img src="i.png" alt="i"/>.</li> </ul> </body> </html>Následující vývoj rozděluje jazyk XHTML do modulů, z nichž každý seskupuje určitý typ funkcí. Toto rozdělení je navrženo tak, aby umožnilo rozšíření formátu nebo naopak odvození podmnožin přizpůsobených konkrétním kontextům. Tak :
XHTML 2.0 byl ve vývoji. Nemělo to být kompatibilní v původu a původu , zejména kvůli zavedení XForms a XFrames .
Nakonec 2. července 2009W3C oficiálně oznámila opuštění vývoji XHTML 2, s cílem věnovat se úplně do svého nového nástupce: HTML5 .
Aby byl dokument platný XHTML, musí mít deklaraci typu (DOCTYPE) a kódování (ISO nebo UTF), které odpovídá specifikacím W3C .
Deklarace XML je vyžadována pouze za několika podmínek kódování (jiná znaková sada než UTF-8) a pokud je dokument považován za dokument XML (typ obsahu application/xhtml+xml). Většina dokumentů XHTML 1.0 to proto nevyžaduje. Také způsobí ve webovém prohlížeči Internet Explorer 6.0 problematický způsob interpretace kaskádových stylů a skriptů JavaScriptu . Verze aplikace Internet Explorer 8 má však tendenci se podobat jiným prohlížečům a odpovídá CSS.
V závislosti na vybrané znakové sadě proto může dokument začínat následující instrukcí umístěnou v prvním řádku:
<?xml version="1.0" encoding="iso-8859-1"?>Několik příkladů prohlášení o typu dokumentu v XHTML:
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"> Sada rámců XHTML 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">Redundance atributů xml:langa langje nutné pouze v případě XHTML 1.0 dokumentu ošetřené jako dokument text/html, v závislosti na (non-normativní) doporučení XHTML / HTML kompatibility. Poté napíšeme:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">V dokumentu XHTML 1.0 považovaném za dokument application/xhtml+xmlnebo v dokumentu XHTML 1.1 a dále musíte napsat:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">