<xsl:attribute>-Element

Erstellt einen Attributknoten und fügt ihn einem Ausgabeelement hinzu.

<xsl:attribute
  name = "attribute-name"  
  namespace = "uri-reference">
</xsl:attribute>

Attribute

  • Name
    Erforderlich. Der Name des zu erstellenden Attributs. Wenn dieser Wert ein qualifizierter Name (QName) ist, wird der Attributknoten in dem Namespace erstellt, der gerade an das Präfix gebunden ist, sofern er nicht von einem namespace-Attribut überschrieben wurde. Der Wert des name-Attributs wird als Attributwertvorlage interpretiert (Ausdrücke in geschweiften Klammern werden ausgewertet und wie im <xsl:value-of>-Element in Zeichenfolgen konvertiert). Damit kann der Name des Attributs errechnet oder aus dem XML-Quelldokument abgerufen werden.

  • namespace
    Der Namespace-URI (Uniform Resource Identifier) des erstellten Attributs. Wenn das name-Attribut einen QName enthält, wird das darin angegebene Präfix an den im Namespaceattribut angegebenen Namespace gebunden. Dies führt beim Serialisieren möglicherweise zum Hinzufügen anderer Namespacedeklarationen. Dieser Wert wird als Attributwertvorlage interpretiert.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:template, xsl:variable, xsl:when, xsl:with-param

Untergeordnete Elemente

xsl:apply-imports, xsl:apply-templates, xsl:call-template, xsl:choose, xsl:copy, xsl:copy-of, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:number, xsl:text, xsl:value-of, xsl:variable

Hinweise

Der Inhalt dieses Elements gibt den Wert des Attributs an.

Attribute können bei der Transformation hinzugefügt oder geändert werden. Dazu wird das <xsl:attribute>-Element in Elemente eingefügt, die eine Ausgabe erzeugen (z. B. das <xsl:copy>-Element). Beachten Sie Folgendes: <xsl:attribute> kann direkt für Ausgabeelemente verwendet werden, nicht nur in Verbindung mit <xsl:element>.

Alle Attribute müssen angewendet werden, bevor dem Element untergeordnete Elemente hinzugefügt werden.

Beispiele

In diesem kurzen Beispiel wird ein Attribut generiert, das seinen Wert aus dem XML-Quelldokument erhält. Es wird eine Ausgabe der Form <IMG src="value-from-XML-source"/> generiert. Dazu wird ein XPath-Ausdruck verwendet, der die entsprechenden Daten aus dem XML-Quelldokument abruft (in diesem Beispiel "imagenames/imagename").

ms256165.collapse_all(de-de,VS.120).gifXSLT-Datei

<IMG>
  <xsl:attribute name="src">
    <xsl:value-of select="imagenames/imagename" />
  </xsl:attribute>
</IMG>

ms256165.collapse_all(de-de,VS.120).gifAusgabe

<IMG src=" imagenames/imagename"/>

Während das <xsl:attribute>-Element hilfreich beim dynamischen Erstellen von Ausgabeattributen sein kann, die vor der Transformation eines Dokuments nicht bekannt sind, ist die Verwendung dieses Elements nicht erforderlich, wenn die Attribute bereits bekannt sind. Im vorherigen Beispiel war möglicherweise bereits bekannt, dass ein IMG-Element ein src-Attribut enthalten muss. Da Ihnen diese Voraussetzung bereits vor der Transformation des Dokuments bekannt ist, müssen Sie das <xsl:attribute>-Element nicht verwenden. Sie können die Transformationssyntax vereinfachen und trotzdem zum gleichen Ergebnis gelangen wie bei der Verwendung der folgenden Vorgehensweise:

<IMG src="{imagenames/imagename}"/>

Mit dem <xsl:attribute>-Element anstelle von Attributwertvorlagen haben Sie folgende Möglichkeiten:

  • Ermitteln des Namens des Attributs.

  • Verwenden von Bedingungen, Vorlagen und Attributgruppen in Verbindung mit der Attributerstellung.

  • Hinzufügen von Attributen zu einem Element, das mit dem <xsl:copy>-Element oder dem <xsl:element>-Element generiert wurde.

Dieser Abschnitt enthält auch die folgenden ausführlichen Beispiele: