DTD - Atributos


Advertisements

Neste seus órgãos sociais o nós discutiremos sobre atributos do DTD. O atributo dá mais informação"sobre um elemento ou mais precisamente definir uma propriedade de um elemento. Um atributo de XML é sempre sob a forma de um par do nome de valentes. Um elemento pode ter todo o número de atributos originais.

Atributo declaração é muito semelhante ao elemento declarações de muitas maneiras à excepção de um, em vez de declarar admissível conteúdo para os elementos, você declarar uma lista de atributos permitidos para cada elemento. Estas listas são chamados ATTLIST declaração.

Sintaxe

Sintaxe básica de DTD atributos declaração é a seguinte:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

A sintaxe acima

  • O DTD atributos iniciar com <!ATTLIST palavra-chave se o elemento contém o atributo.

  • Elemento-name especifica o nome do elemento ao qual o atributo se aplica.

  • Atributo name especifica o nome do atributo que está incluído com o elemento de nome.

  • Atributo type define o tipo de atributos. Vamos discutir mais sobre isso nas seções a seguir.

  • Atributo-valor tem um valor fixo que os atributos devem definir. Vamos discutir mais sobre isso nas seções a seguir.

Exemplo

Abaixo está um exemplo simples para o atributo declaração DTD:

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA #REQUIRED>
 ]>
<address>
   <name id="123">Tanmay Patil</name>
</address>

