XHTML (EXtensible HyperText Markup Language, langage hypertexte extensible) – est un langage de balisage pour les pages Web dont les capacités sont comparables à celles du HTML, mais avec une syntaxe plus stricte.

Toutes les spécialités de HTML sont enregistrées en XHTML, cependant, des règles de création de page plus strictes ont été introduites, ce qui permet aux sites d'être indépendants du périphérique d'affichage et du navigateur. Cela signifie, que le site sera affiché correctement dans tous les navigateurs et plates-formes modernes, tels que les ordinateurs, les smartphones, les assistants numériques personnels, etc.

XHTML est supporté par tous les navigateurs modernes.

La différence entre HTML et XHTML

Lors de l'écriture de code XHTML, une syntaxe spécifique à HTML est utilisée. La différence entre HTML et XHTML réside dans un ensemble de règles obligatoires.

Structure de document

  • L’annonce de type du document (DTD) <!DOCTYPE> est obligatoire
  • La présence de l'attribut xlmns (indique l'espace de nom xml) est obligatoire
  • Les balises <html>, <head>, <title> et <body> sont obligatoires

Exemple

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Titre du document</title>
  </head>
  <body>
    Contenu de la page
  </body>
</html>

Résultat

XHTML

Éléments XHTML

  • L’insertion des balises doit être correcte.

XHTML est critique à l’imbrication incorrecte d’une balise dans un autre et emplacement de la balise dans un conteneur ne correspondant pas. Par exemple, dans le balisage du texte <p> Lorem <b><i> ipsum dolor sit </b></i> </p> il y a une erreur, la balise </b> doit être située après la balise </i>, et ne pas le précéder.

  • Toutes les balises doivent être fermées.

Contrairement au HTML, où il est parfois permis d'omettre la balise de fermeture, en XHTML, la balise de fermeture est obligatoire toujours et partout.

<br /> - break
<hr /> - horizontal line
<img src="image.jpg"/> - image
  • Toutes les balises doivent être saisies en minuscule.

En XHTML on différencie les balises en majuscule et en minuscule. Pour éviter toute confusion, toutes les balises et leurs attributs doivent être en minuscules.

  • Dans un document XHTML il doit y avoir au moins un élément racine.

Attributs XHTML

  • Tous les attributs doivent être saisis en minuscule (en caractères minuscules).
  • Les valeurs des tous les attributs doivent être en guillemets.

Cette règle est également en HTML, mais l'absence de guillemets n'affecte pas l'exactitude du code et, en XHTML, la valeur des attributs de guillemets est nécessaire.

<table width="200" border="1" cellpadding="5" cellspacing="0">
  • L’utilisation des attributs abrégés des balises est interdite.

L’attribut abrégé est celui qui ne reçoit pas de valeur. Vous pouvez attribuer à un attribut une valeur d’attribut correspondant au nom. Par exemple, au lieu de checked (HTML), ce qui est utilisé c'est checked = "checked" (XHTML).

  • Au lieu de l’attribut name indiquez l'attribut id.

En XHTML l’attribut name est partiellement obsolète, donc id est recommandé à la place.

Pratiquez vos connaissances

Quelle est la différence entre HTML et XHTML ?
Trouvez-vous cela utile?