Esta é a tradução da norma do W3C "XHTML media types" publicado no site do W3C.

  1. A versão oficial e original, em inglês, deste artigo, encontra-se em: http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801/
  2. A única versão oficial deste documento é a versão em língua inglesa que se encontra no site do W3C.
  3. O presente documento traduzido para a língua portuguesa do Brasil, pode conter erros de tradução.
  4. Este documento foi traduzido em 03 de dezembro de 2006 por: Maurício Samy Silva.
    A tradução foi feita somente para este documento, vale dizer, as páginas remetidas pelos links aqui indicados, estão em sua versão original em língua inglesa, salvo indicação em contrário.

PR Tool

W3C

Os tipos de mídia para XHTML

Nota do W3C de 1 de agosto de 2002

Esta versão :
http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801
(HTML, XHTML)
Última versão :
http://www.w3.org/TR/xhtml-media-types
Versão anterior :
http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020430
Editor:
?? ?? (Ishikawa Masayasu), W3C

Objetivo

Este documento é um sumário das boas práticas em uso, para servir as famílias de documentos XHTML usando os diferentes tipos de mídia disponíveis na Internet. Resumindo, 'application/xhtml+xml' "MUST" - DEVE ser usado para servir documentos da família XHTML, e o uso de 'text/html' "MUST" - DEVE ficar limitado aos documentos XHTML 1.0 compatíveis com HTML. 'application/xml' e 'text/xml' "MAY" - PODEM também ser usados, mas sempre que for apropriado, 'application/xhtml+xml' "MUST" - DEVE ser usado em lugar de tipos de mídia genéricos para XML.

Status deste documento

Esta seção descreve o status deste documento à época da sua publicação. Outros documentos complementares futuros, sobrescreverão este documento. A última versão da série destes documentos encontra-se no sítio do W3C.

Este documento é uma Nota disponibilizada pelo World Wide Web Consortium (W3C) para efeitos informativos. A publicação desta Nota pelo W3C não implica no seu endosso pelo W3C ou pelo W3C Team, ou por qualquer Membro do W3C.

Este documento resultou de um consenso entre os membros do W3C HTML Working Group sobre o uso de tipos de mídia na Internet para as diferentes famílias de documentos XHTML. Contudo este documento não pretende ser um especificação normativa. Ao contrário, trata-se de recomendações com a finalidade de maximizar a interoperacionalidade dos documentos XHTML no que diz respeito aos tipos de mídia. Este documento não entra em detalhes a respeito de itens específicos de tipos de mídia ou namespaces, assunto este que está fora do escopo do HTML Working Group charter e é de competência do Technical Architecture Group (TAG).

Comentários sobre este documento devem ser encaminhados para www-html-editor@w3.org (archive). Discussão pública sobre este documento pode ser encontrada na lista de discussão www-html@w3.org (archive).

Este documento foi produzido pelo W3C HTML Activity. Os objetivos do HTML Working Group são discutidos no HTML Working Group charter. Uma list of current W3C Recommendations e outros documentos técnicos podem ser encontrados em http://www.w3.org/TR.

Índice

1. Introdução

XHTML 1.0 [XHTML1] reformulou o HTML 4 [HTML4] para uma aplicação XML e a Modularização do XHTML [XHTMLM12N] permite definir uma marcação baseada em XHTML usando módulos XHTML conhecidos como "Família XHTML". Contudo por razões históricas, não está muito bem documentada e esclarecida a questão de tipos de mídia na Internet para servir documentos XHTML.

"5.1 Os tipos de mídia para Internet" constantes da primeira edição [XHTML1] preconizam vagamente o seguinte:

À época da publicação desta Recomendação, ainda não há uma decisão sobre o rótulo MIME a ser empregado para aplicações XML.

Contudo, documentos XHTML que seguem as diretrizes previstas no Appendix C, "Diretrizes de Compatibilidade com o HTML" podem ser rotulados com o tipo de mídia para Internet "text/html", já que são compatíveis com a maioria dos navegadores HTML. Este documento não faz qualquer recomendação para a rotulação MIME para os demais documentos XHTML.

