Convertendo versões antigas em HTML5
Para converter códigos poliglotas e obsoletos para a nova versão do HTML5, basicamente temos de seguir três passos:
- Remova os identificadores PUBLIC FPI e SYSTEM da declaração do DOCTYPE;
- Substitua quaisquer tags depreciadas do HTML ou construa sua implementação baseada num código HTML que seja de acordo com os padrões do HTML5. Por exemplo: tenha certeza de assegurar que qualquer conjunto de tags <col> para colunas de tabelas HTML sempre tenham um elemento “colgroup” como seu parente de configuração;
- Comece a tirar vantagem dos novos recursos do HTML5, tais como converter suas div’s para as tags de seção do HTML5.
E se necessitarmos realizar conversões de versões ainda mais antigas do HTML? Esse procedimento requer um pouco mais de trabalho e atenção. Ocorreram notórias mudanças nas versões do HTML entre os anos 1997 e 2000 com o objetivo de suportar conversores baseados em XML (dispositivos móveis com regras de conversão bem restritas), templates client-side cacheáveis, além de agregação a outros tipos de conteúdo como os velhos feeds RSS. Vejamos mais alguns passos para a conversão:
- Confira sempre se o documento inicia com uma declaração XML e uma declaração de DOCTYPE;
- Verifique se o elemento de top <html> inclui o atributo “xmlns=”http://www.w3.org/1999/xhtml“”. (A URI para XHTML e versões mais recentes do HTML incluem 1999 porque foi definido este ano enquanto a W3C HTML Recommendation, lançada em 2000, estava ainda em fase de desenvolvimento);
- Verifique se todas as tags estão marcadas com a final ou se estão todas “self-closed” com o sinal de />. Não se esqueça de averiguar se os nomes dos elementos iniciam e terminam com a marcação em minúscula.
- Verifique se todos os valores de atributos estão cercados pelas aspas. Verifique, também, se os atributos booleanos estão codificados na sua forma “full” usando o atributo “name” entre aspas (como o valor (attribute=”attribute”)) quando o mesmo valor for true e omitindo completamente quando o valor for false. A forma “full” será apropriadamente entendida pelos web browsers que convertem documentos com a ainda sintaxe HTML ou a sintaxe XML do HTML5. Evite usar formas minimizadas para selected=””, a qual o XPath trata como false ao invés de true.
Observe que a especificação HTML5 explicita “estado” como “os valores ‘true’ e ‘false’ não são permitidos em atributos booleanos.”
Isso acontece porque os browsers olham o código com o valor booleano para os atributos e tratam a string “false” como um valor false. Browsers que somente olham para a presença ou ausência do atributo tratam esse código como true, resultando em comportamentos inconsistentes e confusos.
Atributos booleanos que precisam ser mudados incluem alguns dos tipos ilustrados na tabela 1.
Tabela 1. Lista de atributos e respectivas mudanças de tipo booleano
Atributo |
Mudança |
Async |
Mudar para async=”async” |
Checked |
Mudar para checked=”checked” |
Compact |
Mudar para compact=”compact” |
Declare |
Mudar para declare=”declare” |
Defer |
Mudar para defer=”defer” |
Disabled |
Mudar para disabled=”disabled” |
Ismap |
Mudar para ismap=”ismap” |
Multiple |
Mudar para multiple=”multiple” |
Noresize |
Mudar para noresize=”noresize” |
Noshade |
Mudar para noshade=”noshade” |
Nowrap |
Mudar para nowrap=”nowrap” |
Open |
Mudar para open=”open” |
Readonly |
Mudar para readonly=”readonly” |
Required |
Mudar para required=”required” |
Reversed |
Mudar para reversed=”reversed” |
Scoped |
Mudar para scoped=”scoped” |
Selected |
Mudar para selected=”selected” |
Observe que “true” e “false” são valores válidos para alguns atributos “não booleanos”, em particular atributos enumerados.
Outra forma de se trabalhar a migração desse tipo de documento é verificando qual versão foi usada para construir o documento HTML. Uma boa forma de se fazer isso é submeter a URL do website ao site do W3C – Markup Validation Service. Ao executar, os possíveis resultados são:
- HTML5: Indica que o site já foi convertido para o padrão HTML5. Por exemplo: o próprio site do Google usa o padrão.
- XHTML 1.0 Strict: Indica que o site está usando a versão padrão 2000 W3C do HTML. Por exemplo: o próprio site do W3C, que adere a essa versão.
- XHTML 1.0 Transitional ou HTML 4.01 Transitional: Indica que o site está usando o formato transicional entre a versão padrão do HTML4, de 1997, e a versão padrão do HTML, de 2000. Por exemplo: o site AltaVista.com usa o formato do HTML 4.01 Transitional. Já o site da Microsoft usa XHTML 1.0 Transitional.
- HTML 4.01 Strict: Indica que o site está usando a versão antiga do HTML4, de 1997. Por exemplo: o site do Yahoo usa o antigo padrão.
Henrique Poyatos é coordenador pedagógico de EAD e professor dos cursos de graduação e MBA da FIAP. Pós-graduado em Gerenciamento de Projetos e tecnólogo em Processamento de Dados (FIAP). Atua no mercado de desenvolvimento para Internet desde 1996 e coordenou projetos de tecnologia para empresas como Caixa Econômica Federal, Nossa Caixa, McDonalds, Metrô de São Paulo e clientes internacionais.



