Tipo de documento XML Declaração, vulgarmente conhecida como DTD - Document Type Definition, é uma maneira de descrever com precisão a linguagem XML. DTDs verificar a validade da estrutura e do vocabulário de um documento XML contra as regras gramaticais da linguagem XML.
Um documento XML pode ser definido como:
Bem-formada: Se o documento XML adere a todas as geral regras de XML, tais como as tags devem ser devidamente encaixados, abrindo e fechando as tags devem ser equilibrados, e esvazie as tags devem terminar com '/>', então ele é chamado como bem-formado.
OU
Válido: um documento XML disse para ser válido quando não é apenas bem-formados, mas que também está em conformidade com a disponível DTD que especifica quais as tags que utiliza, quais atributos os tags podem conter, e que as marcas podem ocorrer dentro de outras marcas, entre outras propriedades.
O diagrama seguinte representa que um DTD é utilizado para estruturar o documento XML.
DTDpodem ser classificados com base em sua declaração o documento XML, tais como:
DTDInterno
DTD Externo
Quando um DTD é declarada dentro do arquivo é chamado DTD interna e se é declarada em um arquivo separado que é chamado DTD Externo.
Vamos aprender mais sobre estes no capítulo DTDsintaxe
Seguem-se alguns pontos importantes que um DTD descreve:
Os elementos que podem aparecer em um documento XML.
A ordem em que eles aparecem.
Opcional e elementos obrigatórios.
Atributos de elementos e se eles são opcionais ou obrigatórios.
Se os atributos podem ter valores padrão.
Documentação - Você pode definir o seu próprio formato para os arquivos XML. Olhando para este documento o usuário/desenvolvedor pode compreender a estrutura dos dados.
Validação - que fornece uma maneira de verificar a validade dos arquivos XML, verificando se os elementos aparecem na ordem certa, elementos obrigatórios e os atributos estão no lugar, os elementos e atributos que não foram inseridos em um mau caminho, e assim por diante.
Ele não tem suporte a namespaces. O Namespace é um mecanismo pelo qual elementos e nomes de atributos podem ser atribuídos aos grupos. No entanto, em uma DTD namespaces tem que ser definido dentro do DTD que viola a finalidade de usar namespaces.
Ele suporta apenas o texto tipo de dados string.
Ela não é orientada a objetos. Assim, o conceito de herança não pode ser aplicada sobre os DTDs.
Possibilidades limitadas para expressar a cardinalidade dos elementos.