Attribute

Mithilfe von Attributen können Sie mithilfe von Name-Wert-Paaren Informationen über ein Element hinzufügen. Mit Attributen werden häufig Eigenschaften von Elementen definiert, die nicht als Inhalt des Elements angesehen werden. In einigen Fällen (z. B. beim img-HTML-Element) wird jedoch der Inhalt des Elements anhand von Attributwerten bestimmt.

Attribute können in Starttags oder leeren Tags enthalten sein, jedoch nicht in Endtags. Die Syntax sieht wie folgt aus:

<elementName att1Name="att1Value" att2Name="att2Value"...>

oder:

<elementName att1Name="att1Value" att2Name="att2Value".../>

Attribute müssen sowohl einen Namen als auch einen Wert aufweisen. Namen ohne Werte sind unzulässig. Ein Element kann nicht über zwei Attribute mit demselben Namen verfügen. Da die Reihenfolge von Attributen innerhalb eines Elements in XML als irrelevant angesehen wird, wird diese vom XML-Parser möglicherweise nicht beibehalten.

Wie bei Elementnamen muss bei Attributnamen die Groß- und Kleinschreibung berücksichtigt werden, und sie müssen mit einem Buchstaben oder mit einem Unterstrich beginnen. Der Rest des Namens kann Buchstaben, Ziffern, Bindestriche, Unterstriche und Punkte enthalten.

ms256152.note(de-de,VS.100).gifHinweis:
Doppelpunkte sind für die Verwendung mit Namespaces reserviert.Weitere Informationen über Buchstaben und Ziffern, die akzeptable Unicode-Zeichen darstellen, finden Sie in Anhang B der XML-Spezifikation.

Für Attributwerte gelten dieselben Regeln wie für normalen Textinhalt. Darüber hinaus gelten jedoch einige weitere Einschränkungen. Attributwerte dürfen nur Text und kein Elementmarkup enthalten. Entitäts- und Zeichenverweise sind in Attributwerten zulässig, CDATA-Abschnitte hingegen sind unzulässig.

Anführungszeichen müssen ggf. mit einem Escapezeichen versehen werden. Die XML-Spezifikation lässt zu, dass Attribute sowohl mit einfachen als auch mit doppelten Anführungszeichen angegeben werden. Auf beiden Seiten des Attributwerts muss jedoch derselbe Typ von Anführungszeichen verwendet werden. Attributwerte müssen jedoch in Anführungszeichen eingeschlossen werden. Dokumente, in denen Attributwerte nicht in Anführungszeichen eingeschlossen sind, werden von XML-Parsern einfach zurückgewiesen, und es wird ein Fehler ausgegeben.

Wenn Sie einen Attributwert mithilfe von einfachen Anführungszeichen angeben, müssen Sie mithilfe des &apos;-Entitätsverweises einfache Anführungszeichen innerhalb des Attributwerts angeben.

<myElement contraction='isn&apos;t' />

Wenn Sie einen Attributwert mithilfe von doppelten Anführungszeichen angeben, müssen Sie mithilfe des &quot;-Entitätsverweises doppelte Anführungszeichen innerhalb des Attributwerts angeben.

<myElement question="They asked &quot;Why?&quot;" />

Sie können jedoch innerhalb von Attributwerten in einfachen Anführungszeichen doppelte Anführungszeichen verwenden (und umgekehrt), wie in den folgenden Beispielen veranschaulicht.

<myElement contraction="isn't" />
<myElement question='They asked "Why?"' />

Sie können außerdem für verschiedene Attributwerte innerhalb eines Elements unterschiedliche Typen von Anführungszeichen verwenden.

<myElement contraction="isn't" question='They asked "Why?"' />

XML-Parser behalten den Leerraum innerhalb von Attributwerten nicht auf dieselbe Weise bei, wie Leeraum in Textinhalt von Elementen beibehalten wird. In einem validierenden Parser mit Zugriff auf eine DTD wird der gesamte Leerraum in einem Attributwert von einem anderen Typ als CDATA durch ein einziges Leerzeichen ersetzt. Leerraum am Anfang und am Ende wird entfernt.