Ainda assim, após a publicação do [XHTML1], uma norma RFC a respeito de tipos de mídia para XML foi revista e publicada sob o título RFC 3023 [RFC3023], que introduziu o sufixo '+xml' para aplicações baseadas em tipos de mídia XML. A 'application/xhtml+xml' para tipos de mídia [RFC3236] foi registrada segundo aquela convenção. Atualmente existem quatro tipos de mídia para rotular a família de documentos XHTML que são - 'text/html', 'application/xhtml+xml', e os tipos genéricos de mídia XML 'application/xml' e 'text/xml'.

A seção a seguir apresenta um resumo das boas práticas em uso, para servir as famílias de documentos XHTML usando os diferentes tipos de mídia disponíveis na Internet.

2. Termos e definições

As palavras chave "MUST" - "DEVE", "MUST NOT" - "NÃO DEVE", "REQUIRED" - "REQUERIDO", "SHALL" - "DEVERÃO", "SHALL NOT" - "NÃO DEVERÃO", "SHOULD" - "DEVERIA", "SHOULD NOT" - "NÃO DEVERIA", "RECOMMENDED" - "RECOMENDADO", "MAY" - "PODE" , e "OPTIONAL" - "OPCIONAL" usadas neste documento devem ser interpretadas como descrito em RFC 2119 [RFC2119].

XHTML
A Extensible HyperText Markup Language. XHTML não é a designação de uma linguagem de marcação singela e monolítica mas sim o nome de uma família de documentos que coletivamente constituem uma linguagem de marcação. O namespace URI para XHTML é http://www.w3.org/1999/xhtml.
Nota: Versões futuras do XHTML deverão usar outro namespace.
XHTML Tipos de família de documentos
Um tipo de documento que pertença a uma família do tipo de documento XHTML. Tais documentos incluem [XHTML1], e documentos hospedeiros de linguagem XHTML, tal como o XHTML 1.1 [XHTML11] e XHTML Basic [XHTMLBasic]. Os elementos e os atributos nestes documentos pertencem ao namespace XHTML (exceto aqueles pertencentes ao namespace para XML, tal como xml:lang), mas um documento da família XHTML PODE também incluir elementos e atributos de outros namespaces, tal como da MathML [MathML2].
XHTML documentos hospedeiros de linguagem XHTML
Um documento em conformidade com "XHTML Host Language Document Type Conformance" como definido na seção 3.1 do [XHTMLM12N].
XHTML Conjunto de documentos integrados ao XHTML
Um documento em conformidade com "XHTML Integration Set Document Type Conformance" como definido na seção 3.2 do [XHTMLM12N].

3. Tipos de mídia recomendados

A seção a seguir apresenta um resumo de quais tipos de mídia para Internet "SHOULD" - "DEVERIAM" ser usados para cada família XHTML e com que propósito.

3.1. 'text/html'

O tipo de mídia 'text/html' [RFC2854] é usado a princípio para HTML e não para XHTML. Em geral este tipo de mídia NÃO É apropriado para XHTML. Contudo, conforme prescrito nas [RFC2854], [XHTML1] define um perfil para uso de XHTML que seja compatível com HTML 4.01 e que também pode ser rotulado como 'text/html'.

O Apêndice C do [XHTML1], "HTML Compatibility Guidelines" resume as diretrizes a serem seguidas pelos autores que desejam servir XHTML para serem renderizados pelos agentes HTML atuais. O uso de 'text/html' para XHTML "SHOULD" - "DEVERIA" ficar limitado aos propósitos de renderização pelos agentes de usuário HTML atuais e "SHOULD" - "DEVERIA" limitar-se também aos documentos [XHTML1] que seguem as diretrizes de compatibilidade com o HTML. Em particular, 'text/html' NÃO É recomendado para a família de documentos XHTML que permitem uso de elementos e atributos oriundos de namespaces exteriores, tal como XHTML+MathML [XHTML+MathML].

Documentos XHTML servidos como 'text/html' não serão processados como XML [XML10], p.ex.: erros de má formação não serão detectados pelos agentes de usuário. Esteja ciente ainda de que as regras do HTML serão aplicadas ao DOM e as folhas de estilo (ver C.11 e C13 do [XHTML1] respectivamente).

