xsl-list
[Top] [All Lists]

Re: genarate key using a variable

2003-09-01 01:25:11
With XSLT 1.0 you cannot keep 'match' and 'use'
attributes of xsl:key as variables. I can suggest a
workaround though ;)

You can have two variables lets say var1 and var2
passed as parameters to stylesheet. These variables
will identify *which key you must use* in the XSLT.

for e.g. the XSLT will be like --
<xsl:param name="var1"/>
<xsl:param name="var2"/>

<xsl:key name="x" match="something" use="@Deposit"/>
<xsl:key name="y" match="something" use="@Something"/>

<xsl:if test="$var1 = 1">
  <xsl:for-each select="key('x',$var2)">
    <!-- do some processing -->
  </xsl:for-each> 
</xsl:if>

<xsl:if test="$var1 = 2">
  <xsl:for-each select="key('y',$var2)">
    <!-- do some processing -->
  </xsl:for-each> 
</xsl:if>

<!-- more ifs if required .. -->

In this way you are able to parameterize the
processing. The workaround is --
1. Define multiple xsl:keys in the XLST
2. Pass the paremeters to XSLT to use one of the
xsl:keys

In the above example -- var1 will select which key to
use(x or y), and var2 will provide value for @Deposit
or @Something .. You can define as many keys as you
want x, y, z, u, .. etc

Regards,
Mukul

--- aruniima(_dot_)chakrabarti(_at_)iflexsolutions(_dot_)com wrote:
Hi All,
Is it possible to generate a xsl:key using a
variable ? 
As in  xsl:key element it does not allow me to use a
variable in either match or use attribute. So is
there any other way to do the same...

      e.g. 
              I want to search for all Rows with attribute say
"@Deposit = 1"  
              where I receive both the attribute & the attribute
value as parameters from the user.

      

Regards,
aruniima



DISCLAIMER:
This message contains privileged and confidential
information and is intended only for the individual
named.If you are not the intended recipient you
should not disseminate,distribute,store,print, copy
or deliver this message.Please notify the sender
immediately by e-mail if you have received this
e-mail by mistake and delete this e-mail from your
system.E-mail transmission cannot be guaranteed to
be secure or error-free as information could be
intercepted,corrupted,lost,destroyed,arrive late or
incomplete or contain viruses.The sender therefore
does not accept liability for any errors or
omissions in the contents of this message which
arise as a result of e-mail transmission. If
verification is required please request a hard-copy
version.

 XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list



__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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