<xsl:variable>-Element

Gibt einen in einem Ausdruck gebundenen Wert an.

<xsl:variable
  name = QName
  select = Expression
</xsl:variable>

Attribute

  • Name
    Erforderlich. Der Qualifizierte Namen (XSLT) der Variablen.

  • select
    Der Wert des Attributs ist ein Ausdrücke (XSLT), und der Wert der Variablen ist das Objekt, das sich aus der Auswertung des Ausdrucks ergibt. Wenn dieses Attribut angegeben wurde, muss der Inhalt von <xsl:variable> leer sein.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:for-each, xsl:if, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:stylesheetxsl:template, xsl:variable, xsl:when, xsl:with-param, Ausgabeelemente

Untergeordnete Elemente

xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable, Ausgabeelemente

Hinweise

Der Wert der Variablen kann ein Objekt beliebigen Typs sein, der durch einen Ausdruck zurückgegeben werden kann. Es gibt drei Möglichkeiten, um mithilfe des <xsl:variable>-Elements den Wert der Variablen anzugeben:

  • Wenn das Element über ein select-Attribut verfügt, muss der Wert des Attributs ein Ausdruck sein. Der Wert der Variablen ist das Objekt, das sich aus der Auswertung des Ausdrucks ergibt. In diesem Fall muss der Inhalt des Elements leer sein.

  • Wenn das Element kein select-Attribut aufweist und der Inhalt nicht leer ist, d. h. ein oder mehr untergeordnete Knoten enthält, gibt der Inhalt den Wert an. Der Inhalt ist eine Vorlage, die instanziiert wird, um den Wert des Parameters zu liefern. Der Wert ist ein Äquivalent des Ergebnisstrukturfragments für eine Knotengruppe, die nur einen einzigen Stammknoten enthält und als untergeordnete Elemente die Folge von Knoten aufweist, die beim Instanziieren der Vorlage generiert wurden. Der Basis-URI (Uniform Resource Identifier) der Knoten im Ergebnisstrukturfragment ist der Basis-URI des Variablenbindungselements.

    Wenn es sich bei einem Member der beim Instanziieren der Vorlage erstellten Knotenfolge um einen Attributknoten oder einen Namespaceknoten handelt, tritt ein Fehler auf, weil ein Stammknoten keinen Attributknoten oder Namespaceknoten als untergeordnetes Element aufweisen darf.

  • Wenn der Inhalt leer ist und kein select-Attribut aufweist, ist der Wert der Variablen eine leere Zeichenfolge. Demnach ist

    <xsl:variable name="x"/>
    

    für die folgende Syntax:

    <xsl:variable name="x" select="''"/>
    

    Wenn Knoten mithilfe einer Variablen anhand der Position ausgewählt werden, sollten Sie Folgendes vermeiden:

    <xsl:variable name="n">2</xsl:variable>
    ...
    <xsl:value-of select="item[$n]"/>
    

    Dies gibt den Wert des ersten item-Elements aus, da die Variable "n" an das Ergebnisstrukturfragment gebunden wird; nicht an eine Zahl. Verwenden Sie stattdessen:

    <xsl:variable name="n" select="2"/>
    ...
    <xsl:value-of select="item[$n]"/>
    

    ... oder:

    <xsl:variable name="n">2</xsl:variable>
    ...
    <xsl:value-of select="item[number($n)]"/>
    

Siehe auch

Referenz

<xsl:param>-Element