Introdução ao DTD (Document type definition)

Informática

31/10/2008

Como já foi citado em artigos anteriores o arquivo .DTD é o responsável por definir
a estrutura de um XML válido. Ele define uma lista de elementos e atributos válidos para o arquivo.
Assim uma DTD para um documento XML descreve com precisão a sintaxe e a gramática da linguagem de marcação XML.

Uma .DTD pode ser declarada inline dentro de um documento XML, ou como uma referência externa.
 
Se a DTD é declarada dentro do arquivo XML, deve ser acondicionada em uma definição DOCTYPE com a seguinte sintaxe:

<!DOCTYPE root-element [element-declarations]>

Exemplo de uma dtd interna ao xml:

<?xml version="1.0"?>

<!DOCTYPE cadastro[
<!ELEMENT cadastro (nome,telefone,idade)>
<!ELEMENT nome (#PCDATA)>
<!ELEMENT telefone (#PCDATA)>
<!ELEMENT idade (#PCDATA)>
]>

<cadastro>
 <nome>Maria</nome>
 <telefone>3301-3344</telefone>
 <idade>23</idade>
</cadastro>

Exemplo de declaração externa:
 
Se a DTD é declarada em um arquivo externo, deve ser acondicionada em uma definição DOCTYPE com a seguinte sintaxe:

<!DOCTYPE root-element SYSTEM "filename">

Arquivo .xml

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "cadastro.dtd">

<cadastro>
 <nome>Maria</nome>
 <telefone>3301-3344</telefone>
 <idade>23</idade>
</cadastro>

Arquivo cadastro.dtd

<!ELEMENT cadastro (nome,telefone,idade)>
<!ELEMENT nome (#PCDATA)>
<!ELEMENT telefone (#PCDATA)>
<!ELEMENT idade (#PCDATA)>

Veja no próximo artigo a definição de cada um dos elementos.

Esta apresentação reflete a opinião pessoal do autor sobre o tema, podendo não refletir a posição oficial do Portal Educação.


Colunista Portal - Educação

por Colunista Portal - Educação

O Portal Educação possui uma equipe focada no trabalho de curadoria de conteúdo. Artigos em diversas áreas do conhecimento são produzidos e disponibilizados para profissionais, acadêmicos e interessados em adquirir conhecimento qualificado. O departamento de Conteúdo e Comunicação leva ao leitor informações de alto nível, recebidas e publicadas de colunistas externos e internos.

Portal Educação

UOL CURSOS TECNOLOGIA EDUCACIONAL LTDA, com sede na cidade de São Paulo, SP, na Alameda Barão de Limeira, 425, 7º andar - Santa Cecília CEP 01202-001 CNPJ: 17.543.049/0001-93