[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Modify Value of a Parameter Globally Within a Template
Subject: [xsl] Modify Value of a Parameter Globally Within a Template From: Lisa Jiang <ljiang@xxxxxxxxx> Date: Mon, 12 Nov 2012 12:07:11 -0500 |
Dear All, Is there a specific way to change the value of a parameter within a call to another template and then use the resulting value for tests in the original template? Or just change the value of a parameter within a template that then reflects globally? I've included some simple, example code on what I would like to do. So say the default parameter of 'flavor' is set globally outside all the templates. The main template then calls the 'order' template, which is where I'm trying to change 'flavor'. Then after 'order' is called, I then want to check whether or not the 'flavor' was changed. I tried to do it using 'with-param' in the 'order' template (shown in the example), but for some reason it does not work. It throws errors in other 'when' loops around it. I don't think the problem is with other parts of the code, because the code runs perfectly fine without the with-param change added. Is there something special I have to do to change the parameter or is there a better way to do what I want? I'm restricted to XSLT version 1.0. Thanks in advance! Lisa <xsl:stylesheet> <xsl:param name="flavor" select=" 'vanilla' "/> <xsl:param name="dessert" select=" 'brownie' "/> <xsl:param name="hungry" select=" 'true' "/> <xsl:template match="/"> <xsl:element name="{$wrapper}" namespace="http://www.namespace.com"> <xsl:call-template name="order"/> <xsl:choose> <xsl:when test=" $flavor = 'chocolate' "> <! ... do something ... -> </xsl:when> <xsl:otherwise> <! ... do something else ... -> </xsl:otherwise> </xsl:choose> </xsl:element> </xsl:template> <xsl:template name="order"> <xsl:variable name="action"> <xsl:choose> <xsl:when test=" $hungry = 'true' "> <xsl:choose> <xsl:when test=" $dessert = 'brownie' "> <xsl:value-of select=" 'order_brownie' "/> </xsl:when> <xsl:otherwise> <xsl:value-of select=" 'order_ice_cream' "/> <xsl:with-param name="$ice_cream" select=" 'chocolate' "/> </xsl:otherwise> </xsl:choose> </xsl:when> </xsl:choose> </xsl:variable> </xsl:template> </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] [XSLT 3.0] A more efficie, Michael Kay | Thread | Re: [xsl] Modify Value of a Paramet, Liam R E Quin |
Re: [xsl] [XSLT 3.0] A more efficie, Michael Kay | Date | Re: [xsl] Modify Value of a Paramet, Liam R E Quin |
Month |
Keywords