XTHML = HTML + XML
Un fichier HTML est destiné à être vu (par des humains)
Un fichier XML est destiné à être lu (par un programme)
Un fichier XHTML est destiné à être vu et lu.
Avantages
Écrit en XHTML le fichier est :
-
plus exploitable par des programmes autres que navigateurs. Ainsi, des informations - généralement situées dans le <head> - peuvent être extraites de fichiers XHTML par un programme. Ceci permet, par exemple, de générer un index reprenant le titre - contenu de la balise <title> - de chaque fichier XHTML. Le code de ce programme pourrait être écrit en PHP et enregistré dans un fichier index.php (comme pour un blog).
- sans faute. Ceci facilite le travail des moteurs de recherche et favorise un meilleur référencement.
- adapté aux smartphones et autres appareils ayant des ressources plus limitées qu'un PC (car les smartphones étant moins puissants que les PC, ils ont également des navigateurs moins puissants et donc incapables de "corriger" eux-mêmes les erreurs de code pour un affichage correct.)
Si des articles codés en XHTML sont régulièrement créés comme dans un blog, un progamme écrit en PHP pourrait créer un flux RSS ou Atom - un fichier XML - afin que les visiteurs puissent s'y abonner et ainsi suivre que les dernières publications
Coder en XML
<?xml version="1.0" encoding="UTF-8"?>
Dans un fichier XML, le prologue n'est pas obligatoire. (1)
<!DOCTYPE html> <html lang="fr-BE" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-BE"> <head>...
Il est préférable de placer les codes : Javascript, CSS, ... dans des fichiers externes
2 caractères spéciaux
Les deux caractères suivants doivent être convertis en entités :
& < (2)(3)
Aussi bien entre les balises que dans la valeur d'un attribut.
Attribut de balise
- Tous les attributs ont une valeur (parfois identique au nom de l'attribut) = exigence du xml
- Les guillemets ou des apostrophes entourent toujours la valeur d'un attribut (guillemets = recommandation)
Nom des éléments
Le nom des balises et des attributs est sensible à la casse.
Leurs noms seront en minuscules = recommandation.
Le nombre de balises et d'attributs sont illimités
Coder en HTML5
1 caractère spécial
Le caractère suivant doit être converti (entité) : < (3).
Aussi bien entre les balises que dans la valeur d'un attribut.
Nom des éléments
Le nom des balises et des attributs est insensible à la casse.
Mais, les règles d'inclusion des balises les unes dans les autres sont définies.
Le nombre de balises et d'attributs sont limités.
A propos des commentaires. Dans un fichier HTML5 ou XML, le contenu d'un commentaire ne peut contenir la séquence suivante : --
A propos du caractère d'échappement. Lorsqu'une valeur d'attribut doit contenir le caractère qui entoure cette valeur, ce caractère doit être précédé par le caractère d'échappement : \
Coder en XHTML5
Le fichier que vous lisez est au format XTHML5 (regardez son code source)
(1) XML Cours et Exercice d'Alexandre Brillant, 2° édition (ISBN 978-2-212-12691-4), page 10. Le parseur considérera alors, par défaut, version="1.0" encoding="UTF-8". Raison supplémentaire d'encoder un fichier (X)HTML en UTF-8.
(2) Ce caractère (&) est celui qui commence une entité tel que < pour représenter < ...
(3) Ce caractère (<) est celui qui commence une balise ...
HTML Versus XHTML (en anglais)