It looks like you're trying to set up a multi-valued key, correct? I think
you're confusing the XPath union operator (|) with the literal pipe character
you're using later for the key value. So I think you're looking for this:
<xsl:key name="k1" match="ROW" use="concat(COLUMN[(_at_)NAME ='JOBCODE'], '|',
COLUMN[(_at_)NAME = 'JC_CODE'])"/>
~ Scott
-----Original Message-----
From: Anil Kumar Veeramalli
[mailto:anil(_dot_)v(_at_)frescoinformatics(_dot_)com]
Sent: Thursday, November 19, 2009 1:41 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Key functionality in XSL
Thanks David. I want to iterate with the Key.
I tried this way its not working.
<xsl:key name="k1" match="ROW" use="COLUMN[(_at_)NAME ='JOBCODE'] |
COLUMN[(_at_)NAME = 'JC_CODE']"/>
<xsl:variable name="job_code" select="'P10'"/>
<xsl:variable name="jc_code" select="'P10'"/>
<xsl:variable name="keyvalue" select =
"concat($job_code,'|',$jc_code)"/>
<xsl:for-each select="key('k1',$keyvalue)">
<!-- some output-->
</xsl-for-earch>
is this not correct way of doing.
Thanks,
Anil
David Carlisle wrote:
<xsl:key name="k1" match="ROW" use="COLUMN[(_at_)NAME =
'JOBCODE'],COLUMN[(_at_)NAME = 'JC_CODE']"/> like this?
use has to be a match pattern so you can't use , you can use | though.
<xsl:key name="k1" match="ROW" use="COLUMN[(_at_)NAME =
'JOBCODE'] | COLUMN[(_at_)NAME = 'JC_CODE']"/>
If you are using xslt2 you can use the alternative
<xsl:key name="k1" match="ROW" use="COLUMN[(_at_)NAME =
('JOBCODE','JC_CODE')]"/>
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--