7.3. A Declaração DOCTYPE

No início de cada documento pode-se especificar o nome do DTD ao qual o documento está em conformidade. Esta declaração DOCTYPE é usada por XML parsers para identificar o DTD e garantir que o documento esteja de acordo com ele.

Uma declaração típica para um documento escrito em conformidade com a versão 1.0 do XHTML DTD se parece com isto:

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

Essa linha contém vários componentes diferentes.

<!

O indicador mostra que esta é uma declaração XML.

DOCTYPE

Mostra que esta é uma declaração XML do tipo de documento.

html

Nomeia o primeiro elemento que aparecerá no documento.

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

Lista o Identificador Público Formal (FPI) para o DTD com o qual este documento está em conformidade. O XML parser usa isso para encontrar o DTD correto ao processar este documento.

PUBLIC não faz parte do FPI, mas indica ao XML parser como encontrar o DTD mencionado no FPI. Outras formas de informar ao XML parser como encontrar o DTD serão informadas depois.

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

Um nome de arquivo local ou uma URL para encontrar o DTD.

>

Termina a declaração e retorna ao documento.

7.3.1. Identificadores Públicos Formais (FPIs)

Nota:

Não é necessário conhecer isso, mas pode ser útil e ajudar a depurar problemas quando o XML parser não conseguir localizar o DTD.

FPIs devem seguir uma sintaxe específica:

"Proprietário
//Palavra-chave
Descrição
//Idioma"
Proprietário

O proprietário do FPI.

O início da string identifica o proprietário do FPI. Por exemplo, o FPI "ISO 8879:1986//ENTITIES Greek Symbols//EN" lista ISO 8879:1986 como sendo o proprietário para o conjunto de entidades de Símbolos Gregos. ISO 8879:1986 é o número na International Organization for Standardization (ISO) para o padrão SGML, o predecessor (e um superset) do XML.

Caso contrário, essa sequência seria parecida com -//Proprietário ou +//Proprietário (observe que a única diferença é o + ou -).

Se a string começar com -, a informação do proprietário não é registrada, com o + identifica como registrada.

A ISO 9070:1991 define como os nomes registrados são gerados. Pode ser derivado do número de uma publicação ISO, um código ISBN ou um código de organização atribuído de acordo com a ISO 6523. Além disso, uma autoridade de registro poderia ser criada para atribuir nomes registrados. O conselho da ISO delegou isso ao American National Standards Institute (ANSI).

Como o Projeto FreeBSD não foi registrado, a string de propriedade é -//FreeBSD. Como visto no exemplo, a W3C também não é registrada.

Palavra-chave

Existem várias palavras-chave que indicam o tipo de informação no arquivo. Algumas das palavras-chave mais comuns são DTD, ELEMENT, ENTITIES e TEXT. DTD é usada apenas para arquivos DTD, ELEMENT é normalmente usada para fragmentos DTD que contêm apenas declarações de elementos ou entidades. TEXT é usada para conteúdo XML (texto e tags).

Descrição

Qualquer descrição pode ser informada no conteúdo deste campo. Isso pode incluir números de versão ou qualquer texto curto que tenha significado e seja exclusivo para o sistema XML.

Idioma

Um código de dois caracteres ISO que identifica o idioma nativo do arquivo. EN é usado para o Inglês.

7.3.1.1. Arquivos catalog

Com a sintaxe acima, um XML parser precisa ter alguma forma de transformar o FPI no nome do arquivo que contém o DTD. Um arquivo de catálogo (normalmente chamado de catalog) contém linhas que mapeiam FPIs para nomes de arquivos. Por exemplo, se o arquivo de catálogo continha a linha:

PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"             "1.0/transitional.dtd"

O XML parser sabe que o DTD é chamado de transitional.dtd no subdiretório 1.0 do diretório que continha catalog.

Examine o conteúdo de /usr/local/share/xml/dtd/xhtml/catalog.xml. Este é o arquivo de catálogo dos XHTML DTD s que foram instalados como parte do port textproc/docproj .

7.3.2. Alternativas para FPI s

Em vez de usar uma FPI para indicar o DTD ao qual o documento está em conformidade (e, portanto, qual arquivo no sistema contém o DTD), o arquivo pode ser explicitamente especificado.

A sintaxe é um pouco diferente:

<!DOCTYPE html SYSTEM "/path/to/file.dtd">

A palavra-chave SYSTEM indica que o XML parser deve localizar o DTD de uma maneira específica no sistema. Isso normalmente (mas nem sempre) significa que o DTD será fornecido como um nome de arquivo.

Usando FPIs é preferível por razões de portabilidade. Se o identificador SYSTEM for usado, então o DTD deve ser fornecido e mantido no mesmo local para todos.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.