xsl:variable

Syntax

<xsl:variable>
     Template-Body
</xsl:variable>


Postition

Top-Level Element, oder innerhalb des Template-Bodys


Attribute
Bezeichnung Wert Bedeutung
name QName Name der Variable
select Expression Wert der Variable

<xsl:variable>

definiert eine Variable. Sofern das [select] Attribut vorhanden ist, darf innerhalb des Elements kein Template-Body erscheinen. Nach ihrer Definition innerhalb des Template-Bodys kann ihr Wert nicht mehr geändert werden. Handelt es sich um eine lokale Varibale, ist sie nur innerhalb des Template-Bodys erreichbar.
Weist eine lokale Variable den gleichen Namen auf wie eine globale, erhält sie den Wert der globalen Variablen.

Top-Level Element: globale Variable

innerhalb des Template-Bodys: lokale Variable.


Definition

XSLT Kapitel 11


Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
<xsl:output method="html"/>

<xsl:variable name="customer-e-mail" select="/shop/customer/e-mail"/>

<xsl:template match="/">
     <HTML>
          <HEAD>
               <TITLE>Element: &lt;xsl:variable&gt; / Beispiel 01</TITLE>
          </HEAD>
          <BODY>
               <xsl:apply-templates select="shop"/>
          </BODY>
     </HTML>
</xsl:template>

<xsl:template match="shop">
     <TABLE BORDER="1">
          <TR>
               <TH WIDTH="150">Abteilung:</TH>
               <TH WIDTH="100">Artikel:</TH>
               <TH WIDTH="100">Preis:</TH>
          </TR>
          <xsl:apply-templates select="order/product"/>
     </TABLE>
     <A HREF="mailto:{$customer-e-mail}">E-Mail</A>
</xsl:template>

<xsl:template match="product">
     <xsl:variable name="lt">&lt;</xsl:variable>
     <xsl:variable name="gt">&gt;</xsl:variable>
     <TR>
          <TD><xsl:value-of select="@department"/></TD>
          <TD><xsl:value-of select="name"/></TD>
          <TD ALIGN="RIGHT">
               <xsl:value-of select="$lt"/>
               <xsl:value-of select="price"/>
               <xsl:text> </xsl:text>
               <xsl:value-of select="currency"/>
               <xsl:value-of select="$gt"/>
          </TD>
     </TR>
</xsl:template>

</xsl:stylesheet>


© 2001 by Timo Schäfer