19 Informação referencial SGML para o HTML

Conteúdos

  1. Validação dos documentos
  2. Catálogo de exemplos SGML

As secções seguintes contêm a definição SGML formal do HTML 4. Ela inclui a Declaração SGML , a Definição do Tipo de Documento (DTD), e as Referências das Entidades dos Caracteres, bem como o Catálogo de exemplos SGML.

Estes dados também estão disponíveis no formato ASCII, como é aqui abaixo referido:

DTD por defeito:
strict.dtd
DTD transitiva:
loose.dtd
DTD para grupos de molduras:
frameset.dtd
Declaração SGML
HTML4.decl
Ficheiros de definição das entidades:
HTMLspecial.ent
HTMLsymbol.ent
HTMLlat1.ent
Catálogo de exemplos:
HTML4.cat

19.1 Validação dos documentos

Muitos autores baseiam-se num conjunto limitado de navegadores para verificar os documentos criados, partindo do princípio que, se os navegadores podem exibir os referidos documentos, então eles são válidos. Infelizmente, esse é um meio nada efectivo na verificação da validade do documento, precisamente porque os navegadores são concebidos para lidar com documentos inválidos, exibindo-os da melhor maneira que podem, para evitar o desânimo dos utentes.

Para uma melhor validação, você deveria verificar o seu documento num processador de SGML, como por exemplo o nsgmls (ver [SP]), para garantir assim que os documentos HTML estão em conformidade com a DTD do HTML 4. Se a declaração do tipo de documento do seu documento incluir um URI e se o seu processador SGML suportar este tipo de identificador de sistemas, ele obterá a DTD directamente. De outra forma, você poderá usar o catálogo de exemplos SGML que se segue mais abaixo. Assume-se que a DTD foi salva como "strict.dtd" e que as entidades estão contidas em "HTMLlat1.ent", "HTMLsymbol.ent" e "HTMLspecial.ent". De qualquer das formas, assegure-se de que o seu processador SGML é capaz de lidar com [ISO10646]. Para mais detalhes, consulte a documentação referente às ferramentas de validação.

Tenha em conta que tal validação, se bem que útil e altamente recomendada, não garante que o um documento esteja em total conformidade com a especificação do HTML 4. Isto pelo facto do processador SGML se basear unicamente na DTD da SGML fornecida, a qual não expressa todos os aspectos de um documento válido em HTML 4. Mais especificamente, um processador SGML assegura que a sintaxe, a estrutura, a lista dos elementos e os seus atributos são válidos. Mas por exemplo, ele não pode detectar erros, tais como a atribuição de um valor inválido ao atributo width do elemento IMG (como por exemplo, "foo" or "12.5"). Embora a especificação restrinja o valor deste atributo a "números inteiros, representando o comprimento em pixeis", a DTD apenas o define como sendo CDATA, o qual nos permite actualmente qualquer tipo de valor. Apenas um programa especial poderia captar a especificação completa do HTML 4.

Não obstante, este tipo de validação continua a ser altamente recomendada, contanto que permita uma detecção mais vasta dos grupos de erros que tornam os documentos inválidos.

19.2 Catálogo de exemplos SGML

Este catálogo inclui a directiva de anulação, de forma a assegurar que o software de processamento (como o nsgmls) se serve preferencialmente de identificadores públicos em desfavor dos identificadores de sistema. Isto significa que os utentes não têm que estar conectados à Rede, sempre que necessitem de retirar identificadores de sistema baseados em URIs.

OVERRIDE YES

PUBLIC "-//W3C//DTD HTML 4.01//EN" strict.dtd
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" loose.dtd
PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" frameset.dtd
PUBLIC "-//W3C//ENTITIES Latin1//EN//HTML" HTMLlat1.ent
PUBLIC "-//W3C//ENTITIES Special//EN//HTML" HTMLspecial.ent
PUBLIC "-//W3C//ENTITIES Symbols//EN//HTML" HTMLsymbol.ent