| Le langage XHTML

 |
Vous voilà prêt à faire votre premier document XHTML que vous
testez sur votre ordinateur. Merveille, cela fonctionne ! Et tous les
documents fonctionnent ! Hélas ce n'est que normal... Les navigateurs
de la génération actuelle sont tellement permissifs, que ce que vous
pensez être du XHTML est interprété comme du simple Html.
Avant de considérer un document comme un véritable document XHTML
, il faut absolument VALIDER
votre document par des sortes de correcteurs XHTML. Début 2001, on ne
dispose réellement que de deux outils :
- Le validateur en ligne du W3C. La référence officielle mais
qui nécessite d'être connecté pour son exploitation.
- Tidy, un excellent programme mais qui ne fonctionne qu'en
fenêtre DOS. Peu convivial mais il permet de peaufiner son code
hors connexion.

|
 |
Le W3C propose à l'adresse
http://validator.w3.org un service de validation en ligne. Soit à
partir d'un fichier en ligne sur votre serveur ou "uploadé" à partir
de votre ordinateur. C'est ce dernier que nous avons utilisé car plus
pratique.

Nous lui avons proposé le fichier suivant, contenant quelques
erreurs.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="fr">
<head>
<title>Page XHTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
</head>
<body>
<H1>Exemple</hi>
<p>
<b><i>Gras et italique</b></i>
<br>
<img src="x.gif" HEIGHT=29 WIDTH=26>
</body>
</html> |
Et voici le résultat [capture aménagée].
HTML
Validation Service Results
Document Checked File: D:\test.html
Character encoding: utf-8
Document type: unknown with namespace http://www.w3.org/1999/xhtml
Below are the results of checking this
document for XML well-formedness and validity.
- Line 10, column 3:
<H1>Exemple</hi>
^
Error: element "H1" not defined in this HTML version
Erreur : L'élément H1 n'existe pas en
XHTML car tout se note en minuscules. <h1> serait correct.
- Line 10, column 15:
<H1>Exemple</hi>
^
Error: end tag for element "hi" which is not open; try removing
the end tag or check for improper nesting of elements
Erreur : La balise de fin </hi> n'as été
ouvert [c'est hi au lieu de h1].
- Line 12, column 25:
<b><i>Gras et italique</b></i>
^
Error: end tag for "i" omitted; end tags are required in
XML for non-empty elements; empty elements require an end tag
or the start tag must end with "/>"
Erreur : La balise de fin de "i" manque
[car mal imbriquée]
- Line 12, column 3:
<b><i>Gras et italique</b></i>
^
Error: start tag was here
Erreur : La balise de début était ici
- Line 12, column 29:
<b><i>Gras et italique</b></i>
^
Error: end tag for element "i" which is not open; try
removing the end tag or check for improper nesting of elements
Erreur : L'élément "i" n'a pas été
ouvert. Vérifiez que vos balises sont proprement imbriquées
- Line 13, column 4:
<br>
^
Error: end tag for "br" omitted; end tags are required
in XML for non-empty elements; empty elements require an end
tag or the start tag must end with "/>"
Erreur : La balise de fin de "br" manque.
Les éléments vides doivent se terminer par "/>"
- Line 13, column 0:
<br>
^
Error: start tag was here
Erreur : La balise de début était ici
- Line 14, column 24:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: there is no attribute "HEIGHT" for this element
(in this HTML version)
Erreur : L'attribut HEIGHT n'existe pas
en XHTML mais bien height en minuscules
- Line 14, column 24:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: attribute values must be quoted in XML
Erreur : Les attributs doivent être mis
entre guillemets
- Line 14, column 33:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: there is no attribute "WIDTH" for this element
(in this HTML version)
Erreur : L'attribut WIDTH n'existe pas en
XHTML mais bien width en minuscules
- Line 14, column 33:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: attribute values must be quoted in XML
Erreur : Les attributs doivent être mis
entre guillemets
- Line 14, column 35:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: required attribute "alt" not specified
Erreur : L'attribut "alt" n'est pas
spécifié
- Line 14, column 36:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: end tag for "img" omitted; end tags are required
in XML for non-empty elements; empty elements require an end
tag or the start tag must end with "/>"
Erreur: La balise de fin de "img" manque.
Les éléments vides doivent se terminer par "/>"
- Line 14, column 0:
<img src="x.gif" HEIGHT=29 WIDTH=26>
^
Error: start tag was here
Erreur : La balise de début était ici
- Line 15, column 7:
</body>
^
Error: end tag for "p" omitted; end tags are required in
XML for non-empty elements; empty elements require an end tag
or the start tag must end with "/>"
Erreur: La balise de fin de "p" manque.
Les éléments vides doivent se terminer par "/>"
- Line 11, column 0:
<p>
^
Error: start tag was here
Erreur : La balise de début était ici
- Line 15, column 7:
</body>
^
Error: end tag for "H1" omitted; end tags are required
in XML for non-empty elements; empty elements require an end
tag or the start tag must end with "/>"
Erreur : La balise de fin de "H1" manque
[c'était /hi au lieu de /h1]
- Line 10, column 0:
<H1>Exemple</hi>
^
Error: start tag was here
Erreur : La balise de début était ici
--------------------------------------------------------------------------------
Sorry, I can't validate this document.
Désolé, je ne peux valider ce document
--------------------------------------------------------------------------------
Gerald Oskoboiny Last modified: Date:
2001/03/08 01:57:52 |
Le fichier une fois corrigé se présente comme suit :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="fr">
<head>
<title>Page XHTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/> </head>
<body>
<h1>Exemple</h1>
<p>
<i><b>Gras et italique</b></i>
<br />
<img src="x.gif" height="29"
width="26"
alt="..." />
</p>
</body>
</html> |
Cette fois, le test du validateur est réussi :
HTML
Validation Service Results
Document Checked File: D:\test.html
Character encoding: utf-8
Document type: unknown with namespace http://www.w3.org/1999/xhtml
Below are the results of checking this
document for XML well-formedness and validity.
No errors found!
Pas d'erreurs !
Congratulations, this document validates as
the document type specified!
Félicitations, ce document est validé comme
conforme au DTD spécifié ! |

|
 |
Tidy (téléchargeable ici) est un programme
offrant de nombreuses possibilités mais comme pour l'instant il ne
fonctionne que sous DOS, on ne peut pas dire qu'il soit facile à
configurer et à utiliser.
Vivement une version Windows plus conviviale. Heureusement qu'il
soit déjà intégré à des applications comme Evrsoft's 1st Page 2000 -
un excellent éditeur HTML pour Windows 95/98/NT/2000 qui supporte
Tidy.
Pour ceux qui voudraient en savoir plus sur ce programme Tidy et
ses multiples fonctions, je les renvoie à la page "Clean
up your Web pages with HTML TIDY".
Voici le fichier suivant qui comporte quelques erreurs.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="fr">
<head>
<title>Page XHTML</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
</head>
<body>
<H1>Exemple</hi>
<p>
<b><i>Gras et italique</b></i>
<br>
<img src="x.gif" HEIGHT=29 WIDTH=26>
</body>
</html> |
Tidy vous propose l'analyse suivante :
Tidy (vers 26th June 1999)
line 14 column 14 - Warning: <html>
unrecognized attibute value "xml : lang"
Attribut
xml : lang non reconnu dans la balise <html>
line 17 column 14 - Warning:
<meta> unrecognized attribute value "http-equiv"
Attribut http-equiv non reconnu dans la
balise <head>
line 10 column 25 - Warning: discarding unexpected </hi>
L'élément non attendu </hi> est écarté
line 11 column 15 - Warning: missing </h1> before <p>
Il manque </h1> devant <p>
line 12 column 36 - Warning: replacing unexpected </b> by
</i>
L'élément non attendu </b> est remplacé par
</i> (imbrication correcte)
line 12 column 40 - Warning: replacing unexpected </i> by
</b>
L'élément non attendu </i> est remplacé par
</b> (imbrication correcte)
line 14 column 15 - Warning: <img> lacks "alt" attribute
La balise <img> ne comporte pas d'attribut
"alt"
7 warnings/errors were found !
7 avertissements/erreurs ont été trouvés |
Dans la configuration adoptée, Tidy corrige lui-même certains
éléments signalée ainsi que d'autres éléments passés sous silence
(guillemets aux valeurs d'attribut, mise en minuscules. Voici la
correction qu'il propose.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xmlns="http://www.w3.org/TR/xhtml1" lang="fr">
<head> <title>Page XHTML</title>
<meta content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Exemple</h1>
<p>
<b><i>Gras et italique</i></b>
<br />
<img src="x.gif" height="29" width="26" />
</p>
</body>
</html> |
|

|