DTD - Eigenschappen
- Vorige pagina DTD Elementen
- Volgende pagina DTD Entiteiten
In de DTD worden eigenschappen gedeclareerd via de ATTLIST-verklaring.
Verklaren eigenschappen
De syntaxis voor eigenschapsverklaringen is als volgt:
<!ATTLIST element-name attribute-name attribute-type default-value>
DTD-instantie:
<!ATTLIST payment type CDATA "check">
XML-instantie:
<payment type="check" />
Hier zijnEigenschapstypeOpties:
Type | Beschrijving |
---|---|
CDATA | De waarde is karaktersdata (character data) |
(en1|en2|..) | Deze waarde is een waarde uit een lijst van enumeraties |
ID | De waarde is een unieke id |
IDREF | De waarde is de id van een ander element |
IDREFS | De waarde is een lijst van andere id's |
NMTOKEN | De waarde is een geldige XML-naam |
NMTOKENS | De waarde is een lijst van geldige XML-namen |
ENTITY | De waarde is een entiteit |
ENTITIES | De waarde is een lijst van entiteiten |
NOTATION | Deze waarde is de naam van het symbool |
xml: | De waarde is een voorgedefinieerde XML-waarde |
De standaardwaardeparameter kan de volgende waarden gebruiken:
Waarde | Uitleg |
---|---|
Waarde | De standaardwaarde van de eigenschap |
#REQUIRED | De waarde van de eigenschap is vereist |
#IMPLIED | De eigenschap is niet vereist |
#FIXED value | De waarde van de eigenschap is vast |
Definieer een standaard eigenschapswaarde
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 eigenschap "width" van het type CDATA. Als de breedte niet is ingesteld, is de standaardwaarde 0.
#IMPLIED
Syntax
<!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 niet wilt dat de auteur de eigenschap verplicht opneemt en u heeft geen standaardwaardeoptie, gebruik dan het trefwoord #IMPLIED.
#REQUIRED
Syntax
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
Voorbeeld
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Geldige XML:
<person number="5677" />
Ongeldige XML:
<person />
Als je geen standaardwaardeoptie hebt, maar je wilt de auteur nog steeds verplichten om de eigenschap in te dienen, gebruik dan het keyword #REQUIRED.
#FIXED
Syntax
<!ATTLIST ElementNaam EigenschapsNaam Eigenschapstype #FIXED "waarde">
Voorbeeld
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Geldige XML:
<sender company="Microsoft" />
Ongeldige XML:
<sender company="W3School" />
Als je de waarde van de eigenschap wilt hebben die vast staat en niet mag worden gewijzigd door de auteur, gebruik dan het woord #FIXED. Als de auteur een andere waarde gebruikt, zal de XML-parser een fout retourneren.
Opsommingseigenschappen
Syntax:
<!ATTLIST ElementNaam EigenschapsNaam (en1|en2|..) Standaardwaarde>
DTD Voorbeeld:
<!ATTLIST payment type (check|cash) "cash">
XML Voorbeeld:
<payment type="check" />
Of
<payment type="cash" />
Als je de waarde van de eigenschap een van een reeks vaste geldige waarden wilt hebben, gebruik dan de opsommingseigenschappen.
- Vorige pagina DTD Elementen
- Volgende pagina DTD Entiteiten