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.
<?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>
Le type de contenu text/HTML du html est remplacer par application/xhtml+xml
La balise <html> doit avoir l'attribut xmlns="http://www.w3.org/1999/xhtml"
<html xmlns="http://www.w3.org/1999/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" >
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 />
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>
Chaque valeur d'attribut doit être entre guillemets :
Invalide: <div class=css1> </div>
Valide: <div class="css1"> </div>
L'attribut name="id" du html est remplacé par l'attribut id="id".
<h1 id="titre"> </h1> remplace <h1 name="titre"> </h1>
L'attribut lang="fr" du html est remplacé par l'attribut xml:lang="fr"
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>