DTD - Eienskappe
In 'n DTD word eienskappe verklaar met 'n ATTLIST-verklaring.
Verklaring van eienskappe
'n Eienskapverklaring het die volgende sintaksis:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
Die kenmerk-tipe kan een van die volgende wees:
Type | Description |
---|---|
CDATA | The value is character data |
(en1|en2|..) | The value must be one from an enumerated list |
ID | The value is a unique id |
IDREF | The value is the id of another element |
IDREFS | The value is a list of other ids |
NMTOKEN | The value is a valid XML name |
NMTOKENS | The value is a list of valid XML names |
ENTITY | The value is an entity |
ENTITIES | The value is a list of entities |
NOTATION | The value is a name of a notation |
xml: | The value is a predefined xml value |
Die kenmerk-waarde kan een van die volgende wees:
Value | Explanation |
---|---|
value | The default value of the attribute |
#REQUIRED | The attribute is required |
#IMPLIED | The attribute is optional |
#FIXED value | The attribute value is fixed |
'n Verstekkenmerkwaarde
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
In die voorbeeld hierbo word die "vierkantige" element gedefinieer as 'n leë element met 'n "width" kenmerk van tipe CDATA. As geen breedte gespesifiseer word nie, het dit 'n verstekwaarde van 0.
#BENODIG
Sintaksis
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
Voorbeeld
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
Gebruik die sleutelwoord #REQUIRED as jy nie 'n opsie vir 'n verstekwaarde het nie, maar steeds die kenmerk wil dwing om teenwoordig te wees.
#geïmpliseer
Sintaksis
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
Voorbeeld
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
Gebruik die #IMPLIED sleutelwoord as jy nie die skrywer wil dwing om 'n kenmerk in te sluit nie, en jy het nie 'n opsie vir 'n verstekwaarde nie.
#VASTE
Sintaksis
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
Voorbeeld
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="W3Schools" />
Gebruik die #FIXED-sleutelwoord wanneer jy wil hê dat 'n eienskap 'n vaste waarde moet hê sonder om die skrywer toe te laat om dit te verander. As 'n outeur 'n ander waarde insluit, sal die XML-ontleder 'n fout terugstuur.
Opgesomde kenmerkwaardes
Sintaksis
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
Voorbeeld
DTD:
<!ATTLIST payment type (check|cash) "cash">
XML example:
<payment type="check" />
or
<payment type="cash" />
Gebruik opgesomde kenmerkwaardes wanneer jy wil hê dat die kenmerkwaarde een van 'n vaste stel wettige waardes moet wees.