Autores deverão também, tomar cuidados com a codificação de caracteres. É errônea a interpretação de que um documento XHTML sendo um documento XML sua codificação de caracteres é tratada como UTF-8 ou UTF-16 na ausência de uma informação explicita sobre a codificação. Isto NÃO É verdade quando um documento XHTML é servido como 'text/html'. A diretriz "6. Charset default rules" do [RFC2854] diz o seguinte:

O uso de uma codificação explícita de carateres é altamente recomendado. Enquanto [MIME] especifica que "O conjunto padrão de caracteres a ser considerado quando da ausência de um parâmetro que o defina é o US-ASCII." A seção 3.7.1 do [HTTP] define que: "os subtipos de mídia para o tipo 'text' admitem como conjunto padrão de caracteres a 'ISO-8859-1'". A seção 19.3 do [HTTP] acresenta uma diretriz. Usar uma definição explicita de caracteres, evita confusão.

Usar uma definição explicita de caracteres também leva em conta que a forte tendência da maioria dos navegadores é o uso de codificação padrão nem sempre para 'ISO-8859-1'; ao contrário, a codificação padrão ou usa um conjunto proprietário de caracteres ou um conjunto de caracteres empregado em uma determinada comunidade regional ou nacionalidade. Para considerações mais detalhadas consulte a seção 5.2 do [HTML40].

A seção "5.2.2 Specifying the character encoding" do HTML 4 na especificação [HTML4] define que o navegador não deverá assumir um valor padrão para o parâmetro charset. Assim sendo, os autores "SHOULD NOT" - "NÃO DEVERIAM" assumir qualquer valor padrão para documentos XHTML servidos como 'text/html', conforme mencionado nas [RFC2854], o uso de explícito de uma codificação é FORTEMENTE RECOMENDADO. Quando houver dificuldades de declarar explicitamente uma codificação de caracteres para um protocolo de alto nível os autores "SHOULD" - " DEVERIAM" incluir a declaração XML(p.ex.:<?xml version="1.0" encoding="EUC-JP"?>) e uma tag meta com declaração http-equiv (p.ex.: <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />). Ver "C.9. Character Encoding" of [XHTML1] para detalhes.

3.2. 'application/xhtml+xml'

O tipo de mídia 'application/xhtml+xml' [RFC3236] é o tipo de mídia para os documentos da família XHTML e em particular é adequado para documentos do tipo XHTML Host Language. Documentos do tipo família XHTML adequados a este tipo de mídia incluem [XHTML1], [XHTMLBasic], [XHTML11] e [XHTML+MathML]. Um documento do tipo XHTML Host Language que adiciona elementos e atributos de namespaces exteriores PODEM identificar-se com o parâmetro opcional 'de perfil' ou de outras maneiras, como "Content-features" no cabeçalho MIME descritas nas RFC 2912 [RFC2912]. Cada namespace "SHOULD" - " DEVERIA" estar identificado explicitamente na declaração namespace [XMLNS]. Este documento não sobrescreve os registros de tipos de mídia especificadas para documentos do tipo XHTML Host Language.

Em geral este tipo de mídia NÃO É não é adequado para tipos de documento XHTML Integration Set. Este documento não define qual tipo de mídia deverá ser usado para documentos do tipo XHTML Integration Set.

'application/xhtml+xml' "SHOULD" - " DEVERIA" ser usado para servir documentos XHTML para agentes de usuário XHTML. Autores que desejam oferecer suporte tanto para agentes de usuário XHTML como HTML "MAY" - "PODEM" utilizar negociação de conteúdos para servir documentos HTML como 'text/html' e documentos XHTML como 'application/xhtml+xml'. Notar ainda que documentos XHTML servidos como 'application/xhtml+xml' não necessitam estar em acordo com as diretrizes de compatibilidade com o HTML.

Quando o autor servir um documento XHTML com este tipo de mídia "SHOULD" - " DEVERIA" incluir a instrução XML para processamento e associação das folhas de estilo [XMLstyle].

