In diesem Kapitel werden wir diskutieren über DTD Attribute. Attribut gibt weitere Informationen zu einem Element oder genauer er eine Eigenschaft eines Elements definiert. Eine XML-Attribut ist immer in der Form eines Name-Wert-Paar. Ein Element kann eine beliebige Anzahl von einzigartigen Eigenschaften haben.
Attribut Erklärung ist sehr ähnlich zu Elementdeklarationen in vielerlei Hinsicht eine Ausnahme; Statt zu erklären zulässige Inhalte für Elemente, erklären Sie, eine Liste der zulässigen Attribute für jedes Element. Diese Listen werden ATTLIST Erklärung genannt.
Grundlagen der Syntax von DTD-Attribute Erklärung lautet wie folgt:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
In der obigen Syntax
The DTD attributes begin with<!ATTLIST Schlüsselwort ein, wenn das Element das Attribut enthält.
-Element-Namen gibt den Namen des Elements, dem das Attribut gilt.
Attribut-Namen gibt den Namen des Attributs, die mit dem Element-Namen enthalten ist.
Attribut-Typ definiert die Art der Attribute. Wir werden mehr dazu in den folgenden Abschnitten diskutieren.
Attribut-Wert nimmt einen festen Wert, dass die Attribute definieren müssen. Wir werden mehr dazu in den folgenden Abschnitten diskutieren.
unten ist ein einfaches Beispiel für Attribut-Deklaration in DTD:
<?xml version = "1.0"?> <!DOCTYPE address [ <!ELEMENT address ( name )> <!ELEMENT name ( #PCDATA )> <!ATTLIST name id CDATA #REQUIRED> ]> <address> <name id="123">Tanmay Patil</name> </address>
Lassen Sie uns durch den obigen Code zu gehen:
Beginnen Sie mit der XML-Deklaration mit folgender Erklärung:
<?xml version = "1.0"?>
Unmittelbar folgende die XML-Header wird die Dokumenttyp-Deklaration, die allgemein als die DOCTYPE:
<!DOCTYPE address [
Die DOCTYPE informiert den Parser, der eine DTD mit diesem XML-Dokument verbunden. Die DOCTYPE-Deklaration mit einem Ausrufezeichen (!) Zu Beginn der Elementnamen.
folgende ist Leib DTD. Hier haben wir erklärt haben, Elemente und Attribute:
<!ELEMENT address ( name )> <!ELEMENT name ( #PCDATA )>
Attribut id für das Element name definiert ist als:
<!ATTLIST name id CDATA #REQUIRED>
Hier Attributtyp Ist CDATA und sein Wert ist #REQUIRED.
Alle Attribute in einem XML-Dokument verwendet, müssen in der Document Type Definition (DTD) unter Verwendung deklariert werden eine Attributlisten-Deklaration
Attribute können nur in Start oder leere Tags angezeigt.
Das schlüsselwort ATTLIST müssen sein in Großbuchstaben sein se
erlaubt innerhalb
wenn erklärt Attribute können Sie festlegen, wie der Prozessor sollte die Daten, die in dem Wert erscheint behandeln. Wir können Attributtypen in drei Hauptkategorien einordnen:
String Typ
tokenized Typ
Aufzählungstypen
Die folgende Tabelle bietet eine Zusammenfassung der verschiedenen Attributtypen:
Typ | Beschreibung |
---|---|
CDATA | CDATA Zeichendaten (Text und nicht-Markup). Es ist ein String Attribut Typ. |
ID | Es ist eine eindeutige Kennzeichnung des Attributs. Es sollte nicht mehr als einmal erscheinen. Es ist ein Tokenized Attribut Typ. |
IDREF | Es wird verwendet, um eine ID eines anderen Elements zu verweisen. Es wird verwendet, um Verbindungen zwischen Elementen herzustellen. Es ist ein Tokenized Attribut Typ. |
IDREFS | Es wird verwendet zu verweisen mehrfache IDs. Es ist ein Tokenized Attribut Typ. |
ENTITY | Es repräsentiert eine externe Einheit in dem Dokument. Es ist einTokenized Attribut Typ. |
ENTITIES | Es repräsentiert eine Liste von externen entities im Dokument. Es ist ein Tokenized Attribut Typ. |
NMTOKEN | Es ist ähnlich wie CDATA und der Attributwert besteht von einem gültigen XML-Namen. Es ist ein Tokenized Attribut Typ. |
NMTOKENS | Es ist ähnlich wie CDATA und der Attributwert besteht von Liste von gültigen XML-Namen. Es ist ein Tokenized Attribut Typ. |
NOTATION | Ein Element wird zu einer Notation in der DTD-Dokument erklärt referenziert werden. Es ist eine Aufzählungs Attribut Type. |
Enumeration | Es ermöglicht definieren die eine bestimmte Liste von Werte wo einer der Werte übereinstimmen muss. Es ist eine Aufzählungs Attribut Typ. |
In jedem Attribut-Deklaration, müssen Sie angeben, wie der Wert wird im Dokument angezeigt. Sie können angeben, wenn Sie ein Attribut:
kann einen Standardwert haben
kann einen festen Wert haben
erforderlich
wird angedeutet
Es enthält den Standardwert. Die Werte können eingeschlossen in einfache Anführungszeichen (') oder doppelte Anführungszeichen (")
Syntaxfolgende ist die Syntax-Wert::
<!ATTLIST element-name attribute-name attribute-type "default-value">
wo Standardwerte ist die Attributwert definierte.
Beispielfolgende ein einfaches Beispiel für Attribut-Deklaration mit Default-Wert:
<?xml version = "1.0"?> <!DOCTYPE address [ <!ELEMENT address ( name )> <!ELEMENT name ( #PCDATA )> <!ATTLIST name id CDATA "0"> ]> <address> <name id="123"> Tanmay Patil </name> </address>
In diesem Beispiel haben wir name Element mit dem Attribut id dessen Standardwert ist 0. Der Standardwert wird innerhalb der Anführungszeichen worden.
#FIXED Schlüsselwort, gefolgt von der Festwert wird verwendet, wenn Sie angeben, dass der Attributwert ist konstant und kann nicht geändert werden soll. Eine gemeinsame Nutzung von festen Attribut ist die Angabe Versionsnummern.
SyntaxFolgende ist die Syntax von Festwerten:
<!ATTLIST element-name attribute-name attribute-type #FIXED "value" >
wo #FIXED ist ein Attribut-Wert definiert.
Beispielfolgende ein einfaches Beispiel für Attribut-Deklaration mit Festwert:
<?xml version="1.0"?> <!DOCTYPE address [ <!ELEMENT address (company)*> <!ELEMENT company (#PCDATA)> <!ATTLIST company name NMTOKEN #FIXED "howcodex"> ]> <address> <company name="howcodex">we are a free online teaching faculty</company> </address>
In diesem Beispiel haben wir das Stichwort #FIXED, wo es zeigt, dass der Wert "howcodex" ist der einzige Wert für das Attribut verwendetname von Element <Unternehmen >. Wenn wir versuchen, den Attributwert dann ändern Sie es gibt einen Fehler.
folgende ist ein ungültiges DTD:
<?xml version="1.0"?> <!DOCTYPE address [ <!ELEMENT address (company)*> <!ELEMENT company (#PCDATA)> <!ATTLIST company name NMTOKEN #FIXED "howcodex"> ]> <address> <company name="abc">we are a free online teaching faculty</company> </address>
wann auch immer Sie möchten angeben dass ein Attribut erforderlich ist, verwenden #REQUIRED Schlüsselwort.
SyntaxFolgende ist die Syntax der #REQUIRED:
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
wo #REQUIRED ist ein Attribut Typ definiert.
Beispielfolgende ist ein einfaches Beispiel für DTD Attributdeklaration mit #REQUIRED Stichwort:
<?xml version = "1.0"?> <!DOCTYPE address [ <!ELEMENT address ( name )> <!ELEMENT name ( #PCDATA )> <!ATTLIST name id CDATA #REQUIRED> ]> <address> <name id="123"> Tanmay Patil </name> </address>
n diesem Beispiel haben wir #REQUIRED Schlüsselwort verwendet, um anzugeben, dass das Attribut id muss zur Verfügung gestellt werden für das Element-name name
Wenn der Deklaration Attribute müssen Sie immer einen Wert Erklärung. Wenn das Attribut, erklären Sie keinen Standardwert hat, hat keinen festen Wert, und ist nicht verpflichtet, müssen Sie erklären, dass das Attribut als impliziert. Stichwort #IMPLIED wird verwendet, um ein Attribut als angeben impliziert.
Syntaxfolgende ist die Syntax der #IMPLIED:
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
wo #IMPLIED ist ein Attribut Typ definiert.
Beispielfolgende ist ein einfaches Beispiel für #IMPLIED
<?xml version = "1.0"?> <!DOCTYPE address [ <!ELEMENT address ( name )> <!ELEMENT name ( #PCDATA )> <!ATTLIST name id CDATA #IMPLIED> ]> <address> <name /> </address>
In diesem Beispiel haben wir das Schlüsselwort verwendet #IMPLIED wie wir wollen nicht alle Attribute angeben in Element enthalten seinname. Es ist optional.