xsl-list
[Top] [All Lists]

RE: How to use arrays in XSLT?

2004-09-28 23:55:03
Hi,

Can I use arrays in the XSLT program?

XPath doesn't have an array data type, but there are ways to get where you want.

I want to hold hundreds of (name,value) pairs in an array,, 
may be in 2 arrays
1st array ==> name
2nd array ===> value

so that I can index on the name to get the value of that name...

Is it possible in XSLT???

If you have a static array, then create something in the lines of

<x:map>
  <entry key="..." value="..."/>
  ...
</x:map>

and stick that inside xsl:stylesheet. Then define an xsl:key as

<xsl:key name="lookup" match="entry/@value" use="../@key"/>

and then do a look-up with

<xsl:variable name="key" select="get-key-value"/>
<xsl:for-each select="document('')">
  <xsl:value-of select=key('lookup', $key)"/>
</xsl:for-each>

There are other ways doing it, e.g. if you need to use a dynamic map or if you 
use XSLT 2.0, but in that case you should describe your needs in more detail. 
Hope this helps.

Cheers,

Jarno - Nick Sentience: March 2003 Mix


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