XML - DTDs



O tipo de documento declaração de XML, conhecida geralmente como o DTD, é uma maneira de descrever precisamente a língua de XML. Vocabulário da verificação de DTDs e validez da estrutura de originais de XML contra regras gramaticais de língua apropriada de XML.

Um DTD de XML pode ou ser especificado dentro do original, ou pode ser mantido em um original separado e então ser gostado separadamente.

Sintaxe

A sintaxe básica de um DTD é como segue:

<!DOCTYPE element DTD identifier
[
   declaration1
   declaration2
   ........
]>

Na sintaxe acima,

  • The DTD começos com <! Delimite de DOCTYPEr.

  • An elemento diz o parser para analisar gramaticalmente o original do elemento especificado da raiz

  • DTD identificador é um identificador para o Document type definition, que pode ser o trajeto a um arquivo no sistema ou no URL a um arquivo no Internet. Se o DTD está apontando ao trajeto externo, é chamado Subconjunto externo.

  • Os suportes quadrados [ ] encerre uma lista opcional de declarações de entidade chamadas Subconjunto interno.

Interno DTD

Um DTD está referido como um DTD interno se os elementos são declarados dentro dos arquivos de XML. Para consultá-lo como o DTD interno, standalone o atributo na declaração de XML deve ser ajustado a sim. Este meios, independente dos trabalhos da declaração da fonte externo.

Sintaxe

A sintaxe do DTD interno é como mostrado:

<!Raiz-elemento de DOCTYPE [elemento-declarações]>

onde Raiz-elemento é o nome do elemento da raiz e elemento-declarações é onde você declara os elementos.

Exemplo

Seguir é um exemplo simples do DTD interno:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>
<address>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</address>

Deixe-nos atravessar o código acima:

Comece a declaração- Comece a declaração de XML com a seguinte indicação

<?version= " 1,0" do xml standalone= " de " UTF-8 do encoding=” sim” ?>

DTD- Imediatamente depois do encabeçamento de XML, tipo de documento declaração segue, referido geralmente como o DOCTYPE:

<!Endereço de DOCTYPE [

A declaração de DOCTYPE tem uma marca de exclamação (!) no início do nome de elemento. O DOCTYPE informa o parser que um DTD está associado com este original de XML.

DTD Body- A declaração de DOCTYPE é seguida pelo corpo do DTD, onde você declara elementos, atributos, entidades, e notações:

<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone_no (#PCDATA)>

Diversos elementos são declarados aqui que compõem o vocabulário do < name> original. <! > do nome de ELEMENTO (#PCDATA); define o elemento nome para ser do tipo “#PCDATA”. Aqui #PCDATA significa dados analisar gramaticalmente-capazes do texto.

Declaração do fim - Finalmente, a seção da declaração do DTD é fechado usando um suporte de fechamento e um suporte de ângulo de fechamento (] >). Isto termina eficazmente a definição, e depois disso, o original de XML segue imediatamente.

Regras

  • O tipo de documento declaração deve aparecer no início do original (precedido somente pelo encabeçamento de XML) — ele não é permitido em qualquer outro lugar dentro do original.

  • Similar à declaração de DOCTYPE, as declarações de elemento devem começar com uma marca de exclamação.

  • O nome no tipo de documento declaração deve combinar o tipo de elemento do elemento da raiz.

Externo DTD

No DTD externo os elementos são declarados fora do arquivo de XML. São alcançados especificando os atributos de sistema que podem ser qualquer um o legal .dtd arquivo ou um URL válido. Para consultá-lo como o DTD externo, standalone o atributo na declaração de XML deve ser ajustado como o nenhum. Este os meios, declaração incluem a informação da fonte externo.

Sintaxe

Seguir é a sintaxe para o DTD externo:

<!DOCTYPE root-element SYSTEM "file-name">

onde nome de arquivo é o arquivo com .dtd extensão.

Exemplo

O seguinte exemplo mostra o uso externo do DTD:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE address SYSTEM "address.dtd">
<address>
  <name>Tanmay Patil</name>
  <company>TutorialsPoint</company>
  <phone>(011) 123-4567</phone>
</address>

O índice do arquivo do DTD endereço.dtd seja como mostrado:

<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>

Tipos

Você pode referir um DTD externo usando o system identifiers ou identificadores públicos do .

Identificadores do sistema

Um identificador do sistema permite-o de especificar o lugar de um arquivo externo que contém declarações do DTD. A sintaxe é como segue:

<!DOCTYPE name SYSTEM "address.dtd" [...]>

Como você pode ver, contém o SISTEMA da palavra-chave e uma referência de URI que aponta ao lugar do original.

Identificadores públicos

Os identificadores públicos fornecem um mecanismo para encontrar recursos do DTD e são escritos como abaixo:

<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">

Como você pode ver, começa com o PÚBLICO da palavra-chave, seguido por um identificador especializado. Os identificadores públicos são usados para identificar uma entrada em um catálogo. Os identificadores públicos podem seguir todo o formato, contudo, um formato de uso geral é chamado Identificadores públicos formais, ou FPIs.

Advertisements