XHTML1 - Cours XHTML

Le grands changements

Intro

Les changements par rapport au HTML dans la version XHTML 1
sont surtout liés au formatage du code.
Mais certains attributs disparaissent comme l'attribut HTML NAME qui est remplacé par ID sur certaines balises.
Exemple de code :
<a href="dmc.html" name="dmc">Lien</a>
devient
<a href="dmc.html" id="dmc">Lien</a>

Cependant, pour assurer une compatibilité ascendante et descendante vous pouvez mettre les deux :
Exemple de code :
<a href="dmc.html" name="dmc" id="dmc">Lien</a>

L'écriture des balises

Le XHTML s'étant rapproché du XML, il devient sensible à la casse, c'est à dire que vous ne pouvez plus écrire :
Exemple de code :
<p></P>
mais vous devez écrire :
Exemple de code :
<p></p>
Il faut maintenant tout écrire en minuscule (balise et attribut)
Cependant, si par hasard vous faites une faute, cela ne devrait pas gêner l'affichage de votre page.

L'écriture des attributs

L'écriture des attributs est aussi sensible à la casse.
Il faut de plus mettre toujours les valeurs des attributs entre " ".
Mauvais code :
Exemple de code :
<span WIDTH=100></span>

Bon code :
Exemple de code :
<span width="100"></span>

Certains attributs HTML sont dit boolean c'est à dire sans valeur comme :
compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, doivent s'écrire :
Exemple de code :
<td nowrap="nowrap"></td>

Les balises simples

Ecriture d'une balise XHTML simple

Dans le HTML, il existe des balises dites simples tel que BR, META... Ces dernières existes aussi en XHTML, mais leur écriture diffère. Ces balises XHTML doivent se finir par un / à la fin :
Exemple de code :
<br />
<img />
Cependant, il n'est pas faux d'écrire :
Exemple de code :
<br></br>
<img></img>

D'autres balises HTML simple comme LI devinent des balises doubles :
Exemple de code :
<li></li>

L'attribut LANG

Lang et xml:lang

L'attribut lang est indissociable de l'attribut xml:lang.
Lorsque vous spécifiez le langage d'un élément les deux attributs doivent être présent.
Si La valeur de l'attribut lang est différente de l'attribut xml:lang, c'est ce dernier qui est pris en compte.
Exemple de code :
<div lang="fr" xml:lang="fr">Cours de XHTML</div>