DTD - Eigenschappen

in DTD worden eigenschappen gedeclareerd via de ATTLIST verklaring.

verklaren eigenschap

eigenschapsverklaring gebruikt de volgende syntaxis:

<!ATTLIST elementnaam eigenschapsnaam eigenschapstype standaardwaarde>

DTD voorbeeld:

<!ATTLIST payment type CDATA "check">

XML voorbeeld:

<payment type="check" />

hieronder iseigenschapstypeopties:

type beschrijving
CDATA waarde is character data
(en1|en2|..) deze waarde is een waarde in een lijst van enumeraties
ID waarde is een unieke id
IDREF waarde is de id van een ander element
IDREFS waarde is een lijst van andere ids
NMTOKEN waarde is een geldige XML naam
NMTOKENS Waarde is een lijst van geldige XML-namen
ENTITY Waarde is een entiteit
ENTITIES Waarde is een lijst van entiteiten
NOTATION Deze waarde is de naam van het symbool
xml: Waarde is een voorgedefinieerde XML-waarde

De standaardwaardeparameter kan de volgende waarden gebruiken:

Waarde Verklaring
Waarde Standaardwaarde van de eigenschap
#REQUIRED Eigenschapswaarde is vereist
#IMPLIED Eigenschap is niet vereist
#FIXED waarde Eigenschapswaarde is vast

Stel een standaard eigenschapswaarde in

DTD:

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

Geldige XML:

<square width="100" />

In het bovenstaande voorbeeld is "square" gedefinieerd als een lege element met de CDATA-type eigenschap "width". Als de breedte niet is ingesteld, is de standaardwaarde 0.

#IMPLIED

Syntaxis

<!ATTLIST element_name attribute_name attribute_type #IMPLIED>

Voorbeeld

DTD:

<!ATTLIST contact fax CDATA #IMPLIED>

Geldige XML:

<contact fax="555-667788" />

Geldige XML:

<contact />

Als u de auteur niet wilt dwingen om de eigenschap op te nemen en u heeft geen optie voor een standaardwaarde, gebruik dan het sleutelwoord #IMPLIED.

#REQUIRED

Syntaxis

<!ATTLIST element_name attribute_name attribute_type #REQUIRED>

Voorbeeld

DTD:

<!ATTLIST person number CDATA #REQUIRED>

Geldige XML:

<person number="5677" />

Ongeldige XML:

<person />

Als u geen optie voor een standaardwaarde heeft, maar toch de auteur wilt dwingen om de eigenschap in te dienen, gebruik dan het sleutelwoord #REQUIRED.

#FIXED

Syntaxis

<!ATTLIST element_name attribute_name attribute_type #FIXED "value">

Voorbeeld

DTD:

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

Geldige XML:

<sender company="Microsoft" />

Ongeldige XML:

<sender company="W3School" />

Als u wilt dat de eigenschap een vaste waarde heeft en dat de auteur deze waarde niet mag wijzigen, gebruik dan het sleutelwoord #FIXED. Als de auteur een andere waarde gebruikt, zal de XML-parser een fout retourneren.

Lijst van eigenschappenwaarden

Syntaxis:

<!ATTLIST element_name attribute_name (en1|en2|..) default_value>

DTD voorbeeld:

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

XML voorbeeld:

<payment type="check" />

of

<payment type="cash" />

Gebruik een opsomming van eigenschappenwaarden als de waarde van de eigenschap een van een vastgestelde lijst van legitieme waarden moet zijn.