HTML contre XHTML
XHTML est une version plus stricte et davantage basée sur XML du HTML.
Qu’est-ce que XHTML ?
- XHTML signifie EXtensible HyperText Markup Language
- XHTML est une version plus stricte et davantage basée sur XML du HTML
- XHTML est HTML défini comme une application XML
- XHTML est pris en charge par tous les principaux navigateurs
Pourquoi XHTML ?
XML est un langage de balisage dans lequel tous les documents doivent être balisés correctement (être « bien formés »).
XHTML a été développé pour rendre le HTML plus extensible et plus flexible pour fonctionner avec d'autres formats de données (tels que XML). De plus, les navigateurs ignorent les erreurs dans les pages HTML et tentent d'afficher le site Web même s'il contient des erreurs dans le balisage. XHTML est donc livré avec une gestion des erreurs beaucoup plus stricte.
Si vous souhaitez étudier le XML, veuillez lire notre Tutoriel XML.
Les différences les plus importantes par rapport au HTML
- <!DOCTYPE> est obligatoire
- L'attribut xmlns dans <html> est obligatoire
- <html>, <head>, <title> et <body> sont obligatoires
- Les éléments doivent toujours être correctement imbriqués
- Les éléments doivent toujours être fermés
- Les éléments doivent toujours être en minuscules
- Les noms d'attribut doivent toujours être en minuscules
- Les valeurs d'attribut doivent toujours être entre guillemets
- La minimisation des attributs est interdite
XHTML - <!DOCTYPE ....> est obligatoire
Un document XHTML doit avoir une déclaration XHTML <!DOCTYPE> .
Les éléments <html>, <head>, <title> et <body> doivent également être présents, et l'attribut xmlns dans <html> doit spécifier l'espace de noms XML du document.
Exemple
Voici un document XHTML avec un minimum de balises obligatoires :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
some content here...
</body>
</html>
Les éléments XHTML doivent être correctement imbriqués
En XHTML, les éléments doivent toujours être correctement imbriqués les uns dans les autres, comme ceci :
Correct :
<b><i>Some text</i></b>
Faux :
<b><i>Some text</b></i>
Les éléments XHTML doivent toujours être fermés
En XHTML, les éléments doivent toujours être fermés comme ceci :
Correct :
<p>Ceci est un paragraphe</p>
<p>Ceci est un autre paragraphe</p>
Faux :
<p>Ceci est un paragraphe
<p>Ceci est un autre paragraphe
Les éléments XHTML vides doivent toujours être fermés
En XHTML, les éléments vides doivent toujours être fermés comme ceci :
Correct :
Une pause : <br />
Une règle horizontale : <hr />
Une image : <img src="happy.gif" alt="Visage heureux" />
Faux :
Une pause : <br>
Une règle horizontale : <hr>
Une image : <img src="happy.gif" alt="Visage heureux">
Les éléments XHTML doivent être en minuscules
En XHTML, les noms d'éléments doivent toujours être en minuscules, comme ceci :
Correct :
<body>
<p>Ceci est un paragraphe</p>
</body>
Faux :
<BODY>
<P>Ceci est un paragraphe</P>
</BODY>
Les noms d'attributs XHTML doivent être en minuscules
En XHTML, les noms d'attributs doivent toujours être en minuscules, comme ceci :
Correct :
<a href="https://w3schoolsua.github.io/html/">Visitez notre tutoriel HTML</a>
Faux :
<a HREF="https://w3schoolsua.github.io/html/">Visitez notre tutoriel HTML</a>
Les valeurs des attributs XHTML doivent être citées
En XHTML, les valeurs d'attribut doivent toujours être entre guillemets, comme ceci :
Correct :
<a href="https://w3schoolsua.github.io/html/">Visitez notre tutoriel HTML</a>
Faux :
<a href=https://w3schoolsua.github.io/html/>Visitez notre tutoriel HTML</a>
La minimisation des attributs XHTML est interdite
En XHTML, la minimisation des attributs est interdite :
Correct :
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />
Faux :
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />