O inicio de cada documento que você escrever deve especificar o nome do DTD o qual se aplica ao seu documento. Isto deve ser feito para que os interpretadores SGML possam determinar o DTD e assegurar que o documento esta em conformidade com o mesmo.
Esta informação é geralmente expressada em uma linha, na declaração DOCTYPE.
Uma declaração típica para um documento escrito para conformar-se com a versão 4.0 do DTD HTML se parece com esta:
Esta linha contém diferentes componentes.
<!
É o indicador que indica que se trata de uma declaração SGML. Esta linha está declarando o tipo do documento.
DOCTYPE
Mostra que esta é uma declaração SGML para o tipo de documento.
html
O nome do primeiro elemento o qual irá aparecer no documento
PUBLIC "-//W3C//DTD HTML 4.0//EN"
Lista o Identificador Público Formal (FPI) para o DTD ao qual este documento conforma-se. O seu interpretador SGML irá utiliza-lo para encontrar o DTD correto quando estiver processando o documento.
O PUBLIC
não faz parte do
FPI, ele indica para o processador SGML como localizar
o DTD referenciado na FPI. Outras formas de informar ao
interpretador SGML como localizar o DTD serão
abordadas mais tarde
.
>
Retorno ao documento.
Você não precisa conhecê-los, mas eles são um background útil, e podem ajudá-lo a depurar problemas quando o seu processador SGML não puder localizar o DTD que você esta utilizando.
Os FPIs devem seguir uma sintaxe específica. Esta sintaxe é a seguinte:
Proprietário
//Palavra-Chave
Descrição
//Idioma
"Proprietário
Isto indica o proprietário da FPI.
Se este conjunto de caracteres começar
com “ISO” significará que o FPI
é de propriedade do ISO. Por exemplo, a FPI
"ISO 8879:1986//ENTITIES Greek Symbols//EN"
lista o ISO 8879:1986
como sendo o proprietário do conjunto de
entidades dos símbolos Gregos. O ISO 8879:1986
é o numero da ISO para o padrão SGML.
De outra forma, este conjunto de caracteres
irá se parecer com -//
ou
Proprietário
+//
(Observe que a única
diferença é a introdução do
Proprietário
+
ou do -
).
Se o conjunto de caracteres começar com
-
significa que o
proprietário da informação
não é registrado, se começar com
um +
significa que ele é
registrado.
O ISO 9070:1991 define como os nomes registrados
são gerados; ele pode ser derivado do numero de
uma publicação ISO, de um código
ISBN, ou um código de organização
atribuído de acordo com o ISO 6523. Além disso,
uma autoridade de registro pode ser criada a fim de
atribuir nomes registrados. O conselho ISO delegou
isto ao American National Standards
Institute
(ANSI).
Como o Projeto FreeBSD não foi registrado o
conjunto de caracteres de proprietário é
-//FreeBSD
. E como você pode
ver, o W3C também não é um
proprietário registrado.
Palavra-Chave
Existem diversas palavras-chave as quais indicam o
tipo de informação no arquivo. Algumas
das palavras chaves mais comuns são
DTD
, ELEMENT
,
ENTITIES
, e TEXT
.
A palavra chave DTD
é
utilizada apenas para os arquivos DTD, a
ELEMENT
é normalmente
utilizada para fragmentos DTD os quais contenham
apenas entidades e declarações de
elementos. A palavra TEXT
é
utilizada para o conteúdo SGML (texto e tags).
Descricão
Qualquer descrição que você deseje fornecer para o conteúdo deste arquivo. O que pode incluir um número de versão ou qualquer texto curto o qual seja significativo para você e único para o sistema SGML.
Idioma
Este é um código ISO de duas letras o
qual identifica o idioma nativo do arquivo. O
código EN
é utilizado
para o idioma inglês.
Se você utilizar a sintaxe acima e processar este documento utilizando um processador SGML, o processador irá precisar de uma forma de associar a FPI ao nome do arquivo no seu computador o qual contém o DTD.
Para isto devemos utilizar um arquivo de
catálogo. Um arquivo de catálogo (tipicamente
chamado de catalog
) contém
linhas as quais mapeiam FPIs para nomes de arquivos. Por
exemplo, se o arquivo de catálogo contiver a linha:
O processador SGML saberia que deveria procurar pelo
DTD strict.dtd
no subdiretório
4.0
de qualquer diretório que
possuísse um arquivo catalog
contendo
esta linha.
Veja o conteúdo do
/usr/local/share/xml/html/catalog
.
Este é o arquivo de catálogo para o DTD HTML
o qual será instalado como parte do port
textproc/docproj
.
A fim de encontrar um arquivo de
catálogo
, o seu processador SGML
precisará saber onde procurar. Muitos deles possuem
recursos de parâmetros de linha de comando para
especificar o caminho para um ou mais catálogos.
Adicionalmente, você pode definir a
variável de ambiente
SGML_CATALOG_FILES
para apontar para os
arquivos. Esta variável deve consistir de uma
lista, separada por dois pontos (":"), de arquivos de
catálogo (incluindo seus caminhos completos).
Tipicamente, você precisará incluir os seguintes arquivos:
/usr/local/share/xml/docbook/4.1/catalog
/usr/local/share/xml/html/catalog
/usr/local/share/xml/iso8879/catalog
/usr/local/share/xml/jade/catalog
Você já deve ter feito isto.
Ao invés de utilizar um FPI para indicar o DTD ao qual o documento conforma-se (e consequentemente, quais arquivos no sistema contém o DTD), você pode especificar explicitamente o nome do arquivo.
A sintaxe para isto é ligeiramente diferente:
A palavra chave SYSTEM
indica que o
processador SGML deve encontrar o DTD em um local
específico do sistema. Isto tipicamente (mas
não sempre) significa que o DTD será fornecido
como um nome de arquivo.
O uso de FPIs é preferido por razões de
portabilidade. Você pode não desejar ter que
enviar uma cópia do DTD junto com seu documento, e
se você utilizasse um identificador
SYSTEM
todos necessitariam manter os seus
DTDs no mesmo lugar que você.
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Para perguntas sobre FreeBSD, leia a
documentação antes de contatar
<questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para
<doc@FreeBSD.org>.