XML - Attribute

Dieses Kapitel beschreibt die XML attributes. Attribute sind Teil von XML-Elementen. Ein Element kann mehrere eindeutige Attribute haben. Das Attribut enthält weitere Informationen zu XML-Elementen. Genauer gesagt definieren sie Eigenschaften von Elementen. Ein XML-Attribut ist immer ein Name-Wert-Paar.

Syntax

Ein XML-Attribut hat die folgende Syntax:

<element-name attribute1 attribute2 >
....content..
< /element-name>

Dabei haben Attribut1 und Attribut2 die folgende Form:

name = "value"

Der Wert muss in doppelten ("") oder einfachen ('') Anführungszeichen stehen. Hier sind Attribut1 und Attribut2 eindeutige Attributbezeichnungen.

Attribute werden verwendet, um einem Element eine eindeutige Bezeichnung hinzuzufügen, die Bezeichnung in eine Kategorie einzufügen, ein Boolesches Flag hinzuzufügen oder sie auf andere Weise einer Datenfolge zuzuordnen. Das folgende Beispiel zeigt die Verwendung von Attributen -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
   <!ELEMENT garden (plants)*>
   <!ELEMENT plants (#PCDATA)>
   <!ATTLIST plants category CDATA #REQUIRED>
]>

<garden>
   <plants category = "flowers" />
   <plants category = "shrubs">
   </plants>
</garden>

Attribute werden verwendet, um zwischen gleichnamigen Elementen zu unterscheiden, wenn Sie nicht für jede Situation ein neues Element erstellen möchten. Daher kann die Verwendung eines Attributs bei der Unterscheidung von zwei oder mehr ähnlichen Elementen etwas detaillierter sein.

Im obigen Beispiel haben wir die Pflanzen kategorisiert, indem wir die Attributkategorie einbezogen und jedem der Elemente unterschiedliche Werte zugewiesen haben. Daher haben wir zwei Kategorien von Pflanzen , eine Blume und andere Sträucher . Wir haben also zwei Pflanzenelemente mit unterschiedlichen Attributen.

Sie können auch beobachten, dass wir dieses Attribut zu Beginn von XML deklariert haben.

Attributtypen

Die folgende Tabelle listet die Art der Attribute auf -

Attributtyp Beschreibung
StringType Es wird eine beliebige Literalzeichenfolge als Wert verwendet. CDATA ist ein StringType. CDATA sind Zeichendaten. Dies bedeutet, dass jede Zeichenfolge von Nicht-Markup-Zeichen ein zulässiger Bestandteil des Attributs ist.
TokenizedType

Dies ist ein eingeschränkterer Typ. Die in der Grammatik angegebenen Gültigkeitsbeschränkungen werden angewendet, nachdem der Attributwert normalisiert wurde. Die TokenizedType-Attribute werden wie folgt angegeben:

  • ID - Es wird verwendet, um das Element als eindeutig anzugeben.

  • IDREF - Es wird verwendet, um auf eine ID zu verweisen, die für ein anderes Element benannt wurde.

  • IDREFS - Es wird verwendet, um alle IDs eines Elements zu referenzieren.

  • ENTITY - Es zeigt an, dass das Attribut eine externe Entität im Dokument darstellt.

  • ENTITIES - Es zeigt an, dass das Attribut externe Entitäten im Dokument darstellt.

  • NMTOKEN - Es ähnelt CDATA mit Einschränkungen, welche Daten Teil des Attributs sein können.

  • NMTOKENS - Es ähnelt CDATA mit Einschränkungen, welche Daten Teil des Attributs sein können.

EnumeratedType

Die Deklaration enthält eine Liste vordefinierter Werte. von denen muss es einen Wert zuweisen. Es gibt zwei Arten von aufgezählten Attributen:

  • NotationType - Es wird deklariert, dass ein Element auf eine NOTATION verweist, die an einer anderen Stelle im XML-Dokument deklariert ist.

  • Enumeration - Mit der Aufzählung können Sie eine bestimmte Liste von Werten definieren, mit denen der Attributwert übereinstimmen muss.

Elementattributregeln

Im Folgenden sind die Regeln aufgeführt, die für Attribute befolgt werden müssen:

  • Ein Attributname darf nicht mehr als einmal im selben Start-Tag oder Leerelement-Tag vorkommen.

  • Ein Attribut muss in der Dokumenttypdefinition (DTD) mithilfe einer Attributlistendeklaration deklariert werden.

  • Attributwerte dürfen keine direkten oder indirekten Entitätsverweise auf externe Entitäten enthalten.

  • Der Ersetzungstext einer Entität, auf die in einem Attributwert direkt oder indirekt verwiesen wird, darf kein Zeichen kleiner als enthalten (<)