DTD - Egenskaber

I DTD'en, deklareres attributter gennem ATTLIST-deklarationer.

Deklarer attribut

Attributdeklarationer bruger følgende syntaks:

<!ATTLIST elementnavn attributnavn attributtype standardværdi>

DTD-eksempel:

<!ATTLIST payment type CDATA "check">

XML-eksempel:

<payment type="check" />

Her erAttributtypeIndstillingerne 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 til en anden element
IDREFS Værdien er en liste over andre id'er
NMTOKEN Værdien er en gyldig XML-navn
NMTOKENS Værdien er en liste over gyldige XML-navne
ENTITY Værdien er en enkelt entitet
ENTITIES Værdien er en liste over entiteter
NOTATION Denne værdi er et symbolnavn
xml: Værdien er en prædefineret XML-værdi

Standardværdiparametrene kan bruge følgende værdier:

Værdi Forklaring
Værdi Attributtets standardværdi
#REQUIRED Attributværdien er nødvendig
#IMPLIED Attributtet er ikke nødvendigt
#FIXED værdi Attributværdien er fast

Definere en standard attributværdi

DTD:

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

Gyldig XML:

<square width="100" />

I de ovennævnte eksempler er "square" defineret som en tom element med CDATA-typen "width"-attributtet. Hvis bredden ikke er indstillet, er standardværdien 0.

#IMPLIED

Syntax

<!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 attributtet, og du ikke har mulighed for at vælge en standardværdi, skal du bruge nøglen #IMPLIED.

#REQUIRED

Syntax

<!ATTLIST 元素名称 属性名称 属性类型 #REQUIRED>

Eksempel

DTD:

<!ATTLIST person number CDATA #REQUIRED>

Gyldig XML:

<person number="5677" />

Ugyldig XML:

<person />

Hvis du ikke har mulighed for at vælge en standardværdi, men stadig ønsker at tvinge forfatteren til at indsende attributtet, skal du bruge nøglen #REQUIRED.

#FIXED

Syntax

<!ATTLIST 元素名称 属性名称 属性类型 #FIXED "value">

Eksempel

DTD:

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

Gyldig XML:

<sender company="Microsoft" />

Ugyldig XML:

<sender company="W3School" />

Hvis du ønsker, at attributtet har en fast værdi, og det ikke er tilladt for forfatteren at ændre denne værdi, skal du bruge nøglen #FIXED. Hvis forfatteren bruger en anden værdi, vil XML-parseren returnere en fejl.

列举属性值

语法:

<!ATTLIST 元素名称 属性名称 (en1|en2|..) 默认值>

DTD Eksempel:

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

XML Eksempel:

<payment type="check" />

eller

<payment type="cash" />

Hvis værdien af egenskaben skal være en af en række faste gyldige værdier, skal du bruge en listet egenskabsværdi.