xsl-list
[Top] [All Lists]

Template call question

2004-06-28 08:19:52
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


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