Template call question

Subject: Template call question
From: "Paria Heidari" <pheidari@xxxxxxxxxxxxxx>
Date: Mon, 28 Jun 2004 11:19:52 -0400
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

Current Thread