DTD - Atributo
- Página Anterior Elemento DTD
- Próxima Página Entidade DTD
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 元素名称 属性名称 属性类型 默认值>
Exemplo de DTD:
<!ATTLIST payment type CDATA "check">
Exemplo de XML:
<payment type="check" />
A seguir estãoTipo de atributoopções:
Tipo | Descrição |
---|---|
CDATA | O valor é dados de caracteres (character data) |
(en1|en2|..) | Este valor é um valor da lista de enumeração |
ID | O valor é um id único |
IDREF | O valor é o id de outro elemento |
IDREFS | O valor é uma lista de outros ids |
NMTOKEN | O valor é um nome legal de XML |
NMTOKENS | O valor é uma lista de nomes legais de XML |
ENTITY | O valor é uma entidade |
ENTITIES | O valor é uma lista de entidades |
NOTATION | Este valor é o nome do símbolo |
xml: | O valor é um valor pré-definido do XML |
Os parâmetros do valor padrão podem usar os seguintes valores:
Valor | Explicação |
---|---|
Valor | O valor padrão do atributo |
#REQUIRED | O valor do atributo é obrigatório |
#IMPLIED | O atributo não é obrigatório |
#FIXED value | O valor do atributo é fixo |
Especificar um valor padrão para o atributo
DTD:
<!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0">
XML válido:
<square width="100" />
No exemplo acima, "square" é definido como um elemento vazio com o atributo "width" do tipo CDATA. Se a largura não for definida, seu valor padrão é 0.
#IMPLIED
Sintaxe
<!ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
Exemplo
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
XML válido:
<contact fax="555-667788" />
XML válido:
<contact />
Se você não deseja forçar o autor a incluir o atributo e não tiver opção de valor padrão, use a palavra-chave #IMPLIED.
#REQUIRED
Sintaxe
<ATTLIST 元素名称 属性名称 属性类型 #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 deseja forçar o autor a fornecer o atributo, use a palavra-chave #REQUIRED.
#FIXED
Sintaxe
<!ATTLIST nome_do_elemento nome_do_atributo tipo_do_atributo #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.
Valor de Atributo Enumerado
Sintaxe:
<!ATTLIST nome_do_elemento nome_do_atributo (en1|en2|..) valor_padrao>
Exemplo de DTD:
<!ATTLIST payment type (check|cash) "cash">
Exemplo de XML:
<payment type="check" />
Ou
<payment type="cash" />
Se você deseja que o valor do atributo seja um dos valores legais fixos, use o valor de atributo enumerado.
- Página Anterior Elemento DTD
- Próxima Página Entidade DTD