Os elementos de XML podem ser definidos como blocos de apartamentos de um original de XML. Os elementos podem comportar-se enquanto um recipiente para guardar o texto, elementos, atributos, o meio objeta ou mistura de tudo.
Um elemento do DTD é declarado com uma declaração de ELEMENTO. Quando um arquivo de XML é validado pelo DTD, o parser verifica inicialmente para ver se há o elemento da raiz e os elementos da criança são validados então.
Todas as declarações de elemento do DTD têm este formulário geral:
<!ELEMENT elementname (content)>
ELEMENT a declaração é usada para indicar o parser que você está a ponto de definir um elemento.
elementname é o nome de elemento (igualmente chamado identificador genérico) que você está definindo.
índice define que índice (eventualmente) pode ir dentro do elemento.
O índice da declaração de elementos em um DTD pode ser categorizado como abaixo:
Índice vazio
Índice do elemento
Índice misturado
Algum índice
Este é um exemplo especial da declaração de elemento. Esta declaração de elemento não contém nenhum índice. Estes são declarados com a palavra-chave EMPTY.
SintaxeSeguir é a sintaxe para a declaração de elemento vazia:
<!ELEMENT elementname EMPTY >
Na sintaxe acima:
ELEMENTO é a declaração de elemento da categoria EMPTY
elementname é o nome do elemento vazio.
Seguir é um exemplo simples que demonstra a declaração de elemento vazia:
<?xml version="1.0"?> <!DOCTYPE hr[ <!ELEMENT address EMPTY> ]> <address />
Neste exemplo endereço é declarado como um elemento vazio. The markup for endereço o elemento apareceria como <address />.
Na declaração de elemento com índice do elemento, o índice seria elementos permissíveis dentro dos parênteses. Nós podemos igualmente incluir mais de um elemento.
SintaxeSeguir é uma sintaxe da declaração de elemento com índice do elemento:
<!ELEMENT elementname (child1, child2...)>
ELEMENTO é a etiqueta da declaração de elemento
elementname é o nome do elemento.
criança1, criança2.. são os elementos e cada elemento deve ter sua própria definição dentro do DTD.
O exemplo abaixo demonstra um exemplo simples para a declaração de elemento com índice do elemento:
<?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>Howcodex</company> <phone>(011) 123-4567</phone> </address>
No exemplo acima, endereço é o elemento de pai e nome, Empresa e phone_no são seus elementos da criança.
A tabela abaixo mostra a lista de operadores e de regras da sintaxe qual pode ser aplicado em definir elementos da criança:
Operador | Sintaxe | Descrição | Exemplo |
---|---|---|---|
+ | <!ELEMENT element-name (child1+)> | Indica que o elemento da criança pode ocorrer umas ou várias vezes dentro do elemento de pai. | <!ELEMENT address (name+)>
Elemento da criança nome pode ocorrer umas ou várias vezes dentro do nome de elemento endereço. |
* | <!ELEMENT element-name (child1*)> | Indica que o elemento da criança pode ocorrer zero ou mais vezes dentro do elemento de pai. | <!ELEMENT address (name*)>
Elemento da criança nome pode ocorrer zero ou mais vezes dentro do nome de elemento endereço. |
? | <!ELEMENT element-name (child1?)> | Indica que o elemento da criança pode ocorrer zero ou umas vezes dentro do elemento de pai. | <!ELEMENT address (name?)>
Elemento da criança nome pode ocorrer zero ou umas vezes dentro do nome de elemento endereço. |
, | <!ELEMENT element-name (child1, child2)> | Dá a sequência dos elementos da criança separados pela vírgula que deve ser incluída o no elemento-nome. | <!ELEMENT address (name, company)>
Sequência de elementos da criança nome, Empresa, qual deve ocorrer na mesma ordem dentro do nome de elemento endereço. |
| | <!ELEMENT element-name (child1 | child2)> | Reserva fazer escolhas no elemento da criança. | <!ELEMENT address (name | company)>
Permite que você escolha o um ou outro de elementos da criança i.e. nome or Empresa, qual deve ocorrer dentro dentro do nome de elemento endereço. |
Nós precisamos de seguir determinadas regras se há mais de um índice do elemento:
Sequências - Frequentemente os elementos dentro dos originais do DTD devem aparecer em uma ordem distinta. Se este é o caso, você define o índice usando uma sequência. Por exemplo:
<!ELEMENT address (name,company,phone)>
A declaração indica que <endereço> o elemento deve ter exatamente três crianças - <nome>, <Empresa>, e <telefone> - e isso devem aparecer nesta ordem.
Escolhas: Supõe o para precisar de reservar um elemento ou outro, mas não ambos. Nesses casos você deve usar a tubulação (|) caráter. As funções da tubulação como um exclusive OU. Por exemplo:
<!ELEMENT address (mobile | landline)>
Esta é a combinação de (#PCDATA) e elementos das crianças. PCDATA representa dados de caráter analisados gramaticalmente, isto é, o texto que não é margem de benefício. Dentro dos modelos satisfeitos misturados, o texto pode publicar-se por si só ou pode ser intercalado entre elementos. As regras para modelos satisfeitos misturados são similares ao índice do elemento como discutido na seção precedente.
SintaxeSeguir é uma sintaxe genérica para índice misturado do elemento:
<!ELEMENT elementname (#PCDATA|child1|child2)*>
ELEMENTO é a etiqueta da declaração de elemento.
nome de elemento é o nome do elemento.
PCDATA é o texto que não é margem de benefício. #PCDATA deve vir primeiramente na declaração satisfeita misturada.
criança1, criança2.. são os elementos e cada elemento deve ter sua própria definição dentro do DTD.
O operador (*) deve seguir o índice misturado declaração se os elementos das crianças são incluídos
O (#PCDATA) as declarações de elemento das crianças devem ser separadas pelo (|) operador.
Seguir é um exemplo simples que demonstra a declaração de elemento satisfeita misturada em um DTD.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE address [ <!ELEMENT address (#PCDATA|name)*> <!ELEMENT name (#PCDATA)> ]> <address> Here's a bit of text mixed up with the child element. <name>Tanmay Patil</name> </address>
Você pode declarar um elemento usando TODA A palavra-chave no índice. É referido o mais frequentemente como elemento misturado da categoria. ALGUM é útil quando você tem para decidir ainda os índices permissíveis do elemento.
SintaxeSeguir é a sintaxe para declarar elementos com TODO O índice:
<!ELEMENT elementname ANY>
Aqui, TODA A palavra-chave indica esse texto (PCDATA) e/ou todos os elementos declarados dentro do DTD podem ser usados dentro do índice do <nome de elemento> elemento. Podem ser usados em toda a ordem qualquer número de épocas. Contudo, ALGUM palavra-chave não permite que você inclua os elementos que não são declarados dentro do descolamento.
ExemploSeguir é um exemplo simples que demonstra a declaração de elemento com TODO O índice:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE address [ <!ELEMENT address ANY> ]> <address> Here's a bit of sample text </address>