Le XHTML est une évolution du HTML qui se distingue de son parent, par la nécessité :
d’avoir une présentation gérée par des feuilles de style CSS,
d’être conforme aux contraintes de balisage du XML (fermeture des balises simples, usage des minuscules, valeurs des attributs entre guillements ou apostrophes,...). La structure générale d’un document XHTML va être décrite ci-après.
Au début de votre page, vous avez le renseignement concernant le DOCTYPE qui contient les exigences auxquelles les balises et les attributs du document doivent se conformer. Il y a deux spécifications possibles :
DTD strict (interprétation rigoureuse)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
DTD transitional (interprétation plus souple)
<!DOCTYPE html PUBLIC ''-//W3C//DTDXHTML 1.0Transitional//EN'' ''http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd''>
Ensuite, vous avez la balise racine <html> dont le premier attribut obligatoire est l’espace de nommage XML "http://www.w3.org/1999/xhtml" et le second indique la langue.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
Tout le reste du code xhtml se trouve entre cette balise ouvrante et la balise fermante </html> et doit être structuré en deux parties. La première, délimitée par les balises <head> et </head> correspond à l’en-tête et la deuxième délimitée par les balises <body> et </body> est le corps de la page.