XHTML - Syntaxe

La syntaxe XHTML est très similaire à la syntaxe HTML et presque tous les éléments HTML valides sont également valides en XHTML. Mais lorsque vous écrivez un document XHTML, vous devez accorder un peu plus d'attention pour rendre votre document HTML conforme au XHTML.

Voici les points importants à retenir lors de l'écriture d'un nouveau document XHTML ou de la conversion d'un document HTML existant en document XHTML -

  • Écrivez une déclaration DOCTYPE au début du document XHTML.

  • Écrivez toutes les balises et attributs XHTML en minuscules uniquement.

  • Fermez correctement toutes les balises XHTML.

  • Imbriquez correctement toutes les balises.

  • Citez toutes les valeurs d'attribut.

  • Interdire la minimisation des attributs.

  • Remplace le name attribut avec le id attribut.

  • Déprécier le language attribut de la balise script.

Voici l'explication détaillée des règles XHTML ci-dessus -

Déclaration DOCTYPE

Tous les documents XHTML doivent avoir une déclaration DOCTYPE au début. Il existe trois types de déclarations DOCTYPE, qui sont discutées en détail dans le chapitre Doctypes XHTML. Voici un exemple d'utilisation de DOCTYPE -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Sensibilité à la casse

XHTML est un langage de balisage sensible à la casse. Toutes les balises et attributs XHTML doivent être écrits uniquement en minuscules.

<!-- This is invalid in XHTML -->
<A Href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</A>

<!-- Correct XHTML way of writing this is as follows -->
<a href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</a>

Dans l'exemple, Href et balise d'ancrage A ne sont pas en minuscules, il est donc incorrect.

Fermer les balises

Chaque balise XHTML doit avoir une balise de fermeture équivalente, même les éléments vides doivent également avoir des balises de fermeture. Voici un exemple montrant des façons valides et non valides d'utiliser les balises

<!-- This is invalid in XHTML -->
<p>This paragraph is not written according to XHTML syntax.

<!-- This is also invalid in XHTML -->
<img src="/images/xhtml.gif" >

La syntaxe suivante montre la manière correcte d'écrire au-dessus des balises en XHTML. La différence est que, ici, nous avons correctement fermé les deux balises.

<!-- This is valid in XHTML -->
<p>This paragraph is not written according to XHTML syntax.</p>

<!-- This is also valid now -->
<img src="/images/xhtml.gif" />

Citations d'attributs

Toutes les valeurs des attributs XHTML doivent être entre guillemets. Sinon, votre document XHTML est considéré comme un document non valide. Voici l'exemple montrant la syntaxe -

<!-- This is invalid in XHTML -->
<img src="/images/xhtml.gif" width=250 height=50 />

<!-- Correct XHTML way of writing this is as follows -->
<img src="/images/xhtml.gif" width="250" height="50" />

Minimisation des attributs

XHTML n'autorise pas la minimisation des attributs. Cela signifie que vous devez indiquer explicitement l'attribut et sa valeur. L'exemple suivant montre la différence -

<!-- This is invalid in XHTML -->
<option selected>

<!-- Correct XHTML way of writing this is as follows -->
<option selected="selected">

Voici une liste des attributs minimisés en HTML et la façon dont vous devez les écrire en XHTML -

Style HTML Style XHTML
compact compact = "compact"
vérifié vérifié = "vérifié"
déclarer declare = "declare"
lecture seulement readonly = "lecture seule"
désactivée disabled = "désactivé"
choisi selected = "sélectionné"
reporter defer = "reporter"
ismap ismap = "ismap"
nohref nohref = "nohref"
pas d'ombre noshade = "noshade"
Nowrap nowrap = "nowrap"
plusieurs multiple = "multiple"
noresize noresize = "noresize"

L' attribut id

L'attribut id remplace l'attribut name. Au lieu d'utiliser name = "name", XHTML préfère utiliser id = "id". L'exemple suivant montre comment -

<!-- This is invalid in XHTML -->
<img src="/images/xhtml.gif" name="xhtml_logo" />

<!-- Correct XHTML way of writing this is as follows -->
<img src="/images/xhtml.gif" id="xhtml_logo" />

L' attribut de langue

L'attribut de langue de la balise de script est obsolète. L'exemple suivant montre cette différence -

<!-- This is invalid in XHTML -->

<script language="JavaScript" type="text/JavaScript">
   document.write("Hello XHTML!");
</script>

<!-- Correct XHTML way of writing this is as follows -->

<script type="text/JavaScript">
   document.write("Hello XHTML!");
</script>

Balises imbriquées

Vous devez imbriquer correctement toutes les balises XHTML. Sinon, votre document est considéré comme un document XHTML incorrect. L'exemple suivant montre la syntaxe -

<!-- This is invalid in XHTML -->
<b><i> This text is bold and italic</b></i>

<!-- Correct XHTML way of writing this is as follows -->
<b><i> This text is bold and italic</i></b>

Interdictions d'élément

Les éléments suivants ne sont pas autorisés à contenir d’autres éléments. Cette interdiction s'applique à toutes les profondeurs de nidification. Cela signifie qu'il comprend tous les éléments descendants.

Élément Interdiction
<a> Ne doit pas contenir d'autres éléments <a>.
<pre> Ne doit pas contenir les éléments <img>, <object>, <big>, <small>, <sub> ou <sup>.
<bouton> Ne doit pas contenir les éléments <input>, <select>, <textarea>, <label>, <button>, <form>, <fieldset>, <iframe> ou <isindex>.
<label> Ne doit pas contenir d'autres éléments <label>.
<form> Ne doit pas contenir d'autres éléments <form>.

Un document XHTML minimal

L'exemple suivant vous montre un contenu minimum d'un document XHTML 1.0 -

<?xml version="1.0" encoding="UTF-8"?>

<!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/TR/xhtml1" xml:lang="en" lang="en">
   <head>
      <title>Every document must have a title</title>
   </head>
	
   <body>
      ...your content goes here...
   </body>
</html>