Um documento XML com sintaxe correta é chamado de "Well Formed" .
Um documento XML validado contra um DTD é tanto "Well Formed" e "Valid" .
Os documentos XML válidos
A "Valid" documento XML é um "Well Formed" documento XML, que também está em conformidade com as regras de um DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
A declaração DOCTYPE, no exemplo acima, é uma referência para um ficheiro DTD externo. O conteúdo do arquivo é mostrado no parágrafo abaixo.
DTD XML
A finalidade de um DTD é definir a estrutura de um documento XML. Ela define a estrutura com uma lista de elementos legais:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
O DTD acima é interpretado como este:
- ! Nota DOCTYPE define que o elemento raiz do documento é a nota
- ! Nota elemento define que o elemento nota deve conter os elementos: "to, from, heading, body"
- ! ELEMENT a define o que elemento a ser do tipo "#PCDATA"
- ! ELEMENT partir define a partir de elemento a ser do tipo "#PCDATA"
- ! ELEMENT título define o elemento de título a ser do tipo "#PCDATA"
- ! Corpo elemento define o elemento do corpo para ser do tipo "#PCDATA"
#PCDATA Significa que os dados de texto de análise capaz de fazer.
Utilizando DTD para declaração de entidade
Uma declaração DOCTYPE também pode ser utilizado para definir os caracteres especiais e cadeias de caracteres, utilizada no documento:
Exemplo
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: w3ii.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Tente você mesmo " Uma entidade tem três partes: um e comercial (&) , um nome de entidade e um ponto e vírgula (;) .
Quando usar um DTD / Schema?
Com um DTD, grupos independentes de pessoas podem concordar em usar uma DTD padrão para o intercâmbio de dados.
Com um DTD, você pode verificar se os dados que você recebe do mundo exterior é válido.
Você também pode usar um DTD para verificar seus próprios dados.
Se você quer estudar DTD, leia o nosso Tutorial DTD .
Quando não usar um DTD / Schema?
XML não requer um DTD / Schema.
Quando você está experimentando com XML, ou quando você estiver trabalhando com arquivos XML pequenos, criando DTDs pode ser um desperdício de tempo.
Se você desenvolver aplicativos, espere até que a especificação é estável antes de adicionar uma definição de documento. Caso contrário, o seu software pode parar de funcionar por causa de erros de validação.