HTML contre XHTML
XHTML est une version de HTML plus stricte et plus basée sur XML.
Qu'est-ce que XHTML ?
- XHTML signifie E X tensible H yper T ext M arkup L anguage
- XHTML est une version de HTML plus stricte et plus basée sur XML
- 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 où tous les documents doivent être balisés correctement (être "bien formés").
XHTML a été développé pour rendre HTML plus extensible et 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 essaient d'afficher le site Web même s'il contient des erreurs dans le balisage. Ainsi, XHTML est livré avec une gestion des erreurs beaucoup plus stricte.
Si vous souhaitez étudier XML, veuillez lire notre didacticiel XML .
Les différences les plus importantes avec 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'attributs 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 pour le document.
Exemple
Voici un document XHTML avec un minimum de balises requises :
<!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>
Tort:
<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>This is a paragraph</p>
<p>This is another paragraph</p>
Tort:
<p>This is a paragraph
<p>This is another paragraph
Les éléments vides XHTML doivent toujours être fermés
En XHTML, les éléments vides doivent toujours être fermés, comme ceci :
Correct:
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
Tort:
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">
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>This is a paragraph</p>
</body>
Tort:
<BODY>
<P>This is a paragraph</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://www.w3schools.com/html/">Visit our HTML tutorial</a>
Tort:
<a HREF="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Les valeurs d'attribut XHTML doivent être entre guillemets
En XHTML, les valeurs d'attribut doivent toujours être entre guillemets, comme ceci :
Correct:
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Tort:
<a href=https://www.w3schools.com/html/>Visit our HTML tutorial</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" />
Tort:
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />