Primer do Projeto de Documentação do FreeBSD para novos colaboradores | ||
---|---|---|
Anterior | Capítulo 3 SGML Primer | Próxima |
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:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">
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.
Mostra que esta é uma declaração SGML para o tipo de documento.
O nome do primeiro elemento o qual irá aparecer no documento
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.
Nota: 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"
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 -// Proprietário ou +//Proprietário (Observe que a única diferença é a introdução do + 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.
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).
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.
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:
PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"
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:
<!DOCTYPE html SYSTEM "/path/to/file.dtd">
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>.