Para efeitos de codificação de caracteres como mencionado no capítulo "6. Charset default rules" of [RFC3236], 'application/xhtml+xml' leva em conta as mesmas considerações que 'application/xml'. Ver section 3.3 para detalhes.

3.3. 'application/xml'

O tipo de mídia 'application/xml' [RFC3023] é um tipo genérico para documentos XML e a definição de 'application/xml' é adequada para servir documentos XHTML com este tipo de mídia. Qualquer documento da família XHTML "MAY" - "PODE" ser servido como 'application/xml'.

Contudo, os autores devem estar atentos para o fato de que um documento assim servido nem sempre será processado como XHTML (p.ex.: hyperlinks podem não ser reconhecidos), dependendo do agente de usuário. Processadores XML genéricos podem reconhecer tais documentos como um documento XML que incluiu elementos e atributos do namespace XHTML (e de outros) e assim não saber como tratar o documento ao contrário do correto tratamento que dão a documentos XML genéricos.

Autores "SHOULD" - " DEVERIAM" identificar explicitamente o namespace XHTML via declaração de namespace quando servir um documento da família XHTML como 'application/xml' com a finalidade de facilitar o processamento. A XML stylesheet PI "SHOULD" - " DEVERIA" ser usada para associar folhas de estilo.

Sempre que for apropriado, 'application/xhtml+xml' "SHOULD" - " DEVERIA" ser usada em lugar de 'application/xml'.

Assim como para a codificação de caracteres as "3.2 Application/xml Registration" das [RFC3023] dizem que o uso do parâmetro charset é FORTEMENTE RECOMENDADO, e ainda define regras para tratar uma entidade recebida por uma aplicação application/xml quando o parâmetro charset foi omitido, e nenhuma informação via MIME Content-Type header tiver sido fornecida. Isto significa que processadores conformes com XML "MUST" - "DEVEM" seguir o que está prescrito na seção 4.3.3 do [XML10].

Por outro lado enquanto é FORTEMENTE RECOMENDADO a especificação explicita de um parâmetro charset para um protocolo de alto nível os autores "SHOULD" - " DEVERIAM" incluir a declaração XML (p.ex.:<?xml version="1.0" encoding="EUC-JP"?>). Notar que uma declaração meta http-equiv não é reconhecida por processadores XML e assim os autores "SHOULD NOT " - " NÃO DEVERIAM" incluir tal declaração em documentos XHTML servidos como 'application/xml' (e também 'application/xhtml+xml').

3.4. 'text/xml'

O tipo de mídia 'text/xml' [RFC3023] é outro tipo de mídia genérico para documentos XML e a definição 'text/xml' não supõe servir documentos XHTML como tal tipo. Qualquer documento da família XHTML "MAY" - "PODE" ser servido como 'text/xml'. As considerações para 'application/xml' aplicam-se a 'text/xml'. Sempre que for apropriado, 'application/xhtml+xml' "SHOULD" - " DEVERIA" ser usado em lugar de 'text/xml'.

Os autores devem estar atentos para a diferença entre 'application/xml' (bem como entre 'application/xhtml+xml'l) e 'text/xml' com relação ao tratamento dado à codificação de caracteres. De acordo com a seção "3.1 Text/xml Registration" do [RFC3023], uma entidade recebida por uma aplicação text/xml onde o parâmetro charset foi omitido os processadores MIME e processadores XML "MUST" - "DEVEM" usar o valor padrão "us-ascii"[ASCII]. Este valor padrão tem prioridade sobre o valor especificado na declaração XML , ou seja os valores padrão de codificação XML, UTF-8 e UTF-16 quando não for fornecidade a declaração de codificação, assim, omitir a declaração do conjunto de caracteres em 'text/xml' pode acarretar resultados inesperados. Como mencionado nas [RFC3023], o uso do parâmetro charset é FORTEMENTE RECOMENDADO.

3.5. Sumário

A tabela a seguir resume as recomendações destinadas aos autores de conteúdos, para rotular seus documentos XHTML. Lista também o HTML 4 para fins de comparação.