Vamo-nos através do código acima:

  • Começar com a declaração em XML com a seguinte declaração:

    <?xml version = "1.0"?>
    
  • Imediatamente a seguir ao cabeçalho XML é o tipo do documento declaração, comumente referido como o DOCTYPE:

    <!DOCTYPE address [
    

    O DOCTYPE informa ao parser que um DTD é associado a este documento XML. O DOCTYPE declaração tem um ponto de exclamação (!) no início do nome do elemento.

  • Segue-se o corpo da DTD. Aqui temos declarado elemento e atributo.

  • <!ELEMENT address ( name )>
    <!ELEMENT name ( #PCDATA )>
    
  • Atributo id para o elemento nome é definido como:

    <!ATTLIST name id CDATA #REQUIRED>
    

    Aqui é tipo de atributo CDATA e seu valor é#NECESSÁRIO.

Regras do atributo Declaração

  • Todos os atributos usados em um documento XML deve ser declarado no Document Type Definition (DTD) usando uma declaração Attribute-List

  • Os atributos só podem aparecer no início ou vazio tags.

  • A palavra-chave ATTLIST devem ser em maiúsculas

  • Nomes de atributos duplicados não serão permitidas dentro da lista de atributos de um determinado elemento.

Tipos de Atributos

Ao declarar que os atributos, você pode especificar o modo como o processador deve lidar com os dados que aparecem no valor. Podemos categorizar tipos de atributos em três categorias principais:

  • Tipo String

  • Permitem tipos

  • Tipos enumerados

Tabela a seguir apresenta um resumo dos diferentes tipos de atributos:

Tipo Descrição
CDATA CDATA é dados de caracteres (texto e não markup language). Trata-se de um atributo de cadeia.
ID É um identificador único do atributo. Ela não deve aparecer mais de uma vez. Trata-se de um tipo de atributo permitem.
IDREF Ele é usado para referenciar um ID de um outro elemento. Ele é usado para estabelecer conexões entre os elementos. Trata-se de um tipo de atributo permitem.
IDREFS Ele é usado para referenciar vários ID's. Trata-se de um tipo de atributo permitem.
ENTIDADE Ela representa uma entidade externa no documento. Trata-se de um tipo de atributo permitem.
ENTIDADES Ela representa uma lista de entidades externas no documento. Trata-se de um tipo de atributo permitem.
NMTOKEN É semelhante ao CDATA e o valor do atributo consiste de um XML válido. Trata-se de um tipo de atributo permitem.
NMTOKENS É semelhante ao CDATA e o valor do atributo é composto por uma lista de nomes XML válido. Trata-se de um tipo de atributo permitem.
NOTATION Um elemento será referenciado para uma anotação declarado no DTD documento. Trata-se de um atributo tipo enumerado.
Enumeração Ela permite definir uma lista específica de valores onde um dos valores deve corresponder. Trata-se de um atributo tipo enumerado.

Valor do Atributo Declaração

Dentro de cada atributo declaração, você deve especificar a forma como o valor será exibido no documento. Você pode especificar se um atributo:

  • Pode ter um valor padrão

  • Pode ter um valor fixo

  • É necessário

  • Está implícito

Valores Padrão

Ele contém o valor padrão. Os valores podem ser incluídas em aspas simples (') ou aspas duplas (")

Sintaxe

Sintaxe é a seguinte de valor:

< !ATTLIST elemento e atributo de nome do atributo name e digite "default-valor">

Onde default-valor é o valor do atributo definido.

Exemplo

É um exemplo simples do atributo declaração com valor padrão:

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA "0">
 ]>
<address>
   <name id="123">
      Tanmay Patil
   </name>
</address>

A este exemplo temos elemento de nome com o atributo id cujo valor padrão é 0. O valor padrão é sido alojados dentro do entre aspas.

Valores Fixos

#FIXO de palavra-chave seguido do valor fixo é utilizado quando você deseja especificar que o valor do atributo é constante e não pode ser alterado. Uma utilização comum de atributos fixos é especificar os números de versão.

Sintaxe

Sintaxe é a seguinte de valores fixos:

<!ATTLIST element-name attribute-name attribute-type #FIXED "value" >

Onde #fixo é um atributo valor definido.

Exemplo

É um exemplo simples do atributo declaração com valor fixo.

<?xml version="1.0"?>
<!DOCTYPE address [
  <!ELEMENT address (company)*>
  <!ELEMENT company (#PCDATA)>
  <!ATTLIST company name NMTOKEN #FIXED "tutorialspoint">
]>
<address>
  <company name="tutorialspoint">we are a free online teaching faculty</company>
</address>

Neste exemplo, temos utilizado a palavra-chave #FIXADO em que indica que o valor "tutorialspoint" é o único valor para o atributo name do elemento <empresa>. Se tentarmos mudar o atributo valor, então ele dá uma mensagem de erro.

Segue-se um inválido DTD:

<?xml version="1.0"?>
<!DOCTYPE address [
  <!ELEMENT address (company)*>
  <!ELEMENT company (#PCDATA)>
  <!ATTLIST company name NMTOKEN #FIXED "tutorialspoint">
]>
<address>
  <company name="abc">we are a free online teaching faculty</company>
</address>

Valores NECESSÁRIOS

Sempre que você quiser especificar que um atributo é necessário, use #NECESSÁRIA palavra-chave.

Sintaxe

Sintaxe é a seguinte de #NECESSÁRIO:

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

Onde #exigido é um tipo de atributo definido.

Exemplo

Segue-se um exemplo simples de DTD atributo declaração com #OBRIGATÓRIO palavra-chave:

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA #REQUIRED>
 ]>
<address>
   <name id="123">
      Tanmay Patil
   </name>
</address>

A este exemplo temos usado #NECESSÁRIA palavra-chave para especificar que o atributo id deve ser fornecida para o elemento de nome

Valores IMPLÍCITAS

Ao declarar os atributos que você sempre deve especificar uma declaração de valor. Se o atributo que você está declarando que não possui valor padrão, não tem valor fixo, e não é necessário, em seguida, você deve declarar que o atributo como implícita. Palavra-chave #IMPLÍCITA é usado para especificar um atributo como implícita.

Sintaxe

Sintaxe é a seguinte de #IMPLÍCITA:

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

Onde #IMPLÍCITA é um tipo de atributo definido.

Exemplo

Segue-se um exemplo simples de #IMPLÍCITA

<?xml version = "1.0"?>
<!DOCTYPE address [
<!ELEMENT address ( name )>
<!ELEMENT name ( #PCDATA )>
<!ATTLIST name id CDATA #IMPLIED>
 ]>
<address>
   <name />
</address>

Neste exemplo, temos utilizado a palavra-chave #IMPLÍCITA que não queremos especificar quaisquer atributos para ser incluído no nome do elemento. Ela é opcional.

Advertisements