Přeskočit na obsah

HTML/Rozdíl mezi HTML a XHTML

Z Wikiknih

Často bývá předmětem nekonečných hádek. Pokusím se o nezaujatost.

Souvislosti

[editovat | editovat zdroj]

HTML obecně je jazyk, který určuje sémantiku stránky. Lze jej kódovat dle pravidel SGML (poté se pro zmatky označuje HTML, případně staré HTML) nebo podle pravidel XML (poté se mu říká XHTML).

Podpora v prohlížečích

[editovat | editovat zdroj]

Starší verze nebo některé typy(mobily) prohlížečů neumí správně zobrazit XHTML. W3C tvrdí, že XHTML bude dopředně kompatibilní.

Kódování

[editovat | editovat zdroj]
Rozdíl HTML 4.01 XHTML 1.0
Značky a atributy V obou jsou stejné značky, atributy i povolené elementy. Následující rozdíly vycházejí z rozdílů mezi SGML a XML.
Uzavírání nepárových tagů SGML říká, že se nepárové tagy nekončí. Třeba <img src="aa.jpg" alt="aa"> je správný zápis. XML končí lomítkem na konci <img src="aa.jpg" alt="aa" />
Nepovinné začátky a konce v HTML je zápis <p>blabla<p>další odstavec<p>a konec</body> správně, vyhovující prohlížeč stránku musí zobrazit, proto validátor neoznámí chybu, ani varování. Obecně zápis <c>...<d>, pokud tag d nesmí být uvnitř tagu c znamená <c>...</c><d>.

SGML umožňuje nepovinné počáteční značky, například tag <body> nemusí mít počáteční značku, pokud dle definice musí být na určitém místě. (<html><head><title>ahoj</title></head><p>aaa : tag <p> nemůže být uvnitř pouze hlavního tagu <html>, proto se doplní body a vznikne ...</head><body><p>...). Mno nevím, kterému kodérovi to pomůže a kdo rád šetří znaky, ale SGML prohlížeč to musí přežvýkat.

XML nařizuje povinné uvádění všech značek a dovoluje prohlížečům stránku nezobrazit.
Reakce prohlížeče na chyby SGML tvrdí, že neznámý tag je prohlížečem ignorován a jiné druhy chyb by se měl prohlížeč snažit zobrazit. Nezobrazení SGML dokumentu je zapříčiněno větší chybou. XML tvrdí, že při každé chybě musí prohlížeč ukončit zpracování a oznámit chybu.
◄ HTML/Metatagy Rozdíl mezi HTML a XHTML HTML/Odkazy ►