Alsacreations FAQ version Beta 0.5

Questions sur la validation, les standards, etc.

Faut-il utiliser le prologue XML dans ma page web ?

<?xml version="1.0"?>

Le prologue XML, à placer avant le doctype, fait basculer certains navigateurs dans le modèle de boite (erroné) de Microsoft (mode Quirks).

Petit rappel sur le mode Quirks :
http://blog.alsacreations.com/2006/10/23/296-a-propos-du-modele-de-boite-microsoft-ou-quirks

Le prologue XML ne devrait apparaître que sur les document web au format XML ou XHTML traités en tant que XML (c'est à dire avec un content="application/xhtml+xml", voir FAQ sur XHTML 1.1)

* Un prologue XML n'a pas sa place dans un document HTML ou un document XHTML servi avec un content="text/html". *

En résumé, le prologue XML n'est pas obligatoire selon les usages que l'on fait du XHTML :
- Si on utilise XHTML pour faire du HTML (comme 90% des gens), le prologue n'est pas nécessaire.
- Par contre, si XHTML est utilisé comme du XML ou du MathML, le prologue est obligatoire.
- De même, il est obligatoire si l'encodage du document est autre que UTF-8 ou UTF-16 (dans le cas de pages servies en XML ou XHTML/XML).

En évitant d'ajouter le prologue sur les pages HTML ou XHTML servies comme HTML, que ce soit en strict, en transitional ou en frameset :
- on respecte les règles de compatibilité XHTML - HTML
- on évacue le problème du doctype switching dans IE et de l'affichage brut du prologue dans d'autres navigateurs plus anciens

NOTE : le prologue XML pose également des conflits avec PHP car sa syntaxe est comprise comme étant du langage PHP.
Pour cela, il faut réécrire le prologue de cette manière :
<?php echo '<?xml version="1.0" ?'.'>'; ?>

Liens complémentaires