Tutorial de DTD
O que é um DTD?
Uma DTD é uma definição de tipo de documento.
Uma DTD define a estrutura e os elementos e atributos legais de um documento XML.
Por que usar um DTD?
Com um DTD, grupos independentes de pessoas podem concordar com um DTD padrão para troca de dados.
Um aplicativo pode usar um DTD para verificar se os dados XML são válidos.
Uma Declaração DTD Interna
Se o DTD for declarado dentro do arquivo XML, ele deve ser encapsulado dentro da definição <!DOCTYPE>:
Documento XML com um DTD interno
<?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>
Visualizar arquivo XML »
No arquivo XML, selecione "view source" para visualizar o DTD.
O DTD acima é interpretado assim:
- !DOCTYPE note define que o elemento raiz deste documento é note
- !ELEMENT note define que o elemento note deve conter quatro elementos: "to,from,heading,body"
- !ELEMENT to define o elemento to para ser do tipo "#PCDATA"
- !ELEMENT from define o elemento from para ser do tipo "#PCDATA"
- !ELEMENT header define o elemento header para ser do tipo "#PCDATA"
- !ELEMENT body define o elemento body como sendo do tipo "#PCDATA"
Uma Declaração DTD Externa
Se o DTD for declarado em um arquivo externo, a definição <!DOCTYPE> deve conter uma referência ao arquivo DTD:
Documento XML com uma referência a um DTD externo
<?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>
Visualizar arquivo XML »
E aqui está o arquivo "note.dtd", que contém a DTD:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>