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.

URI de la version originale :
http://www.w3.org/TR/xhtml-media-types/
URI de cette traduction :
http://sebastienguillon.com/traduction/types-de-media-xhtml
Traducteur :
Sébastien Guillon (contact)
Remerciements :
Patrick Blanchenay et Jean-Jacques Solari (relecteurs), Karl Dubost
Date de traduction :
28 juin 2005
Date de dernière modification :
29 juin 2005 (merci à Jean-Jacques Solari pour ses conseils)

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

W3C

Les types de Media XHTML

Note du W3C du 1er août 2002

Cette version :

http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801

(HTML, XHTML)

Dernière version :
http://www.w3.org/TR/xhtml-media-types
Version précédente :

http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020430

Rédacteur :
石川 雅康 (Ishikawa Masayasu), W3C

Résumé

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.

Statut de ce document

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 à www-html-editor@w3.org (archives). Les discussions publiques sur ce document peuvent se tenir sur la liste de diffusion www-html@w3.org (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.

Table des matières

1. Introduction

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é HTML peuvent recevoir le type de média Internet text/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.

2. Termes et définitions

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].

XHTML
Extensible HyperText Markup Language : Le langage de balisage hypertexte extensible. XHTML n’est pas le nom d’un langage de balisage unique et monolithique, mais le nom d’une famille de types de documents qui constituent collectivement ce langage de balisage. L’URI de l’espace de nommage pour le XHTML est http://www.w3.org/1999/xhtml.
Note : Une version future du XHTML pourrait utiliser un espace de nommage différent.
Type de document de la famille XHTML
Un type de document appartenant à une famille de types de documents XHTML. Ces types de documents comprennent [XHTML1], et les types de document du langage hôte XHTML tels que XHTML 1.1 [XHTML11] et XHTML Basic [XHTMLBasic]. Les éléments et attributs de ces types de documents appartiennent à l’espace de nommage du XHTML (à l’exception de ceux appartenant à l’espace de nommage XML, comme 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].
Type de document du langage hôte XHTML
Type de document du Langage Hôte XHTML. Un type de document qui respecte les règles de Conformité au types de document du langage hôte de XHTML définies dans la section 3.1 de [XHTMLM12N] .
Type de document d’un jeu d’intégration XHTML
Un type de document qui respecte les règles de Conformité du types de document d’un jeu d’intégration XHTML définies dans la section 3.2 de [XHTMLM12N].

3. Utilisation recommandée des types de média

Cette section récapitule le type de média qui DEVRAIT être employé pour quel document de la famille XHTML et pour quel usage.

3.1. 'text/html'

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 que les 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.

3.2. 'application/xhtml+xml'

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.

3.3. 'application/xml'

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').

3.4. 'text/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É.

3.5. Résumé

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.

Résumé des types de média à employer pour servir les documents XHTML
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

Références

[ASCII]
"Information Systems -- Coded Character Sets -- 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)", ANSI X3.4-1986, 1986.
[HTML4]

"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

[HTML40]
"HTML 4.0 Specification", Recommandation du W3C, D. Raggett, A. Le Hors, I. Jacobs, eds., 18 décembre 1997, révisée le 24 avril 1998. Disponible à http://www.w3.org/TR/1998/REC-html40-19980424
[HTTP]
"Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, J. Gettys, R. Fielding, J. Mogul, H. Frystyk, L. Masinter, P. Leach and T. Berners-Lee, juin 1999. Disponible à : http://www.rfc-editor.org/rfc/rfc2616.txt
[MathML2]

"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

[MIME]
"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, N. Freed, N. Borenstein, novembre 1996. Disponible à : http://www.rfc-editor.org/rfc/rfc2046.txt
[RFC2119]
"Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, S. Bradner, mars 1997. Disponible à : http://www.rfc-editor.org/rfc/rfc2119.txt
[RFC2854]
"The 'text/html' Media Type", RFC 2854, D. Connolly, L. Masinter, juin 2000. Disponible à : http://www.rfc-editor.org/rfc/rfc2854.txt
[RFC2912]
"Indicating Media Features for MIME Content", RFC 2912, G. Klyne, septembre 2000. Disponible à : http://www.rfc-editor.org/rfc/rfc2912.txt
[RFC3023]
"XML Media Types", RFC3023, M. Murata, S. St.Laurent, D. Kohn, janvier 2001. Disponible à : http://www.rfc-editor.org/rfc/rfc3023.txt
[RFC3236]
"The 'application/xhtml+xml' Media Type", RFC 3236, M. Baker, P. Stark, janvier 2002. Disponible à : http://www.rfc-editor.org/rfc/rfc3236.txt
[XHTML1]

"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

[XHTML11]

"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

[XHTMLBasic]

"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

[XHTMLM12N]

"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

[XHTML+MathML]
"XHTML plus Math 1.1 DTD", "A.2 MathML as a DTD Module", Mathematical Markup Language (MathML) Version 2.0. Disponible à : http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd
[XML10]

"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

[XMLNS]

"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

[XMLstyle]

"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

Changements depuis la Version précédente

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.