DTD - Atributos
- Página Anterior DTD - Elementos
- Próxima Página DTD - Elementos em Comparação com Atributos
No DTD, os atributos são declarados através da declaração ATTLIST.
Declarar atributo
A declaração de atributo usa a seguinte sintaxe:
<!ATTLIST nome_do_elemento nome_do_atributo tipo_do_atributo valor_padrao>
Exemplo de DTD:
<!ATTLIST payment type CDATA "check">
Exemplo de instância XML:
<payment type="check" />
A seguir:Tipo de atributoOpções do tipo:
Tipo | Descrição |
---|---|
CDATA | O valor deve ser dados de caractere (character data) |
(en1|en2|..) | Este valor é uma das opções da lista enumerada |
ID | O valor deve ser um id único |
IDREF | O valor deve ser o id de outro elemento |
IDREFS | A lista de valores deve ser de outros ids |
NMTOKEN | O valor deve ser um nome XML válido |
NMTOKENS | O valor é uma lista de nomes XML válidos |
ENTITY | O valor é uma entidade |
ENTITIES | O valor é uma lista de entidades |
NOTATION | Este valor é o nome simbólico |
xml: | O valor é um valor XML pré-definido |
Os parâmetros de valor padrão podem usar os seguintes valores:
Valor | Explicação |
---|---|
Valor | Valor padrão do atributo |
#REQUIRED | O valor do atributo é obrigatório |
#IMPLIED | O atributo não é obrigatório |
#FIXED valor | O valor do atributo é fixo |
Definir um valor padrão para atributo
DTD:
<!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
XML válido:
<square width="100" />
Neste exemplo, "square" é definido como um elemento vazio com o atributo "width" do tipo CDATA. Se a largura não for configurada, o valor padrão é 0.
#IMPLIED
Sintaxe
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
Exemplo
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
XML válido:
<contact fax="555-667788" />
XML válido:
<contact />
Se você não desejar forçar o autor a incluir o atributo e não tiver a opção de valor padrão, use a palavra-chave #IMPLIED.
#REQUIRED
Sintaxe
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
Exemplo
DTD:
<!ATTLIST person number CDATA #REQUIRED>
XML válido:
<person number="5677" />
XML ilegal:
<person />
Se você não tiver a opção de valor padrão mas ainda assim desejar forçar o autor a submeter o atributo, use a palavra-chave #REQUIRED.
#FIXED
Sintaxe
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
Exemplo
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
XML válido:
<sender company="Microsoft" />
XML ilegal:
<sender company="W3School" />
Se você deseja que o atributo tenha um valor fixo e não permita que o autor altere esse valor, use a palavra-chave #FIXED. Se o autor usar um valor diferente, o analisador XML retornará um erro.
Enumerar valores de atributo
Sintaxe:
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
Exemplo de DTD:
!ATTLIST payment type (check|cash) "cash">
Exemplo de XML:
<payment type="check" />
ou
<payment type="cash" />
Se o valor do atributo for um dos valores legais fixos da série, use o valor de atributo enumerado.
- Página Anterior DTD - Elementos
- Próxima Página DTD - Elementos em Comparação com Atributos