Latest web development tutorials

Introdução ao DTD

Document Type Definition (DTD) para definir os blocos de construção legais de um documento XML. Ela usa uma série de elementos legais para definir a estrutura do documento.

DTD pode ser declarado em linhas em um documento XML, ou como uma referência externa.


declaração DOCTYPE interna

Se o DTD está incluído no seu arquivo de origem XML, deve adotar a seguinte sintaxe envolto em uma declaração DOCTYPE:

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

instância de documento XML com o DTD (por favor, IE5 e versões mais elevados de Abrir e selecione ver fonte):

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>

Abrir este arquivo XML no seu navegador, e selecione "View Source" de comando.

O DTD acima é interpretado como este:

  • ! DOCTYPE nota (segunda linha) é definido no presente documento é o tipo de nota do documento.
  • ! Nota ELstrongENT (terceira fila) definições de elementos nota tem quatro elementos: "a, a partir, rumo ,, corpo"
  • ! ELstrongENT a (quarta linha) para definir elementos tipo "#PCDATA"
  • ! ELstrongENT de elemento de Frome (quinta linha) é definido tipo "#PCDATA"
  • ! ELstrongENT rumo (sexta linha) como elemento tipo definido título "#PCDATA"
  • ! Corpo ELstrongENT (sétima linha) é definido como um elemento do corpo tipo "#PCDATA"

declaração documento externo

Se o DTD está localizado em um arquivos de origem XML externos, então ele deve ser envolto em uma definição DOCTYPE com a seguinte sintaxe:

<!DOCTYPE root-element SYSTEM "filename">

Esta é a mesma documentos XML e documento XML acima, mas tem um DTD externo: ( clique para abrir o arquivo . E seleccione o comando "View Source")

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Este é o arquivo "note.dtd" contém o DTD:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>


Por que usar um DTD?

Por DTD, cada um de seus arquivos XML pode transportar uma descrição do seu próprio formato.

Por DTD, grupos independentes podem sempre usar um DTD padrão para troca de dados.

E sua aplicação também pode usar um DTD padrão para verificar os dados recebidos do exterior.

Você também pode usar um DTD para verificar seus próprios dados.