O DTD representa um jogo de réguas que definem a estrutura e a lógica de originais de XML. Os originais que armazenam estas réguas são chamados os originais de DTD (consultados como a DTDs de aqui sobre) e têm o dtd da extensão.
Para compreender mais melhor o conceito de DTDs, compare-os com a criação das tabelas em uma base de dados. Quando você cría uma tabela em um sistema da base de dados, você especifica as colunas, os tipos de dados para colunas diferentes, as réguas do validation para dados dentro das colunas, e assim por diante. Similarmente, você pode especificar as réguas que podem ser usadas em originais de XML, tais como Tag e atributos, usando um DTD. DTDs pode ser considerado para ser livros da régua para originais de XML.
Não é essencial para você criar um DTD para seus originais de XML. Entretanto, um DTD pode ser importante para os usuários que necessitam compreender que a estrutura de seus originais de XML ou que necessitam criar um original de XML similar a esse você tem criado já. Estes usuários podem consultar a seu original do DTD para compreender a estrutura e a lógica de seus originais de XML.Quando você cría um original do DTD para um original de XML, o original de XML está verificado de encontro às réguas especificadas no original do DTD. Se o original de XML aderir a todas as réguas do DTD, o original está considerado válido. Se não, o original de XML não gera a saída desejada.
Os componentes de um DTD são alistados abaixo:
Declarações de DOCTYPE. A declaração < de!DOCTYPE > contem a informação sobre a posição do DTD.
Declarações do elemento. Um elemento é um componente lógico de um original. Cada elemento que é contido em um original de XML deve ter uma declaração correspondente no DTD. A declaração do elemento é usada validar os elementos no original.
Atribui a declaração. Os atributos representam as características de um elemento. Um elemento pode conter atributos múltiplos. Para cada atributo do elemento que é usado em um original de XML, uma declaração correspondente do atributo deve ser especificada no DTD.
Modelo satisfeito. O modelo satisfeito é usado descrever o índice de um elemento.
Declaração da entidade. As entidades são pseudônimos associados com um grupo dos dados. Estes são usados em um original evitar de datilografar partes longas de texto repetidamente.
A estrutura geral de um DTD é mostrada abaixo:
< DTD-NOME de!DOCTYPE [ declaração do atributo do declaration(do elemento ] >
Uma declaração do elemento especifica um único elemento do markup. Cada Tag usado no original de XML deve ser deve ser definido com uma declaração do elemento no DTD correspondente.
A sintaxe para declarar um elemento é:
< elemento-nome de!ELEMENT (índice-tipo do elemento) >
Para o exemplo, considere um DTD, restaurant.dtd, que é usado definir detalhes sobre restaurantes. Os detalhes incluem os seguintes elementos:
RESTAURANTE. Identifica o restaurante
NOME. Identifica o nome do restaurante
POSIÇÃO. Identifica a posição do restaurante
ENDEREÇO. Identifica o endereço do restaurante
TELEFONE. Fornece o número de telefone do restaurante
OBSERVAÇÕES. Usou-se fornecer comentários sobre o restaurante
As declarações para estes elementos são:
< o telefone > <!ELEMENT de!ELEMENT do endereço > de!ELEMENT < da posição > de!ELEMENT < do nome > de!ELEMENT < do restaurante > de!ELEMENT < observa >
As declarações do atributo definem os jogos dos atributos para um elemento. Cada atributo usado no original de XML deve ter uma declaração no DTD correspondente. Todos os elementos não necessitam ter atributos.
Para o exemplo, em restaurant.dtd, os atributos podem ser adicionados ao elemento do RESTAURANTE.
Um TIPO do atributo com valores como continentais, chineses, indian, mexicano, e Multicuisine pode ser adicionado ao elemento do RESTAURANTE usando a seguinte declaração:
< TIPO DO RESTAURANTE DE!ATTLIST (INDIAN | CONTINENTAL | CHINÊS | MEXICANO | MULTICUISINE)"CONTINENTAL" # REQUERIDO >
O valor de defeito para um atributo é incluído em marcas da citação. # REQUERIDO indica que o atributo é imperativo e está requerido cada vez o elemento está usado em um original.
Um modelo satisfeito é parte da declaração do elemento e é usado descrever o índice do elemento. Há três tipos diferentes de índice:
Índice dos dados. Isto significa caráteres baseados texto e é o tipo o mais básico de índice. O índice dos dados pode ser especificado ou como # CDATA ou # PCDATA. # CDATA é usado especificar que o elemento contem os dados que não devem ser analisados gramaticalmente pelo parser, visto que # PCDATA é usado especificar que o elemento contem os dados que devem ser analisados gramaticalmente pelo parser.
Índice do elemento. Isto especifica os elementos da criança que são contidos no elemento. Além, o índice do elemento especifica quais dos elementos da criança são requeridos e a ordem em que estes elementos devem aparecer no original.
Índice misturado. O índice misturado significa os dados e o índice do elemento.
Um elemento com dados é declarado como mostrado:
< elemento-nome de!ELEMENT (dados-tipo) >
Um elemento com um elemento da criança é declarado como mostrado:
< elemento-nome de!ELEMENT (criança-elemento-nome) >
Os elementos múltiplos da criança podem ser separados com uma vírgula. Em um original de XML, os elementos da criança devem aparecer na mesma seqüência que foram declarados no DTD. Uma marca de pergunta (?) depois que um elemento da criança indica que o elemento é opcional.
No restaurant.dtd, o elemento do RESTAURANTE contem todos os elementos restantes. O restaurant.dtd, após ter adicionado a informação modelo satisfeita, é como segue:
< RESTAURANTE DE!ELEMENT (O NOME, POSIÇÃO, ENDEREÇO, TELEFONE, OBSERVA?) > < TIPO DO RESTAURANTE DE!ATTLIST (INDIAN | CONTINENTAL | CHINÊS | MEXICANO | MULTICUISINE)"CONTINENTAL" # REQUERIDO > < POSIÇÃO DE!ELEMENT DO NOME DE!ELEMENT (# PCDATA) > < VAZIA > < TIPO DA POSIÇÃO DE!ATTLIST (SUL|NORTE|DO LESTE|) "SUL") > < TELEFONE OCIDENTAL DE!ELEMENT DO ENDEREÇO DE!ELEMENT (# PCDATA) > < (# PCDATA) >
O keyword VAZIO pode ser usado como o índice-tipo especificar que o elemento não tem nenhum elemento da criança. A POSIÇÃO do ELEMENTO é um Tag do singleton que não requeira o começo e os Tag da extremidade.
As entidades são usadas dentro de um original evitar de datilografar partes longas de texto repetitivo. Tais textos podem ser atribuídos um pseudônimo, que possa mais mais ser usado no original. Quando o original é processado, o pseudônimo está substituído pelo texto especificado.
| Nome Da Entidade | Caráter |
|---|---|
< |
< |
> |
> |
& |
& |
&quto |
" |
' |
' |
As entidades são de dois tipos:
Entidades gerais. Uma entidade geral é declarada como segue:
< enclave Nova Deli 57 dos myaddress "112 Vasant –" de!ENTITY >
Este é um exemplo de uma entidade interna, onde a frase do texto que está sendo traçada esteja na declaração própria da entidade. Uma entidade externa traça o nome original a um bloco de texto armazenado fora do original. Uma entidade geral referenced com & antes do nome da entidade.
Entidades do parâmetro. As entidades do parâmetro são especificadas por %. que estas entidades são similares às entidades gerais mas podem ser usadas somente dentro do DTD.
Um original de XML consiste em dados de caráter e no markup que descreve os dados. Um original da amostra XML criou baseado em restaurant.dtd é mostrado abaixo:
<?xml version="1.0"? > < < > De Sensoi < do NOME do RESTAURANTE TYPE="continental" >/NOME > < "da POSIÇÃO TYPE="south/> < ENDEREÇO > Extremidade Ocidental, Rua De Wellingdon, Nova Delhi</ADDRESS > < PHONE>91-011-6854672</PHONE > </RESTAURANTE >
Um original de XML tem os seguintes componentes:
Declaração de XML
Elementos
Atributos
Entidades
Comentários
Uma declaração de XML é a primeira indicação em um original de XML. É usada identificar o original como um original de XML. É usada também especificar processar instruções como se a aplicação deve processar somente o original de XML ou o DTD também. A declaração de XML pode incluir atributos tais como a versão e codificar. Para o exemplo,
< versão de?XML = "1.0" encoding="UTF-8"? >
<? e? > significa que XML é uma instrução processando. As instruções processando são usadas para passar a mensagens a processar de aplicação o original de XML. Tais instruções processando podem ser colocadas em qualquer lugar no original.
A versão do atributo especifica a versão do original de XML. O atributo do encoding é usado especificar o encoding do caráter usado pelo autor. UTF-8 corresponde aos caráteres de ASCII 8-bit.
Os elementos são os componentes principais de uma língua do markup e são definidos no DTD. Cada original de XML deve ter um elemento da raiz. Um elemento da raiz descreve a função do original. No exemplo de restaurant.dtd, < o RESTAURANTE > é o elemento da raiz. O elemento da raiz contem os outros elementos do original de XML.
Os elementos são especificados usando Tag. Um Tag é especificado com nos suportes angulares (< >). Um Tag pode ser um Tag emparelhado com um Tag do começo (< elemento >) e um Tag da extremidade (</elemento >). Um Tag pode também ser um Tag do singleton que não tenha o começo e Tag da extremidade e não possa conseqüentemente conter nenhuns elementos ou dados. Os Tag de Singleton são significados com o keyword VAZIO no DTD.
O texto entre o começo e os Tag da extremidade é definido como os dados de caráter. Os dados de caráter podem ser todo o caráter legal de Unicode exceto <.
Os atributos fornecem a informação adicional sobre os elementos. Os atributos são encaixados no Tag do status. Um atributo consiste em um nome do atributo e em um valor do atributo. No código precedente da amostra XML, o elemento do RESTAURANTE contem um TIPO do atributo que especifique o cuisine em que o restaurante se especializa.
As entidades são usadas especificar um pseudônimo para os dados de teste que necessitam ser datilografados repetidamente. As entidades devem ser declaradas antes que referenced no original de XML. Um exemplo de uma entidade é como segue:
< os pobres de!ENTITY "o restaurante têm o serviço de cliente pobre" >
Esta entidade pode referenced como o &Poor. Para o exemplo,
< OBSERVA < > DO &POOR/OBSERVA >
Em um original de XML, todas as entidades são declaradas dentro de uma declaração de DOCTYPE. < a declaração de!DOCTYPE…[ ] > segue a declaração de XML. Para o exemplo,
<?xml version="1.0"? > <!DOCTYPE RESTAURANT[ < pobres de!ENTITY "o restaurante tem o serviço de cliente pobre" > ] >
A sintaxe para especificar comentários em um original de XML é:
<! - comentários - >
Para o exemplo,
<?xml version="1.0"? > <!-Este é um comentário - > < < > de Sensoi < do NOME do RESTAURANTE TYPE="continental" >/NOME > < "da POSIÇÃO TYPE="south/> < ENDEREÇO > extremidade ocidental, rua de Wellingdon, nova Delhi</ADDRESS > < PHONE>91-011-6854672</PHONE > </RESTAURANTE >
XML é usado organizar e indicar dados aos usuários da correia fotorreceptora. A saída de tal original é lisa com os Tag diferentes indicados em uma estrutura de árvore e não é formatada. Para formatar um original de XML, você pode aplicar uma folha do estilo. As folhas do estilo aplicam o estilo aos originais de XML e fazem lhes o olhar atrativo e user-friendly. As folhas do estilo contêm as réguas que declaram como um original de XML deve aparecer. Há muitas folhas do estilo disponíveis no mercado; dois destes são:
CSSs (Folhas Sendo conectadas em cascata Do Estilo). Estes ajudam manipular a visibilidade, posicionando e fazendo sob medida dos elementos; cores; e fundo, pia batismal, texto, e afastamento de um elemento.
XSL (língua eXtensible de Stylesheet). XSL contem um vocabulário de XML que especifique as réguas do formato e uma língua para transformar originais de XML.
Um CSS é incluído em um original de XML usando a seguinte indicação:
<? xml-stylesheet type="text/css" href="mycsssheet.css"? >
Um XSL é incluído em um original de XML usando a seguinte indicação:
<? xml-stylesheet type="text/xsl" href="myxslsheet.xsl"? >