XHTML je značkovací jazyk pro tvorbu hypertextových dokumentů v prostředí sítě Internetu. Tento jazyk by měl pomalu nahradit zastaralé HTML, které se po verzi 4.01 přestala vyvíjet. XHTML je stále vyvíjeno a dnes (rok 2008) je na Světě verze XHTML 2.
V XHTML musí být všechny tagy uzavřené, jsou tedy všechny nutně párové. Takže tagy jazyka HTML jako jsou <meta>, <hr>, <img>, <br>, <link> musíme uzavřít, k tomu máme více možností.
Možnosti:
První způsob se nedoporučuje používat, zasíláme-li XHTML dokument s typem text/html.
Druhý způsob se také nedoporučuje, starší prohlížeče s tím mají problémy.
Třetí způsob je ten správný, kdy je mezi jménem tagu a lomítkem mezera, dnes dodržovaný standard.
V XHTML se nesmí křížit tagy, tedy: <b><i> ... </b></i> to nejde, jediné možné je: <b><i> ... </i></b>.
V XHTML na rozdíl od HTML musí být všechny tagy a jejich atributy zapsány malými písmeny, to je z důvodu, že jsou takto deklarované v odkazované DTD. X(HT)ML záleží na velikosti písem. Pokud bychom si deklarovali vlastní DTD, můžeme klidně používat i velká písmena.
Všechny hodnoty jednotlivých atributů musí být striktně napsány v uvozovkách.
Všechny atributy musí mít hodnotu.
Dokument musí začínat XML deklarací.
Dokument musí mít správný doctype.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Jelikož je v XHTML script brán jako text, musí se proto vložit mezi zápis CDATA. CDATA se musí ještě javaskriptově zakomentovat, aby se CDATA nevykonaly.
<script type="text/javascript"> /* <![CDATA[ */ příkazy javascriptu /* ]]> */ </script>