xsl:param

Syntax

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


Postition

Top-Level Element, oder unmittelbar nach einem <xsl:template> Element


Attribute
Bezeichnung Wert Bedeutung
name QName Name des Parameters
select Expression Default-Wert des Parameters

<xsl:param>

definiert einen Parameter, der einen leeren String enthält, sofern ihm kein Wert zugewiesen worden ist. Falls das [select] Attribut vorhanden ist, darf kein Template-Body innerhalb des Elements auftauchen. Dann handelt es sich um einen Default-Wert, der mittels eines Template-Aufrufs, in Verbindung mit dem <xsl:with-param> Element, überschrieben werden kann.


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:param name="customer-e-mail" select="/shop/customer/e-mail"/>

<xsl:template match="/">
     <HTML>
          <HEAD>
               <TITLE>Element: &lt;xsl:param&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">
               <xsl:with-param name="info">Sonderangebot</xsl:with-param>
          </xsl:apply-templates>
     </TABLE>
     <A HREF="mailto:{$customer-e-mail}">E-Mail</A>
</xsl:template>

<xsl:template match="product">
     <!-- Hinweis: -->
     <!-- der Text innerhalb des select Attributs befindet sich innerhalb von einfachen Anführungsstrichen -->
     <!-- andernfalls würde es sich um einen Knoten mit dem Namen des Textes handeln -->
     <xsl:param name="info" select="'Sonderprodukt'"/>
     <TR>
          <TD><xsl:value-of select="@department"/></TD>
          <TD>
               <xsl:if test="@department = 'A01'">
                    <xsl:text>Sonderangebot: </xsl:text>
               </xsl:if>
               <xsl:value-of select="name"/>
          </TD>
          <TD ALIGN="RIGHT">
               <xsl:value-of select="price"/>
               <xsl:text> </xsl:text>
               <xsl:value-of select="currency"/>
          </TD>
     </TR>
</xsl:template>

</xsl:stylesheet>


© 2001 by Timo Schäfer