Ce document est la traduction en français de la Note du W3C du 1er août 2002 intitulée XHTML Media Types.
Ce document est une traduction qui peut comporter des erreurs. La version originale en anglais de cette note est la seule version officielle.
Il existe une liste régulièrement mise à jour des traductions françaises disponibles des documents du W3C à cette adresse : http://www.w3.org/2003/03/Translations/byLanguage?language=fr
http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801
http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020430
Copyright ©2002 W3C® (MIT, INRIA, Keio), tous droits réservés. Les règles du W3C sur la responsabilité, les marques déposées, les droits d’auteurs et les licences de logiciels s’appliquent.
Ce document récapitule les meilleures pratiques actuelles concernant les divers types de média à employer pour servir les différents documents de la famille XHTML. En résumé, on DEVRAIT utiliser le type 'application/xhtml+xml' pour les documents de la famille XHTML, et le type 'text/html' DEVRAIT se limiter aux documents XHTML 1.0 compatibles avec HTML. On PEUT également utiliser les types 'application/xml' et 'text/xml', mais, quand le cas se présente, on DEVRAIT utiliser 'application/xhtml+xml' plutôt que ces types de média XML génériques.
Cette section décrit le statut de ce document au moment de sa publication. D’autres documents pourront remplacer ce document. Le W3C est en charge de mettre à jour le statut de cette série de documents.
Ce document est une note publiée par le World Wide Web Consortium (W3C) pour votre information. La publication de cette Note par le W3C ne signifie pas une approbation du W3C ou de l’Équipe du W3C, ou d’un quelconque membre du W3C.
Ce document représente le consensus du Groupe de Travail HTML (accès réservé aux membres) sur l’utilisation des types de média Internet pour les différents documents de la famille XHTML. Cependant ce document n’a pas de vocation normative. Il énumère plutôt un ensemble de recommandations afin de maximiser l’interopérabilité des documents en ce qui concerne les types de média Internet. Ce document ne répond pas aux questions d’ordre général concernant les types de média et les espaces de nommage, ce point dépasse le champ de la Charte du Groupe de Travail HTML et sera pris en charge par le Groupe Architecture Technique (TAG).
Vous pouvez adresser vos commentaires sur ce document à [email protected] (archives). Les discussions publiques sur ce document peuvent se tenir sur la liste de diffusion [email protected] (archives).
Ce document a été produit dans le cadre de Activité HTML du W3C. Les objectifs du Groupe de Travail HTML sont détaillés dans la charte du Groupe de Travail HTML. Vous trouverez une liste des recommandations actuelles et d’autres documents techniques à http://www.w3.org/TR.
XHTML 1.0 [XHTML1] est une reformulation du
HTML 4 [HTML4] sous la forme d’une application XML,
et la Modularisation du XHTML [XHTMLM12N]
permet de définir des langages de balisage s’appuyant sur XHTML grâce à des des modules XHTML,
regroupés sous l’appellation famille XHTML
.
Cependant, pour des raisons historiques, la méthode préconisée pour servir ces documents de la
famille XHTML, en particulier concernant les types de média Internet, était
plutôt obscure.
La section 5.1 Type de Média Internet
de la première édition de
[XHTML1] indiquait vaguement :
Au moment de la publication de cette recommandation, l’étiquetage MIME général recommandé pour les applications basées sur XML reste encore à déterminer.
Toutefois, les Documents XHTML qui suivent les recommandations de l’Annexe C,
Règles de Compatibilité HTMLpeuvent recevoir le type de média Internettext/html, car ils sont compatibles avec la plupart des navigateurs HTML. Ce document ne fait aucune recommandation concernant l’étiquetage MIME d’autres documents XHTML.
Entre temps, après la publication de [XHTML1], un document RFC sur les types de média XML a été révisé et publié sous le nom de RFC 3023 [RFC3023] : celui-ci introduit la convention du suffixe '+xml' pour les types de média basés sur XML. Le type de média 'application/xhtml+xml' [RFC3236] a été enregistré en suivant cette convention. Actuellement, il existe quatre étiquetages possibles pour les types de média des documents de la famille XHTML : 'text/html', 'application/xhtml+xml', et les types de média XML génériques 'application/xml' et 'text/xml'.
Ce document récapitule les meilleures pratiques actuelles concernant les divers types de média à employer pour servir les différents documents de la famille XHTML.
Les mots-clés « DOIT » ("MUST", "SHALL"), « NE DOIT PAS » ("MUST NOT", "SHALL NOT"), « OBLIGATOIRE » ("REQUIRED"), « DEVRAIT » ("SHOULD"), « NE DEVRAIT PAS » ("SHOULD NOT"), « RECOMMANDÉ » ("RECOMMENDED"), « PEUT » ("MAY"), et « OPTIONNEL » ("OPTIONAL") utilisés dans ce document doivent être interprétés conformément à la description du document RFC 2119 [RFC2119].
http://www.w3.org/1999/xhtml
.xml:lang
),
mais un type de document de la famille XHTML PEUT aussi contenir des éléments et attributs
appartenant à d’autres espaces de nommage, comme MathML
[MathML2].Conformité au types de document du langage hôte de XHTMLdéfinies dans la section 3.1 de [XHTMLM12N] .
Conformité du types de document d’un jeu d’intégration XHTMLdéfinies dans la section 3.2 de [XHTMLM12N].
Cette section récapitule le type de média qui DEVRAIT être employé pour quel document de la famille XHTML et pour quel usage.
Le type de média 'text/html' [RFC2854] est destiné en priorité au HTML,
pas au XHTML. En règle générale, ce type de média n’est PAS approprié pour le XHTML.
Cependant, le document [RFC2854], précise que
[XHTML1]
définit un profil d’utilisation du XHTML qui est compatible avec HTML 4.01 et
qui peut également recevoir l’étiquetage 'text/html'
.
L’Annexe C de [XHTML1] Règles de Compatibilité HTML
récapitule les règles de conception pour les auteurs
désireux que leur document XHTML puissent s’afficher sur les agents utilisateur existants
.
L’utilisation de 'text/html' pour XHTML DEVRAIT se borner à permettre l’affichage sur
les agents utilisateur HTML existants, et DEVRAIT se limiter aux documents [XHTML1]
qui respectent les règles de compatibilité HTML.
En particulier, le type 'text/html' ne convient PAS aux types de documents
de la famille XHTML qui incluent des éléments et attributs issus d’autres espaces de nommage,
comme XHTML+MathML [XHTML+MathML].
Les documents XHTML servis en tant que 'text/html' ne seront pas traités comme du XML [XML10], les erreurs de bonne formation par exemple pourront ne pas être détectées par les agents utilisateur. Sachez aussi que les règles HTML s’appliqueront au DOM et aux feuilles de style (cf. respectivement C.11 et C.13 de [XHTML1]).
Les auteurs devraient aussi prêter attention aux problèmes de codage des caractères.
Une erreur typique consiste à croire que puisque un document XHTML est un document XML alors, en l’absence
d’information explicite sur le codage de caractères du document XHTML, on devrait traiter celui-ci
comme étant UTF-8 ou UTF-16. Ce n’est PAS le
cas si le document XHTML est servi en tant que 'text/html'. La section 6. Règles pour le jeu
de caractères par défaut
du document [RFC2854] précise :
L’utilisation d’un paramètre charset explicite est fortement recommandée. Alors que [MIME] spécifie que
Le jeu de caractères par défaut, qui doit être appliqué en l’absence de paramètre charset, est US-ASCII. La section 3.7.1 de [HTTP], précise queles sous-types de média du type 'text' ont par défaut une valeur charset de 'ISO-8859-1'. La section 19.3 de [HTTP] fournit d’autres conseils. L’utilisation d’un paramètre charset permettra d’éviter la confusion.Utiliser un paramètre charset explicite permet également de prendre en compte le fait que l’écrasante majorité des navigateurs déployés est configurée par défaut pour utiliser autre chose que 'ISO-8859-1' ; en réalité, ce codage de caractères par défaut est soit propre à une entreprise, soit ce sont des codages de caractères largement répandus au sein d’une communauté régionale ou nationale particulière. Pour plus d’informations, veuillez vous reporter également à la section 5.2 de [HTML40].
La section 5.2.2 Spécifier le codage de caractères
de la spécification HTML
4 [HTML4]
note également que les agents utilisateurs
ne doivent pas supposer une valeur par défaut pour le paramètre « charset »
.
Donc, les auteurs NE DEVRAIENT PAS supposer une quelconque valeur par défaut pour un
document XHTML servi en tant que 'text/html', et comme précisé dans le document
[RFC2854], l’utilisation d’un paramètre charset explicite est
FORTEMENT RECOMMANDÉE.
Lorsqu’il est difficile de spécifier un paramètre charset à l’aide d’un protocole de niveau supérieur,
les auteurs DEVRAIENT inclure
la déclaration XML (par exemple <?xml version="1.0" encoding="EUC-JP"?>) et une déclaration
meta http-equiv (par exemple <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />).
Reportez-vous à la section C.9. Codage des caractères
de [XHTML1]
pour plus de détails.
Le type de média 'application/xhtml+xml' [RFC3236]
est le type de média pour les types de documents de la famille XHTML, et il convient
en particulier aux types de documents du langage hôte XHTML. Les types de documents de la famille
XHTML aptes à recevoir ce type de média comprennent [XHTML1],
[XHTMLBasic],
[XHTML11] et
[XHTML+MathML].
Un type de document du langage hôte XHTML qui ajoute des éléments et des attributs issus d’autres
espaces de nommage PEUT identifier son profil avec le paramètre optionnel 'profile'
ou par d’autres moyens tel que l’en-tête MIME Content-features
décrit dans la RFC 2912
[RFC2912].
Chaque espace de nommage DEVRAIT être explicitement identifié par
une déclaration d’espace de nommage [XMLNS]. Ce document n’interdit pas l’enregistrement
de son propre type de média pour un types de document du langage hôte XHTML spécifique.
En règle générale, ce type de média ne convient PAS pour des types de documents de jeu d’intégration du XHTML. Ce document ne définit pas quel type de média devrait être utilisé pour les types de document de jeu d’intégration de XHTML.
Le type 'application/xhtml+xml' DEVRAIT être utilisé pour servir des documents XHTML à des agents utilisateur XHTML. Les auteurs qui souhaitent tenir compte à la fois des agents utilisateur XHTML et HTML PEUVENT utiliser une négociation de contenu pour servir les documents HTML en tant que 'text/html' et les documents XHTML en tant que 'application/xhtml+xml'. Notez également qu’il n’est pas nécessaire pour les documents XHTML servis en tant que 'application/xhtml+xml' de suivre les règles de compatibilité HTML.
Lorsqu’un document XHTML est servi avec ce type de média, les auteurs DEVRAIENT inclure l’instruction de traitement de feuilles de style XML [XMLstyle] pour associer les feuilles de style.
Concernant les problèmes de codage de caractères, ainsi qu’il est mentionné dans la section 6.
Règles pour le jeu de caractères par défaut
du document [RFC3236],
le type 'application/xhtml+xml'
obéit aux mêmes règles que 'application/xml'. Reportez-vous à la
section 3.3 pour plus de détails.
Le type de média 'application/xml' [RFC3023] est un type de média générique pour les documents XML, et la définition de 'application/xml' n’interdit pas de servir des documents XHTML avec ce type de média. Tout document appartenant à famille XHTML PEUT être servi en tant que 'application/xml'.
Cependant, les auteurs devraient savoir qu’un tel document ne sera pas toujours traité en tant que XHTML (par exemple les liens hypertexte peuvent ne pas être reconnus), selon les agents utilisateur. Les processeurs XML génériques pourraient le reconnaître comme un simple document XML qui emprunte des éléments et attributs à l’espace de nommage XHTML (et à d’autres), et ils peuvent ne pas savoir a priori quoi faire d’un tel document au delà de ce qu’ils peuvent faire pour des documents XML génériques.
Les auteurs DEVRAIENT identifier explicitement l’espace de nommage XHTML avec la déclaration d’espace de nommage quand ils servent un document de la famille XHTML en tant que 'application/xml' pour augmenter la probabilité d’un traitement fiable. L’instruction de traitement de feuilles de style XML ("XML stylesheet PI") DEVRAIT être utilisée pour associer les feuilles de style.
Lorsque le cas est avéré, on DEVRAIT utiliser 'application/xhtml+xml' plutôt que 'application/xml'.
Concernant les problèmes de codage de caractères, 3.2 Enregistrement de application/xml
du document [RFC3023] dit que l’utilisation
du paramètre charset est FORTEMENT RECOMMANDEÉ
, et il indique également
la règle selon laquelle à la réception
d’une entité de type 'application/xml' où le paramètre charset est omis, aucune information sur le jeu
de caractères n’est fournie par l’en-tête Content-Type MIME
.
Cela signifie que les processeurs XML conformes DOIVENT respecter les conditions
décrites dans la section 4.3.3 de [XML10].
Donc, bien qu’il soit FORTEMENT RECOMMANDÉ de spécifier explicitement le paramètre de jeu de caractères par le biais d’un un protocole de niveau supérieur, les auteurs DEVRAIENT inclure la déclaration XML (par exemple <?xml version="1.0" encoding="EUC-JP"?>). Notez qu’une déclaration meta http-equiv ne sera pas reconnue par les processeurs XML, et les auteurs NE DEVRAIENT PAS inclure ce genre de déclaration dans un document XHTML servi en tant que 'application/xml' (ceci vaut d’ailleurs également pour 'application/xhtml+xml').
Le type de média 'text/xml' [RFC3023] est un autre type de média générique pour les documents XML, et la définition de 'text/xml' n’interdit pas non plus de servir des documents XHTML avec ce type de média. Tout document de la famille XHTML PEUT être servi en tant que 'text/xml'. 'text/xml' obéit aux mêmes règles que 'application/xml'. Lorsque le cas est avéré, on DEVRAIT utiliser 'application/xhtml+xml' plutôt que 'text/xml'.
Les auteurs devraient également être conscients des différences entre
'application/xml' (et par conséquent également 'application/xhtml+xml')
et 'text/xml' au niveau du traitement du codage de caractères.
D’après la section 3.1 Enregistrement de text/xml
du document [RFC3023],
à la réception d’une entité de type 'text/xml' où
le paramètre charset est omis, les processeurs MIME et les processeurs XML DOIVENT
utiliser la valeur charset par défaut de "us-ascii"[ASCII]
.
Cette valeur par défaut est autoritaire sur les informations de codage
spécifiées dans la déclaration XML, ou sur les codages par défaut de XML, à savoir UTF-8 et UTF-16,
lorsqu’aucune déclaration de codage n’est fournie : omettre
le paramètre charset d’une entité de type 'text/xml' risque donc de produire un résultat inattendu.
Comme mentionné dans le document [RFC3023], l’utilisation du paramètre charset
est
FORTEMENT RECOMMANDEÉ.
Le tableau suivant résume les recommandations destinées aux auteurs de contenu pour l’étiquetage des documents XHTML. HTML 4 est également listé pour comparaison.
Type de média | HTML 4 | XHTML 1.0 (compatible HTML) | XHTML 1.0 (autre) | XHTML Basic / 1.1 | XHTML+MathML |
---|---|---|---|---|---|
text/html | ON DEVRAIT | ON PEUT | ON NE DEVRAIT PAS | ON NE DEVRAIT PAS | ON NE DEVRAIT PAS |
application/xhtml+xml | NE DOIT PAS | ON DEVRAIT | ON DEVRAIT | ON DEVRAIT | ON DEVRAIT |
application/xml | ON NE DOIT PAS | ON PEUT | ON PEUT | ON PEUT | ON PEUT |
text/xml | ON NE DOIT PAS | ON PEUT | ON PEUT | ON PEUT | ON PEUT |
"HTML 4.01 Specification", Recommandation du W3C, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 décembre 1999. Disponible à : http://www.w3.org/TR/1999/REC-html401-19991224
La dernière version de HTML 4.01 est disponible à : http://www.w3.org/TR/html401
La dernière version de HTML 4 est disponible à : http://www.w3.org/TR/html4
"Mathematical Markup Language (MathML) Version 2.0", Recommandation du W3C, D. Carlisle, P. Ion, R. Miner, N. Poppelier, eds., 21 février 2001. Disponible à : http://www.w3.org/TR/2001/REC-MathML2-20010221
La dernière version est disponible à : http://www.w3.org/TR/MathML2
"XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0", Recommandation du W3C, S. Pemberton et al., août 2002. Disponible à : http://www.w3.org/TR/2002/REC-xhtml1-20020801
La first edition est disponible à : http://www.w3.org/TR/2000/REC-xhtml1-20000126
La dernière version est disponible à : http://www.w3.org/TR/xhtml1
"XHTML™ 1.1 - Module-based XHTML", Recommandation du W3C, M. Altheim, S. McCarron, eds., 31 mai 2001. Disponible à : http://www.w3.org/TR/2001/REC-xhtml11-20010531
La dernière version est disponible à : http://www.w3.org/TR/xhtml11
"XHTML™ Basic", Recommandation du W3C, M. Baker, M. Ishikawa, S. Matsui, P. Stark, T. Wugofski, T. Yamakami, eds., 19 décembre 2000. Disponible à : http://www.w3.org/TR/2000/REC-xhtml-basic-20001219
La dernière version est disponible à : http://www.w3.org/TR/xhtml-basic
"Modularization of XHTML™", Recommandation du W3C, M. Altheim, F. Boumphrey, S. Dooley, S. McCarron, S. Schnitzenbaumer, T. Wugofski, eds., 10 avril 2001. Disponible à : http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
La dernière version est disponible à : http://www.w3.org/TR/xhtml-modularization
"Extensible Markup Language (XML) 1.0 Specification (Second Edition)", T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, eds., 6 octobre 2000. Disponible à : http://www.w3.org/TR/2000/REC-xml-20001006
La dernière version est disponible à : http://www.w3.org/TR/REC-xml
"Namespaces in XML", T. Bray, D. Hollander, A. Layman, eds., 14 janvier 1999. Disponible à : http://www.w3.org/TR/1999/REC-xml-names-19990114
La dernière version est disponible à : http://www.w3.org/TR/REC-xml-names
"Associating Style Sheets with XML documents Version 1.0", Recommandation du W3C, J. Clark, ed., 29 juin 1999. Disponible à : http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
La dernière version est disponible à : http://www.w3.org/TR/xml-stylesheet
Dans 3.5. Résumé, changement de 'text/html' pour HTML 4 en ON DEVRAIT au lieu de ON PEUT.
Mise à jour de la référence à XHTML 1.0 pour prendre en compte la Seconde Édition.