DTD - Attribute

In der DTD werden Eigenschaften durch die ATTLIST-Deklaration erklärt.

Eigenschaft erklären

Die Syntax der Eigenschaftserklärung ist wie folgt:

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

DTD-Beispiel:

<!ATTLIST payment type CDATA "check">

XML-Beispiel:

<payment type="check" />

Hier sindEigenschaftstypOptionen:

Typ Beschreibung
CDATA Der Wert ist Zeichenfolge (character data)
(en1|en2|..) Dieser Wert ist ein Wert aus der Liste der Enumerations
ID Der Wert ist eine eindeutige ID
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 eine Entität
ENTITIES Der Wert ist eine Liste von Entitäten
NOTATION Dieser Wert ist der Name des Symbols
xml: Der Wert ist ein vorgegebenes XML-Wert

Der Standardwertparameter kann die folgenden Werte verwenden:

Wert Erklärung
Wert Standardwert der Eigenschaft
#REQUIRED Der Wert der Eigenschaft ist erforderlich
#IMPLIED Die Eigenschaft ist nicht erforderlich
#FIXED value Der Wert ist fest

Definieren Sie einen Standardwert für die Eigenschaft

DTD:

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

Gültiges XML:

<square width="100" />

In diesem Beispiel wird "square" als leeres Element definiert, das die Eigenschaft "width" mit dem CDATA-Typ hat. Wenn die Breite nicht festgelegt ist, beträgt der Standardwert 0.

#IMPLIED

Syntax

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

Beispiel

DTD:

<!ATTLIST contact fax CDATA #IMPLIED>

Gültiges XML:

<contact fax="555-667788" />

Gültiges XML:

<contact />

Wenn Sie nicht möchten, dass der Autor die Eigenschaft zwingend enthält und Sie keine Standardwertoption haben, verwenden Sie den Schlüsselwort #IMPLIED.

#REQUIRED

Syntax

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

Beispiel

DTD:

<!ATTLIST person number CDATA #REQUIRED>

Gültiges XML:

<person number="5677" />

Ungültiges XML:

<person />

Wenn Sie keine Option für Standardwerte haben, aber dennoch möchten, dass der Autor das Attribut zwingend eingibt, verwenden Sie das Schlüsselwort #REQUIRED.

#FIXED

Syntax

<!ATTLIST Elementname Attributname Attributtyp #FIXED "Wert">

Beispiel

DTD:

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

Gültiges XML:

<sender company="Microsoft" />

Ungültiges XML:

<sender company="W3School" />

Wenn Sie wünschen, dass ein Attribut einen festen Wert hat und der Autor diesen Wert nicht ändern kann, verwenden Sie das Schlüsselwort #FIXED. Verwendet der Autor einen anderen Wert, gibt der XML-Parser einen Fehler zurück.

Aufzählungsattributwerte

Syntax:

<!ATTLIST Elementname Attributname (en1|en2|..) Standardwert>

DTD-Beispiel:

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

XML-Beispiel:

<payment type="check" />

oder

<payment type="cash" />

Wenn Sie eine Reihe festgelegter gültiger Werte als eines der möglichen Wertebereiche für den Attributwert verwenden möchten, verwenden Sie die Aufzählungsattributwerte.