HTML vs. XHTML

HTML e XHTML são os dois idiomas em que as páginas da web são escritas. HTML é HTMLXHTMLIntrodução (da Wikipedia) HTML ou HyperText Markup Language é a principal linguagem de marcação para criar páginas da web e outras informações que podem ser exibidas em um navegador da web. XHTML (Extensible HyperText Markup Language) é uma família de linguagens de marcação XML que espelha ou estende versões do amplamente utilizado Hypertext Markup Language (HTML), o idioma no qual as páginas da Web são gravadas. Extensão do nome do arquivo .html, .htm .xhtml, .xht, .xml, .html, .htm Tipo de mídia da Internet text / html application / xhtml + xml Desenvolvido por W3C & WHATWG Consórcio na World Wide Web Tipo de formato Formato de arquivo do documento Linguagem de marcação Estendido de SGML XML, HTML Apoia Linguagem de marcação de hipertexto Linguagem de marcação de hipertexto extensível Inscrição Aplicação da SGML (Standard Generalized Markup Language). Aplicação de XML Função Páginas da Web são escritas em HTML. Versão estendida do HTML, mais rígida e baseada em XML. Natureza Estrutura flexível que requer analisador específico de HTML branda. Subconjunto restritivo de XML e precisa ser analisado com analisadores XML padrão. Origem Proposta por Tim Berners-Lee em 1987. Recomendação do World Wide Web Consortium em 2000. Versões HTML 2, HTML 3.2, HTML 4.0, HTML 5. XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

Conteúdo: HTML vs XHTML

  • 1 Visão geral do HTML e XHTML
  • 2 Recursos de documentos HTML vs XHTML
  • 3 XHTML vs Especificação HTML
  • 4 Como migrar do HTML para o XHTML
  • 5 Como migrar de XHTML para HTML
  • 6 Referências

Visão geral do HTML e XHTML

HTML é a linguagem de marcação predominante para páginas da web. O HTML cria documentos estruturados, denotando semântica estrutural para textos como títulos, listas, links, citações, etc. Permite que imagens e objetos sejam incorporados para criar formulários interativos. Ele é escrito como tags entre colchetes angulares - por exemplo, . Scripts em idiomas como JavaScript também podem ser carregados.

XHTML é uma família de linguagens XML que estendem ou espelham versões do HTML. Não permite a omissão de nenhuma tag ou o uso de minimização de atributo. O XHTML exige que haja uma tag final para cada tag inicial e todas as tags aninhadas devem ser fechadas na ordem correta. Por exemplo, enquanto
é válido em HTML, seria necessário escrever
em XHTML.

Recursos de documentos HTML vs XHTML

Os documentos HTML são compostos de elementos com três componentes - um par de tags de elemento - tag de início, tag de término; atributos de elemento fornecidos nas tags e conteúdo real, textual e gráfico. Elemento HTML é tudo o que existe entre e incluindo tags. (Tag é uma palavra-chave entre colchetes angulares).

Os documentos XHTML possuem apenas um elemento raiz. Todos os elementos, incluindo variáveis, devem estar em letras minúsculas e os valores atribuídos devem estar entre aspas, fechados e aninhados para serem reconhecidos. Este é um requisito obrigatório em XHTML, diferentemente do HTML, onde é opcional. A declaração do DOCTYPE determinaria regras para os documentos a seguir.

Além das diferentes declarações de abertura de um documento, as diferenças entre um documento HTML 4.01 e XHTML 1.0 - em cada um dos DTDs correspondentes - são amplamente sintáticas. A sintaxe subjacente do HTML permite muitos atalhos que o XHTML não permite, como elementos com tags de abertura ou fechamento opcionais e até elementos VAZIOS que não devem ter uma tag final. Por outro lado, o XHTML exige que todos os elementos tenham uma marca de abertura ou uma marca de fechamento. O XHTML, no entanto, também introduz um novo atalho: uma tag XHTML pode ser aberta e fechada dentro da mesma tag, incluindo uma barra antes do final da tag, assim:
. A introdução dessa abreviação, que não é usada na declaração SGML para HTML 4.01, pode confundir softwares anteriores não familiarizados com esta nova convenção. Uma correção para isso é incluir um espaço antes de fechar a tag, como tal:
.

