Hi Adam,
You need to move the logic inside the variable, something like below:
<xsl:variable name="newURL">
<xsl:value-of select="$url"/>
<xsl:if test="child::area">
<xsl:text>?area=</xsl:text>
<xsl:value-of select="area"/>
</xsl:if>
<xsl:if test="child::action">
<xsl:text>?action=</xsl:text>
<xsl:value-of select="action"/>
</xsl:if>
<xsl:if test="child::page">
<xsl:text>?page=</xsl:text>
<xsl:value-of select="page"/>
</xsl:if>
</xsl:variable>
<xsl:value-of select="$newURL"/>
with
<xsl:param name="url" select="'http://www.example.com/test'"/>
and
<area>1</area>
<action>2</action>
<page>3</page>
in the source will give you
http://www.example.com/test?area=1?action=2?page=3
Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Adam J Knight wrote:
Hi all,
I am wanting to build dynamic urls in xslt by using string concatenation,
unless there is a better way. My stylesheet will be sent a $url parameter to
provide the base of the url. From their my logic is as follows:
<xsl:if test="child::area">
Building_url = $url and "?area=" and <xsl:value-of select="area"/>
</xsl:if>
<xsl:if test="child::action">
Building_url = $url and "&action=" and <xsl:value-of select="action"/>
</xsl:if>
<xsl:if test="child::page">
Building_url = $url and "&page=" and <xsl:value-of select="page"/>
</xsl:if>
I as I understand it, xsl variables can't be changed once given a value.
So what would be the best way to go about building these dynamic urls.
Help appreciated!
Cheers,
Adam
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--