Resumo dos tipos de mídia para servir documentos XHTML
Tipo de mídia HTML 4 XHTML 1.0 (HTML compatível) XHTML 1.0 (outro) XHTML Basic / 1.1 XHTML+MathML
text/html SHOULD MAY SHOULD NOT SHOULD NOT SHOULD NOT
application/xhtml+xml MUST NOT SHOULD SHOULD SHOULD SHOULD
application/xml MUST NOT MAY MAY MAY MAY
text/xml MUST NOT MAY MAY MAY MAY

Referências

[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", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 December 1999. Available at: http://www.w3.org/TR/1999/REC-html401-19991224

The latest version of HTML 4.01 is available at: http://www.w3.org/TR/html401

The latest version of HTML 4 is available at: http://www.w3.org/TR/html4

[HTML40]
"HTML 4.0 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 18 December 1997, revised on 24 April 1998. Available at 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, June 1999. Available at: http://www.rfc-editor.org/rfc/rfc2616.txt
[MathML2]

"Mathematical Markup Language (MathML) Version 2.0", W3C Recommendation, D. Carlisle, P. Ion, R. Miner, N. Poppelier, eds., 21 February 2001. Available at: http://www.w3.org/TR/2001/REC-MathML2-20010221

The latest version is available at: http://www.w3.org/TR/MathML2

[MIME]
"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, N. Freed, N. Borenstein, November 1996. Available at: http://www.rfc-editor.org/rfc/rfc2046.txt
[RFC2119]
"Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, S. Bradner, March 1997. Available at: http://www.rfc-editor.org/rfc/rfc2119.txt
[RFC2854]
"The 'text/html' Media Type", RFC 2854, D. Connolly, L. Masinter, June 2000. Available at: http://www.rfc-editor.org/rfc/rfc2854.txt
[RFC2912]
"Indicating Media Features for MIME Content", RFC 2912, G. Klyne, September 2000. Available at: http://www.rfc-editor.org/rfc/rfc2912.txt
[RFC3023]
"XML Media Types", RFC3023, M. Murata, S. St.Laurent, D. Kohn, January 2001. Available at: http://www.rfc-editor.org/rfc/rfc3023.txt
[RFC3236]
"The 'application/xhtml+xml' Media Type", RFC 3236, M. Baker, P. Stark, January 2002. Available at: 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", W3C Recommendation, S. Pemberton et al., August 2002. Available at: http://www.w3.org/TR/2002/REC-xhtml1-20020801

The first edition is available at: http://www.w3.org/TR/2000/REC-xhtml1-20000126

The latest version is available at: http://www.w3.org/TR/xhtml1

[XHTML11]

"XHTML™ 1.1 - Module-based XHTML", W3C Recommendation, M. Altheim, S. McCarron, eds., 31 May 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml11-20010531

The latest version is available at: http://www.w3.org/TR/xhtml11

[XHTMLBasic]

"XHTML™ Basic", W3C Recemmendation, M. Baker, M. Ishikawa, S. Matsui, P. Stark, T. Wugofski, T. Yamakami, eds., 19 December 2000. Available at: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219

The latest version is available at: http://www.w3.org/TR/xhtml-basic

[XHTMLM12N]

"Modularization of XHTML™", W3C Recommendation, M. Altheim, F. Boumphrey, S. Dooley, S. McCarron, S. Schnitzenbaumer, T. Wugofski, eds., 10 April 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410

The latest version is at: 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. Available at: 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 October 2000. Available at: http://www.w3.org/TR/2000/REC-xml-20001006

The latest version is available at: http://www.w3.org/TR/REC-xml

[XMLNS]

"Namespaces in XML", T. Bray, D. Hollander, A. Layman, eds., 14 January 1999. Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114

The latest version is available at: http://www.w3.org/TR/REC-xml-names

[XMLstyle]

"Associating Style Sheets with XML documents Version 1.0", W3C Recommendation, J. Clark, ed., 29 June 1999. Available at: http://www.w3.org/1999/06/REC-xml-stylesheet-19990629

The latest version is available at: http://www.w3.org/TR/xml-stylesheet

Modificações em relação à versão anterior

Em 3.5. Sumário, alterado 'text/html' para HTML 4 para SHOULD em lugar de MAY.

Atualizado reference to XHTML 1.0 para fazer referência à segunda edição.