DTD - Visão geral

A Declaração de Tipo de Documento XML, comumente conhecida como DTD, é uma maneira de descrever precisamente a linguagem XML. Os DTDs verificam a validade da estrutura e do vocabulário de um documento XML em relação às regras gramaticais da linguagem XML apropriada.

Um documento XML pode ser definido como -

  • Well-formed- Se o documento XML aderir a todas as regras XML gerais, como as tags, devem ser aninhadas corretamente, as tags de abertura e fechamento devem ser balanceadas e as tags vazias devem terminar com '/>', então ele é chamado de bem formado .

    OU

  • Valid- Um documento XML considerado válido quando não está apenas bem formado , mas também está em conformidade com o DTD disponível que especifica quais tags ele usa, quais atributos essas tags podem conter e quais tags podem ocorrer dentro de outras tags, entre outras propriedades .

O diagrama a seguir representa que um DTD é usado para estruturar o documento XML -

Tipos

O DTD pode ser classificado com base em sua declaração no documento XML, como -

  • DTD interno

  • DTD externo

Quando um DTD é declarado dentro do arquivo, ele é chamado Internal DTD e se for declarado em um arquivo separado, é chamado External DTD.

Aprenderemos mais sobre isso no capítulo Sintaxe DTD

Características

A seguir estão alguns pontos importantes que um DTD descreve -

  • os elementos que podem aparecer em um documento XML.

  • a ordem em que podem aparecer.

  • elementos opcionais e obrigatórios.

  • atributos do elemento e se são opcionais ou obrigatórios.

  • se os atributos podem ter valores padrão.

Vantagens de usar DTD

  • Documentation- Você pode definir seu próprio formato para os arquivos XML. Olhando para este documento, um usuário / desenvolvedor pode entender a estrutura dos dados.

  • Validation - Permite verificar a validade dos arquivos XML, verificando se os elementos aparecem na ordem correta, se os elementos e atributos obrigatórios estão no lugar, se os elementos e atributos não foram inseridos de forma incorreta, etc.

Desvantagens de usar DTD

  • Ele não oferece suporte a namespaces. O namespace é um mecanismo pelo qual nomes de elementos e atributos podem ser atribuídos a grupos. No entanto, em um DTD, os namespaces devem ser definidos dentro do DTD, o que viola o propósito de usar os namespaces.

  • Ele suporta apenas o tipo de dados de string de texto.

  • Não é orientado a objetos. Conseqüentemente, o conceito de herança não pode ser aplicado aos DTDs.

  • Possibilidades limitadas de expressar a cardinalidade dos elementos.