Mudei meu mime-type

Sim, agora meu site está sendo servido como, application/xhtml+xml. Pelo menos enquanto eu tiver interesse que seja assim. A principal razão que eu criei o meu site foi para ter um espaço onde eu possa realizar todos os testes que me interessa no momento. Pensando assim me dou no direito de implementar coisas aqui, por menos práticas que possam ser, puramente por razões conceituais, principalmente considerando que minhas pesquisas estão relacionadas com os padrões web.

Comercialmente a realidade mostra que é inviável, desnecessário e desaconselhável servir XHTML como XML nos sites dos seus clientes, mesmo que “pensando no futuro”, que se mostra ainda incerto. A não ser que você tenha um aplicativo todo baseado em XML e com propósitos específicos, servir XHTML como mime-type de xhtml+xml ainda não é uma boa idéia.

Continuo defendendo a opinião de que você pode sim continuar enviando o seu XHTML 1.0 com o mime-type text/html (conforme as inúmeras referências e razões que eu citei antes) sem problemas, assim como eu escrevi em XHTML Media Types.

Manter um site sendo enviado com application/xhtml+xml dá muito trabalho, exige muita paciência, principalmente considerando que erros de sintaxe não podem nunca existir. Caso contrário seu browser moderno sequer exibirá algo, apenas um parser error na tela. Para o IE que não interpreta o mime-type application/xhtml+xml, e nem na nova versão 7 será capaz de interpretar, é servido o text/html normalmente. Você pode conferir a diferença olhando no código fonte dos dois browsers.

Eu fiz uma revisão na maioria dos posts e talvez algum artigo bem antigo você não consiga ver se estiver usando o Mozilla ou o Opera. Se você enquanto navega encontrar alguma página que não consiga ver e quiser gentilmente me enviar a URL pra eu poder corrigir, serei muito grato.

Alguns fatos sobre XHTML enviado como application/xhtml+xml:

O HTML 4 ainda é uma recomendação da W3C. Eles não recomendam (ainda) XHTML no lugar do HTML e uma recomendação não invalida a outra.

O namespace xmlns deve ser declarado (mesmo que o validador não acuse isto como um erro)

Se quiser que seu site seja exibido no Internet Explorer você precisa criar uma negociação de conteúdo para servir text/html para o IE.

Os documentos devem ser XML “bem formatados” (o que é diferente de simples validação). Como eu já disse, que validação não significa nada,

e no caso de servir com o mime-type xhtml+xml, você não pode ter erros de sintaxe e, sim, seu site tem que ser 100% válidado e não necessariamente seu site precisa ser 100% validado!

É altamente recomendado declarar o character encoding de XML (Também conhecido como prolog de XML) – <?xml version="1.0" encoding="iso-8859-1"?>. O macete é servir este prolog somente para os user agents que vão ser servidos com xhtml+xml, e para o IE você esconde para não colocar seu site em modo de Quirks Mode.

Algumas coisinhas pequenas mudam no CSS (mais detalhes no futuro).

Leia: