Membre de Click-FR®, Réseau francophone Paie-Par-Click

Passer du HTML au XHTML

Ici je regroupe les règles à suivre pour passer de la norme HTML à norme XHTML.

Vous devez au préalablement avoir les connaissances requises en html, si vous ne les avez pas, visiter notre partenaire pour Apprendre le XHTML.

Exemple de code Xhml 1.1

<?xml version="1.0" encoding="UTF-8"?>
<!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>Votre titre</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
votre page
</body>
</html>

 

Les régles

Type de contenu

Le type de contenu text/HTML du html est remplacer par application/xhtml+xml

Balise <html>

La balise <html> doit avoir l'attribut xmlns="http://www.w3.org/1999/xhtml"

<html xmlns="http://www.w3.org/1999/xhtml">

Les doctype xhtml

Xhtml 1.0 strict:

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

Xhtml 1.0 transitional:

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

Xhtml 1.0 Frameset:

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

Xhtml 1.1:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >

Fermeture des balises

Toutes les balises présentes dans un document Web doivent être correctement fermées, il ne faut jamais oublier d'ajouter la balise de fermeture d'un élément quand celle-ci existe :

Invalide: <p> texte...texte...texte...

Valide: <p> texte...texte...texte... </p>

Les balises ne possédant de balise de fermeture (<img>, <br>, <meta>) doivent êtres fermé avec un slash en fin de balise:

Invalide: <br>

Valide: <br />

Les balises et leurs attributs en minuscules

En HTML, on pouvait utiliser des majuscules ou des minuscules pour baliser les documents, avec XHTML, ce n'est plus possible, toutes les balises et tous leurs attributs doivent obligatoirement être écrits en lettres minuscules :

Invalide: <DIV CLASS="css1"> </DIV>

Valide: <div class="css1"> </div>

Attribut entre guillemets

Chaque valeur d'attribut doit être entre guillemets :

Invalide: <div class=css1> </div>

Valide: <div class="css1"> </div>

Attribut Name et id

L'attribut name="id" du html est remplacé par l'attribut id="id".

<h1 id="titre"> </h1> remplace <h1 name="titre"> </h1>

Attribut Lang et xml:lang

L'attribut lang="fr" du html est remplacé par l'attribut xml:lang="fr"

Pour le javascript

Le Xhtml utilisant la structure Xml vous devriez déclarer vos javascript comme ça:

<script type="text/javascript">
<![CDATA[

........Votre javascript......
]]>
</script>

 

Le problème étant que les anciens navigateurs web, ne reconnaissent pas cette syntaxe et n'affiche pas javascript, c'est pourquoi nous utiliserons plutôt cette syntaxe, entièrement valide et compatible avec tous les navigateurs:

<script type="text/javascript">
<!--
// <![CDATA[

........Votre javascript......
// ]]>
-->
</script>