Re: [xsl] referencing nodes via variables

Subject: Re: [xsl] referencing nodes via variables
From: Florent Georges <darkman_spam@xxxxxxxx>
Date: Wed, 30 Aug 2006 16:09:33 +0200 (CEST)
Sam Carleton wrote:

> I have not used keys before.  Just read about them and
> here is what I have so far:

> <xsl:key name="method" match="method" use="id"/>

> Then to get the name it would be this:

> <xsl:value-of select="key('method', @methodID)/name"/>

  Yes, perfect.

> The only thing I don't understand is if the key can handle
> multiple conditions, that being both the method ID and the
> method version.

  The trick is to combine multiple values in one.  For
example using concat():

    concat(@methodID, '.-.', @methodVer)

  The string in the middle depend on the value spaces of the
concatenated nodes (to be sure to never get the same result
from different inputs).

> In case you are wondering the parser that is in use is
> Microsoft .Net 2.0's XslCompiledTransform which is only
> XSLT 1.0.

  No problem.  The nice thing with XSLT 2.0 is you can
define the combining function.  So whatever it is defined
to, you use it in the key definition and each key call.  In
XSLT 1.0, you have to repeat each time the complete
expression (with concat...) (don't forget you can use a
global variable for the string in the middle).



 uncompressed/chunked Wed Aug 30 12:13:41 GMT 2006 
Dicouvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! 
Yahoo! Questions/Riponses pour partager vos connaissances, vos opinions et vos expiriences. 

Current Thread