DTD - Egenskab
- Forrige side DTD element
- Næste side DTD entity
I DTD'en deklareres egenskaber gennem ATTLIST-deklarationer.
Deklarer egenskab
Egenskabsdeklaration bruger følgende syntaks:
<!ATTLIST 元素名称 属性名称 属性类型 Standardværdi>
DTD-instans:
<!ATTLIST payment type CDATA "check">
XML-instans:
<payment type="check" />
Her erEgenskabstypemulighederne for:
Type | Beskrivelse |
---|---|
CDATA | Værdien er tegndata (character data) |
(en1|en2|..) | Denne værdi er en værdi i en enum-liste |
ID | Værdien er en unik id |
IDREF | Værdien er id'en for et andet element |
IDREFS | Værdien er en liste over andre id'er |
NMTOKEN | Værdien er et gyldigt XML-navn |
NMTOKENS | Værdien er en liste over gyldige XML-navne |
ENTITY | Værdien er en enkelt entitet |
ENTITIES | Værdien er en entitetsliste |
NOTATION | Denne værdi er symbolnavnet |
xml: | Værdien er en prædefineret XML-værdi |
Standardværdiparametrene kan bruge følgende værdier:
Værdi | Forklaring |
---|---|
Værdi | Egenskabets standardværdi |
#REQUIRED | Egenskabsværdien er påkrævet |
#IMPLIED | Egenskaben er ikke påkrævet |
#FIXED value | Egenskabsværdien er fast |
Fastlæg en standard egenskabsværdi
DTD:
<ELEMENT square EMPTY> <ATTLIST square width CDATA "0">
Gyldig XML:
<square width="100" />
I det ovennævnte eksempel er "square" defineret som en tom element med en CDATA-type "width"-egenskab. Hvis bredden ikke er indstillet, er standardværdien 0.
#IMPLIED
Syntaks
<ATTLIST 元素名称 属性名称 属性类型 #IMPLIED>
Eksempel
DTD:
<ATTLIST contact fax CDATA #IMPLIED>
Gyldig XML:
<contact fax="555-667788" />
Gyldig XML:
<contact />
Hvis du ikke ønsker at tvinge forfatteren til at inkludere egenskaber, og du ikke har en standardværdi, skal du bruge nøgleordet #IMPLIED.
#REQUIRED
Syntaks
<ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>
Eksempel
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Gyldig XML:
<person number="5677" />
Ugyldig XML:
<person />
Hvis du ikke har et standardværdi-valg, men stadig ønsker at tvinge forfatteren til at indsende egenskaben, skal du bruge nøglen #REQUIRED.
#FIXED
Syntaks
<!ATTLIST elementnavn egenskabsnavn egenskabstype #FIXED "value">
Eksempel
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Gyldig XML:
<sender company="Microsoft" />
Ugyldig XML:
<sender company="W3School" />
Hvis du ønsker, at egenskaben skal have en fast værdi, som forfatteren ikke må ændre, skal du bruge #FIXED-nøglen. Hvis forfatteren bruger en anden værdi, vil XML-parseren returnere en fejl.
Listet egenskabsværdi
Syntaks:
<!ATTLIST elementnavn egenskabsnavn (en1|en2|..) standardværdi>
DTD eksempel:
<!ATTLIST payment type (check|cash) "cash">
XML eksempel:
<payment type="check" />
eller
<payment type="cash" />
Hvis du ønsker, at egenskabsværdien skal være en af en række faste gyldige værdier, skal du bruge listet egenskabsværdi.
- Forrige side DTD element
- Næste side DTD entity