Sp 46 BR

From Htmlpedia
Jump to: navigation, search

Causa:

O prólogo do documento contém caracteres não permitidos.

Exemplo:

Bad

Este texto provoca um erro para cada caráter <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Good

<!-- Comentários e brancos são OK. -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Good

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Solução:

Remova os caracteres ilegais.

O prólogo do documento é tudo que vem antes da declaração DOCTYPE no início de um documento HTML ou XML. Usualmente, não se deve colocar nada no prólogo.

Há algumas exceções.

  • É permitido colocar caracteres em brancos (espaço, retorno de carro, avanço de linha e tabulação) no prólogo.
  • Comentários de HTML também são OK.
  • Uma declaração XML (chamada de prólogo XML) como a do terceiro exemplo é valida.

Contudo, é melhor evitar até mesmo estas, por causa de desconformidades no Microsoft Internet Explorer.

  • Se existir um caráter, seja ele qual for, num documento HTML, o Internet Explorer vai renderizar o documento em modo de exceção ao invés do modo-padrão, o que afetará a aparência da página.
  • Num defeito correlato, se o servidor web enviar "Content-Type: application/xhtml+xml" para o internet Explorer, ele não renderiza nada. (O IE não suporta XHTML.)

Ocasionalmente pode ocorrer uma situação na qual o validador reclama de caracteres no prólogo que não aparecem no seu editor de textos preferido. Esses caracteres, que aparecem como  ao visualizar o código-fonte do documento, são a marca de ordem de bytes (BOM - Byte Order Mark). Em documentos codificados no formato UTF-16, a BOM especifica qual byte em cada palavra é o mais significativo. Quando impropriamente aplicado em documentos codificados em UTF-8, porém, a BOM provoca um erro de validação que o traz a esta página. Vários editores de texto, incluindo o Notepad, sorrateiramente adicionam uma BOM a documentos codificados em UTF-8. Para remover a BOM, você talvez precise usar um editor hexadecimal.

Referências: