5. Notes sur XHTML
XHTML ressemble d'abord beaucoup à HTML
-
La différence superficielle: le langage adopte les normes XML
-
"case sensitivity", "valide" et "bien formé"
-
Notamment:
-
toutes les balises en minuscules,
-
déclaration d'une DocTypeDef (la déclaration XML reste une option)
-
déclaration du name space dans la balise html
-
pas de croisements de balises
-
Les éléments vides doivent avoir un "terminateur": <hr> devient <hr /> etc.
-
Toujours utiliser
&
pour
&
dans des attributs, y compris les URLs
-
Chaque attribut doit avoir une valeur:
<hr noshade="noshade">
.
Voici un exemple
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>document test </title> </head>
<body>
<h1>document test</h1>
Voici un test!
</body>
</html>
Pourquoi XHTML ?
-
C'est l'avenir (donc ces pages vivront plus longtemps)
-
Intégration d'autres langages comme MathML et SVG !
-
Intégration au "semantic web" (langages RDF)
-
Utilisation de XSLT (par exemple pour fabriquer des tables des matières)
-
Extensibilité et modularité
-
Meilleure interopérabilité entre clients (portables, ordinateurs, etc.)
XHTML-1.0-Strict (Jan 2000)
-
Seule version de XHTML vraiment dans l'esprit "XML"
-
Pas de "texte mixte", ce qui le nettement plus facile à digérer pour un style-sheet.
-
Séparation de contenu et style (CSS)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML-1.0-Transitional
-
Texte mixte
-
Balises "font"
<!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 (Juin 2001)
-
Version nettoyé modularisée de XHTML-1.0 strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
XHTML-2.0 (working draft 2005)
-
Plus de structuration, par exemple il y un élément "section" qui entoure une section
-
Plus de souplesse
-
Meilleure intégration avec le monde XML
-
Meilleur "event handling"
-
Plus de flexibilité pour l'inclusion d'images:
<p src="w3c-logo" type="image/png, image/jpeg;q=0.2">W3C logo</p>
-
etc. (la liste est longue)
Utilisation non orthodoxe de XTHML
-
Vous pouvez écrire un document large avec XHTML et ensuite appliquer un filtre qui produit un hypertexte (ensemble de pages reliées)
-
Exemple: une simple feuille de style pour XHTML 1 strict (!)
-
Voir aussi le script HTMLDoc pour HTML:
http://www.htmldoc.org/
-
http://tecfa.unige.ch/guides/xml/examples/xsl-xhtml/
(divide-doc.xsl)
-
Vous pouvez appliquer une feuille XSLT -> XSL-FO pour produire un document qui s'imprime avec numérotation de pages et un bon "look".
-- TIE