Especificação XHTML vs HTML

HTML e XHTML estão intimamente relacionados e, portanto, podem ser documentados juntos. O HTML 4.01 e o XHTML 1.0 têm três subespecificações - estrito, flexível e conjunto de quadros. A diferença de abertura de declarações para um documento distingue HTML e XHTML. Outras diferenças são sintáticas. O HTML permite atalhos como elementos com tags opcionais, elementos vazios sem tags finais. XHTML é muito rigoroso quanto à abertura e fechamento de tags. O XHTML usa o atributo de funcionalidade que define a linguagem incorporada. Todos os requisitos de sintaxe do XML estão incluídos em um documento XHTML bem formado.

Observe, porém, que essas diferenças se aplicam apenas quando um documento XHTML é servido como um aplicativo XML; ou seja, com um tipo de aplicativo MIME / xhtml + xml, application / xml ou text / xml. Um documento XHTML veiculado com um tipo MIME de texto / html deve ser analisado e interpretado como HTML, portanto, as regras HTML se aplicam nesse caso. Uma folha de estilos gravada para um documento XHTML que está sendo veiculado com um tipo de texto / html MIME pode não funcionar conforme o esperado, se o documento for veiculado com um tipo de aplicativo MIME / xhtml + xml. Para obter mais informações sobre os tipos MIME, leia Tipos MIME..

Isso pode ser especialmente importante quando você estiver exibindo documentos XHTML como texto / html. A menos que esteja ciente das diferenças, você pode criar folhas de estilo que não funcionarão como planejado se o documento for exibido como XHTML real.

Onde os termos “XHTML” e “documento XHTML” aparecerem no restante desta seção, eles se referirão à marcação XHTML veiculada com um tipo XML MIME. A marcação XHTML servida como text / html é um documento HTML no que diz respeito aos navegadores.

Como migrar do HTML para o XHTML

Conforme recomendado pelo W3C, as seguintes etapas podem ser seguidas para a migração de HTML para XHTML (documentos XHTML 1.0):

  • Incluir atributos xml: lang e lang nos elementos que atribuem o idioma.
  • Use sintaxe de elemento vazio em elementos especificados como vazios em HTML.
  • Inclua um espaço extra nas tags de elemento vazio:
  • Inclua tags fechadas para elementos que podem ter conteúdo, mas estão vazios:
  • Não inclua declaração XML.

Seguindo cuidadosamente as diretrizes do W3C sobre compatibilidade, um agente de usuário (navegador da web) deve ser capaz de interpretar documentos com a mesma facilidade que HTML ou XHTML.

Como migrar de XHTML para HTML

Para entender o sutil diferenças entre HTML e XHTML, considere a transformação de um documento XHTML 1.0 válido e bem formado em um documento HTML 4.01 válido. Para fazer esta tradução requer os seguintes passos:

  • O idioma para um elemento deve ser especificado com um lang atributo em vez do XHTML xml: lang atributo. XHTML usa o atributo de funcionalidade que define a linguagem do XML.
  • Remova o espaço para nome XML (xmlns = URI) HTML não possui recursos para namespaces.
  • Alterar a declaração do tipo de documento de XHTML 1.0 para HTML 4.01.
  • Se presente, remova a declaração XML. (Normalmente, isso é: ).
  • Verifique se o tipo MIME do documento está definido como text / html. Para HTML e XHTML, isso vem do HTTP Tipo de conteúdo cabeçalho enviado pelo servidor.
  • Altere a sintaxe do elemento vazio XML para um elemento vazio no estilo HTML (
    para
    ).

Referências

  • Wikipedia: XHTML
  • Wikipedia: HTML # HTML baseado em SGML versus XML