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.
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 -//
ou Proprietário
+//
(observe que a única diferença é o Proprietário
+
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.
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 .
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>.