Il existe deux types de normes pour écrire le code (X)HTML : le HTML (HTML 4 ou HTML5) et le xhtml (xhtml 1 ou HTML5).
Notez que HTML5 accepte aussi bien le standard HTML que xhtml.
La différence entre les deux réside dans le fait que xhtml se doit d'être conforme aux spécifications XML.
Différences principales entre les deux versions.
- En xhtml, les balises et attributs doivent être en minuscules.
Si la portion de code suivante
Code : | Sélectionner tout |
1 2 3 4 5 6 | <DIV ID="elementDIV"> <UL CLASS="liste"> <LI></LI> <LI></LI> </UL> </DIV> |
Code : | Sélectionner tout |
1 2 3 4 5 6 | <div id="elementDIV"> <ul class="liste"> <li></li> <li></li> </ul> </div> |
- En xhtml, les valeurs d'attributs doivent être entourées de quotes.
De la même manière,
Code : | Sélectionner tout |
1 2 3 4 5 6 | <DIV ID=elementDIV> <UL CLASS=liste> <LI></LI> <LI></LI> </UL> </DIV> |
- En xhtml, tout attribut doit avoir une valeur.
Le code suivant
Code : | Sélectionner tout |
1 2 3 4 5 | <SELECT> <OPTION VALUE=1>1</OPTION> <OPTION VALUE=2 CHECKED>2</OPTION> <OPTION VALUE=3>3</OPTION> </SELECT> |
Code : | Sélectionner tout |
1 2 3 4 5 | <select> <option value="1">1</option> <option value="2" checked="checked">2</option> <option value="3">3</option> </select> |
- En xhtml, toute balise doit être fermée.
Si en HTML, certaines balises n'ont pas besoin d'être fermées, xhtml impose que toute balise le soit (y compris les balises dites autofermantes).
Le code suivant est valide en HTML :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 | <P><IMG> <DIV> <UL> <LI>Liste 1 <LI>Liste 2 <LI>Liste 3 </UL> </DIV> |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 | <p><img /></p> <div> <ul> <li>Liste 1</li> <li>Liste 2</li> <li>Liste 3</li> </ul> </div> |
De même, pour autant que le doctype soit correctement renseigné, les deux syntaxes sont supposées produire le même rendu, c'est-à-dire que les navigateurs n'interprèteront pas le code à leur façon comme ils le font si le code n'est pas valide.
Si la syntaxe HTML permet d'éluder des parties jugées inutiles ou induites, le xhtml permet quant à lui d'avoir une syntaxe plus rigoureuse et donc d'éviter de potentielles erreurs de relecture du code.
Et vous ?
Quelle syntaxe privilégiez-vous ?
Pourquoi ce choix ?
Quels sont selon vous les avantages et inconvénients de chaque syntaxe ?
Avez-vous par le passé évolué d'une syntaxe à l'autre ou êtes-vous resté sur vos choix initiaux ? Pourquoi ?
N'hésitez pas bien sûr d'apporter vos compléments d'informations concernant les deux syntaxes !