In einer DTD, Attribute werden mit einer ATTLIST Erklärung erklärt.
deklarieren Attribute
Eine Attributdeklaration hat die folgende Syntax:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
Das attribute-type kann einer der folgenden sein:
Art | Beschreibung |
---|---|
CDATA | Der Wert ist Zeichendaten |
( en1 | en2 |..) | Der Wert muss man von einer Aufzählungsliste sein |
ID | Der Wert ist eine eindeutige Kennung |
IDREF | Der Wert ist die ID eines anderen Elements |
IDREFS | Der Wert ist eine Liste von anderen ids |
NMTOKEN | Der Wert ist ein gültiger XML-Name |
NMTOKENS | Der Wert ist eine Liste von gültigen XML-Namen |
ENTITY | Der Wert ist ein Unternehmen, |
ENTITIES | Der Wert ist eine Liste von Entitäten |
NOTATION | Der Wert ist ein Name einer Notation |
xml: | Der Wert ist ein vordefiniertes XML-Wert |
Das attribute-value kann einer der folgenden sein:
Wert | Erläuterung |
---|---|
value | Der Standardwert des Attributs |
#REQUIRED | Das Attribut ist erforderlich |
#IMPLIED | Das Attribut ist optional |
#FIXED value | Der Attributwert ist fest |
Ein Standard-Attributwert
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
In dem obigen Beispiel das "square" ist Element definiert ein leeres Element mit einer zu sein "width" Attribut des Typs CDATA. Wenn keine Breite angegeben ist, hat es einen Standardwert von 0.
#ERFORDERLICH
Syntax
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
Beispiel
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
Verwenden Sie das #REQUIRED Schlüsselwort, wenn Sie nicht eine Option für einen Standardwert haben, aber immer noch wollen, um das Attribut zu zwingen, anwesend zu sein.
#IMPLIED
Syntax
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
Beispiel
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
Verwenden Sie das #IMPLIED Schlüsselwort, wenn Sie nicht den Autor zwingen wollen, um ein Attribut enthalten, und Sie haben nicht eine Option für einen Standardwert.
#FIXED
Syntax
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
Beispiel
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="w3ii" />
Verwenden Sie das #FIXED Schlüsselwort, wenn Sie ein Attribut wollen den Autor einen festen Wert zu haben, ohne dass es zu ändern. Wenn ein Autor einen anderen Wert enthält, wird der XML-Parser einen Fehler zurück.
Aufzählungsattributwerte
Syntax
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
Beispiel
DTD:
<!ATTLIST payment type (check|cash) "cash">
XML example:
<payment type="check" />
or
<payment type="cash" />
Verwenden Sie Aufzählungsattributwerte, wenn Sie der Attributwert wollen eine von einem festen Satz von zulässigen Werte zu sein.