Hello,
I have not been able to post my question directly - so I am replying to
one of the posting hoping someone will help me out.
I have a problem with using the xsl:with-param name in <xsl:choose>
without loosing it's value.
The value of the PREV_URL is correct here at top of the template but not
after the for-each loop.
-----------------------------------------------------------------
I have the following xslt:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/>
<xsl:variable name="MYPARENT" select="Redirect_URL_Comparison/QUERY1"/>
<xsl:template match="Redirect_URL_Comparison">
<table>
<xsl:variable name="ORG_URL"
select="QUERY1/row/VWCAMPAIGNREDIRECT.AR_URL"/>
<xsl:variable name="NEW_URL" select="NONE"/>
<tr>
<td>name:</td>
<td>
<xsl:value-of
select="$MYPARENT/row/VWCAMPAIGNREDIRECT.AR_NAME"/>
</td>
</tr>
<tr>
<td>url:</td>
<td>
<xsl:value-of
select="$MYPARENT/row/VWCAMPAIGNREDIRECT.AR_URL"/>
</td>
</tr>
<xsl:for-each select="QUERY1">
<xsl:sort select="row/VWCAMPAIGNREDIRECT.AR_URL"/>
<xsl:call-template name="get_url">
<xsl:with-param name="PREV_URL"/>
<xsl:with-param name="CURR_URL" select="$ORG_URL"/>
</xsl:call-template>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="get_url">
<xsl:param name="PREV_URL"/>
<xsl:param name="CURR_URL"/>
<xsl:for-each
select="$MYPARENT/row[VWCAMPAIGNREDIRECT.AR_URL=$CURR_URL]">
<tr>
<xsl:choose>
<xsl:when
test="((normalize-space($CURR_URL)=normalize-space(VWCAMPAIGNREDIRECT.AR
_URL)) )">
<tr>
<td>ID:</td>
<td>
<xsl:value-of select="VWCAMPAIGNREDIRECT.AC_ID"/>
</td>
<td>NAME:</td>
<td>
<xsl:value-of select="VWCAMPAIGNREDIRECT.AC_NAME"/>
</td>
<td>TYPE:</td>
<td>
<xsl:value-of
select="VWCAMPAIGNREDIRECT.AR_CLICK_TYPE"/>
</td>
<td></td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr>
<td>name:</td>
<td>
<xsl:value-of
select="VWCAMPAIGNREDIRECT.AR_NAME"/>
</td>
</tr>
<tr>
<td>url:</td>
<td>
<xsl:value-of
select="VWCAMPAIGNREDIRECT.AR_URL"/>
</td>
</tr>
<xsl:call-template name="get_url">
<xsl:with-param name="PREV_URL" select="$CURR_URL"/>
<xsl:with-param name="CURR_URL"
select="VWCAMPAIGNREDIRECT.AR_URL"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------------------------------
-
And the following XML file:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl"
href="C:\Dev\WebRoot\AV4\WEB-INF\reports\xslt\dummy.xslt"?>
<Redirect_URL_Comparison>
<reportdate>Thu Jun 03 16:39:25 EDT 2004</reportdate>
<QUERY1>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>6</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>TestURL</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>12</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test1campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>7</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>TestURL</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>13</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test11campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>8</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>TestURL</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>14</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test111campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>9</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>TestURL7</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test7.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>14</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test2campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>1</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>Test8URL</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test7.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>14</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test22campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>2</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>Test8URL</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test8.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>14</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test3campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
<row>
<VWCAMPAIGNREDIRECT.AR_ID>2</VWCAMPAIGNREDIRECT.AR_ID>
<VWCAMPAIGNREDIRECT.AR_NAME>Test8URL</VWCAMPAIGNREDIRECT.AR_NAME>
<VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>1</VWCAMPAIGNREDIRECT.AR_CLICK_TYPE>
<VWCAMPAIGNREDIRECT.AR_URL>www.test8.com</VWCAMPAIGNREDIRECT.AR_URL>
<VWCAMPAIGNREDIRECT.AC_ID>14</VWCAMPAIGNREDIRECT.AC_ID>
<VWCAMPAIGNREDIRECT.AC_NAME>test33campaign</VWCAMPAIGNREDIRECT.AC_NAME>
</row>
</QUERY1>
</Redirect_URL_Comparison>
------------------------------
I'd appreciate any help or idea,
Paria