Gli ultimi tutorial di sviluppo web
 

DTD - Attributi


In un DTD, gli attributi vengono dichiarati con una dichiarazione ATTLIST.


dichiarare Attributi

Una dichiarazione di attributo ha la seguente sintassi:

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

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

L' attribute-type può essere uno dei seguenti:

Digitare Descrizione
CDATA Il valore è di dati di carattere
( en1 | en2 |..) Il valore deve essere uno da un elenco numerato
ID Il valore è un ID univoco
IDREF Il valore è l'id di un altro elemento
IDREFS Il valore è un elenco di altri ID
NMTOKEN Il valore è un nome XML valido
NMTOKENS Il valore è un elenco di nomi XML validi
ENTITY Il valore è un'entità
ENTITIES Il valore è un elenco di entità
NOTATION Il valore è un nome di una notazione
xml: Il valore è un valore predefinito XML

L' attribute-value può essere uno dei seguenti:

Valore Spiegazione
value Il valore di default dell'attributo
#REQUIRED è richiesto L'attributo
#IMPLIED L'attributo è facoltativo
#FIXED value Il valore dell'attributo è fisso

Un attributo Valore predefinito

DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

Valid XML:
<square width="100" />

Nell'esempio precedente, la "square" elemento è definito come un elemento vuoto con un "width" attributo di tipo CDATA. Se non viene specificato di larghezza, ha un valore predefinito 0.


#REQUIRED

Sintassi

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

Esempio

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

Usa la parola chiave #REQUIRED, se non si dispone di un'opzione per un valore di default, ma ancora voglia di forzare l'attributo di essere presenti.


#IMPLIED

Sintassi

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

Esempio

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

Usa la parola chiave #IMPLIED se non si vuole forzare l'autore a includere un attributo, e non si dispone di un'opzione per un valore di default.


#FISSO

Sintassi

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

Esempio

DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="w3ii" />

Usa la parola chiave #FIXED quando si desidera un attributo abbia un valore fisso senza che l'autore di cambiarlo. Se un autore include un altro valore, il parser XML restituirà un errore.


Valori attributi enumerati

Sintassi

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

Esempio

DTD:
<!ATTLIST payment type (check|cash) "cash">

XML example:
<payment type="check" />
or
<payment type="cash" />

Utilizzare i valori degli attributi enumerati quando si desidera che il valore di attributo di essere parte di un insieme fisso di valori legali.