tutoriais mais recente desenvolvimento web
 

DTD Tutorial


O que é um DTD?

A DTD é uma Document Type Definition.

A DTD define a estrutura e os elementos legais e atributos de um documento XML.


Por que usar um DTD?

Com um DTD, grupos independentes de pessoas podem concordar com um DTD padrão para o intercâmbio de dados.

Um aplicativo pode usar um DTD para verificar que os dados XML é válido.


Uma declaração DTD interno

Se o DTD é declarada dentro do arquivo XML, ele deve ser acondicionada no interior do <!DOCTYPE> definição:

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>
Ver arquivo XML »

No arquivo XML, selecione "view source" para visualizar o DTD.

O DTD acima é interpretado como este:

  • !DOCTYPE note define que o elemento raiz do documento é nota
  • !ELEMENT note define que o elemento nota deve conter quatro elementos: "to,from,heading,body"
  • !ELEMENT to define o que elemento a ser do tipo "#PCDATA"
  • !ELEMENT from define a partir de elemento a ser do tipo "#PCDATA"
  • !ELEMENT heading define o elemento de título a ser do tipo "#PCDATA"
  • !ELEMENT body define o elemento do corpo para ser do tipo "#PCDATA"

Uma declaração DTD externo

Se o DTD é declarado em um arquivo externo, o <!DOCTYPE> definição deve incluir uma referência para o 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>
Ver arquivo XML »

E aqui é o arquivo "note.dtd" , que contém o DTD:

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