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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Calling a vb.net function, Pieter Reint Siegers | Thread | RE: [xsl] Template call question, Michael Kay |
RE: [xsl] ask for retrive informat, Michael Kay | Date | value-of select="" on source XML wh, Jan Kohnert |
Month |