Vídeo: Creación de un DTD para un XML con ejemplo (Tutorial Informática - Memoria) 2024
Um documento XML pode ter um DTD, que especifica exatamente quais elementos podem aparecer em um documento XML e em que ordem os elementos podem aparecer. DTD significa Definição do tipo de documento, mas isso não será no teste.
Uma DTD para um documento XML sobre filmes, por exemplo, pode especificar que cada elemento
Filme
deve ter
Título
e
Preço
subelementos e um atributo chamado < ano
. Também pode especificar que o elemento raiz deve ser chamado
Filmes
e consistir em qualquer número de elementos
Filme
.
Filmes
que tenha dois títulos para um filme, por exemplo, você pode usar o DTD para detectar o erro.
Você pode armazenar o DTD para um documento XML no mesmo arquivo que os dados XML, mas com mais freqüência, você armazena o DTD em um arquivo separado. Dessa forma, você pode usar uma DTD para governar o formato de vários documentos XML do mesmo tipo. Para indicar o nome do arquivo que contém o DTD, você adiciona uma declaração
ao documento XML. Aqui está um exemplo:
Filmes
, cuja DTD você pode encontrar nos filmes
. dtd
. Adicione esta etiqueta perto do início dos filmes
. xml
, logo após a marca
.
Este código mostra um arquivo DTD para os filmes
. arquivo xml
.
Cada uma das tags ELEMENT em uma DTD define um tipo de elemento que pode aparecer no documento e indica o que pode aparecer como o conteúdo desse tipo de elemento. A forma geral da marca
ELEMENT
é esta:
elemento (conteúdo)> Use as regras listadas aqui para expressar o conteúdo.
Especificando o conteúdo do elemento
Descrição | elemento * |
O elemento especificado pode ocorrer 0 ou mais vezes. Elemento
|
+ |
O elemento especificado pode ocorrer 1 ou mais vezes. Elemento
|
? |
O elemento especificado pode ocorrer 0 ou 1 vez.
|
element1 | element2 |
Ou
|
element1
ou
element2
podem aparecer.
elemento1, elemento2 |
elemento1
|
aparece, seguido de
elemento2
.
#PCDATA |
Os dados de texto são permitidos.
|
QUALQUER |
Todos os elementos filho são permitidos.
|
VAZIO |
Nenhum elemento filho de qualquer tipo é permitido.
|
A primeira tag |
ELEMENT
na DTD mostrada acima, por exemplo, diz que um elemento
Filmes
consiste em zero ou mais elementos
Filmes
.A segunda tag
ELEMENT
diz que um elemento
Filme
consiste em um elemento
Título
seguido de um elemento
Preço
. O terceiro e o quarto
ELEMENT
indicam que os elementos
Título
e
Preço
consistem em dados de texto.
Se esta notação parecer vagamente familiar, é porque ela é derivada de expressões regulares.
A tag
ATTLIST
fornece o nome de cada atributo. Sua forma geral é esta:
tipo de atributo do elemento default-value >> Aqui está uma quebra desta tag: elemento
nomeia o elemento cuja marca o atributo pode aparecer.
-
atributo
fornece O nome do atributo. -
tipo
especifica o que pode aparecer como valor do atributo. O -
tipo
pode ser qualquer um dos itens listados nesta tabela.padrão
fornece um valor padrão e indica se o atributo é necessário ou opcional. -
padrão
pode ser qualquer um dos itens listados na tabela a seguir.Tipos de Atributo
Elemento
CDATA | Pode ser qualquer cadeia de caracteres. |
(string1 | string2 …)
|
Pode ser uma das cadeias listadas. |
NMTOKEN
|
Deve ser um token de nome |
|
, que é uma string composta de letras e números. NMTOKENS Deve ser um ou mais tokens de nome separados por espaço em branco. |
ID
|
É um token de nome que deve ser exclusivo. Em outras palavras, nenhum outro elemento no documento pode ter o mesmo valor para esse atributo. |
IDREF
|
Deve ser o mesmo que um valor |
ID
|
usado em outro lugar no documento.
IDREFS
É uma lista de |
IDREF
|
valores separados por espaço em branco.
Confira os padrões de atributo aqui. |
Padrão
# REQUIRED | Obrigatório. |
#IMPLIED
|
Opcional. |
valor
|
Opcional. Esse valor é usado se o atributo for omitido. |
#FIXED value
|
Opcional. Se for incluído, no entanto, esse deve ser esse valor e, se omitido, esse valor é usado por padrão. |
|
Aqui está a declaração de tag |
de
filmes. dtd
:
Esta declaração indica que o atributo vai com o elemento
Filme
, é chamado
ano
, pode ser qualquer tipo de dados e é necessário.
Aqui está uma marca
ATTLIST
que especifica uma lista de possíveis valores juntamente com um padrão:
Este formulário da marca
ATTLIST
permite criar um atributo semelhante a uma enumeração, com uma lista de valores aceitáveis.