Ultimele tutoriale de dezvoltare web
 

DTD - Atribute


Intr-un DTD, atributele sunt declarate cu o declarație ATTLIST.


Declararea Atribute

O declarație de atribut are următoarea sintaxă:

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

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

attribute-type de attribute-type poate fi una dintre următoarele:

Tip Descriere
CDATA Valoarea este de date cu caracter
( en1 | en2 |..) Valoarea trebuie să fie una dintr-o listă recenzată
ID Valoarea este un ID unic
IDREF Valoarea este id-ul de un alt element
IDREFS Valoarea este o listă de alte ID-uri
NMTOKEN Valoarea este un nume valid XML
NMTOKENS Valoarea este o listă de nume XML valide
ENTITY Valoarea este o entitate
ENTITIES Valoarea este o listă a entităților
NOTATION Valoarea este un nume de notație
xml: Valoarea este o valoare predefinită XML

attribute-value poate fi una dintre următoarele:

Valoare Explicaţie
value Valoarea implicită a atributului
#REQUIRED Este nevoie de acest atribut
#IMPLIED Atributul este opțională
#FIXED value Valoarea atributului este fix

Un atribut Valoare implicită

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

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

In exemplul de mai sus, "square" elementul este definit ca fiind un element gol cu o "width" atribut de tip CDATA. Dacă nu este specificată nici o lățime, are o valoare prestabilită de 0.


#NECESAR

Sintaxă

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

Exemplu

DTD:
<!ATTLIST person number CDATA #REQUIRED>

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

Invalid XML:
<person />

Utilizați cuvântul cheie #REQUIRED, dacă nu aveți o opțiune pentru o valoare prestabilită, dar totuși doriți să forțeze atributul să fie prezent.


#IMPLIED

Sintaxă

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

Exemplu

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

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

Valid XML:
<contact />

Utilizați cuvântul cheie #IMPLIED, dacă nu doriți să forțați autorului pentru a include un atribut, și nu aveți o opțiune pentru o valoare prestabilită.


#FIX

Sintaxă

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

Exemplu

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

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

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

Utilizați cuvântul cheie #FIXED atunci când doriți un atribut să aibă o valoare fixă, fără a permite autorului să-l schimbe. În cazul în care un autor include o altă valoare, parserul XML va returna o eroare.


Valorile atributelor recenzată

Sintaxă

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

Exemplu

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

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

Utilizați valorile atributelor enumerate mai sus atunci când doriți ca valoarea atributului să fie una dintr-un set fix de valori juridice.