xslt, xhtml et type MIME
Dans les exemples XSLT 03 et 04, le MIMES XHTML est text/html, est-ce justifié ? Est-ce un bon choix ? Le meilleur ?
Comme l'évoque CYBERcodeur, c'est un débat qui remonte à la nuit des temps, à côté des autres guerres saintes et des croisades du Moyen-âge; doit-on servir à notre XHTML le type MIME application/xhtml+xml ou le text/html ? En réalisant des tests avec les exemples XML/XSL mis à disposition sur ce blog, Ludovic propose d'utiliser le bon mime-type selon navigateur acceptant ou pas "application/xhtml+xml". Il faudrait pour cela modifier le fichier thorgal.php de l'exemple 03:
//@header('Content-Type: text/html; charset=iso-8859-1');
//ligne remplacee par ce qui suit :
if ( stristr($_SERVER['HTTP_ACCEPT'],"application/xhtml+xml") )
{
@header("Content-Type: application/xhtml+xml; charset=iso-8859-1");
}
else
{
@header("Content-type: text/html; charset=iso-8859-1");
}
Ca semble sensé puisque le document envoyé au nivigateur est bien une document XHTML. Alors pourquoi avec Firefox le résultat en local est un message d'erreur ("XML Parsing Error: undefined entity") et pourquoi sur internet, et toujours avec Firefox, le résultat est l'apparition d'une structure XML ? En quoi serait-il plus approprié de souhaiter faire passer le document XHTML de text/html en application/xhtml+xml ? Si vous pensez que c'est effectivement nécessaire, quelle(s) solution(s) proposez-vous pour résoudre le(s) problème(s) XSLT ? N'hésitez pas à plongez les codes sources (php/xml/xsl...) pour formuler des suggestions.
Commentaires (4)