xsl-list
[Top] [All Lists]

Re: Building Dynamic Urls

2005-05-07 01:28:02
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>