Re: [xsl] Associative Arrays and XSLT ?

Subject: Re: [xsl] Associative Arrays and XSLT ?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 17 Mar 2005 16:17:24 GMT
> 	Sorry for the (stupid ?) question, however, is there any
> provision for associative arrays in XSLT ? 

XSLT doesn't do arrays of any sort. It does however do XML which is much
more fun, and allows more interesting structure than an array which is
of necessity rather rectangular.

if you have a map.xml that looks like

<foo>
  <bar in="name1" out="MyName"/>
  <bar in="int4" out="finalInteger"/>
 ...
</foo>

Then you can do

<value-of
select="document('map.xml')/foo/bar[@in=name(current())]/@out"/>

> I am wondering if
>  any has example hash functions already lingering around
>  their computer.

If the map file is big and you want the system to use a hashed lookup
use a key, map file as above but use

<xsl:key name="map" match="bar" use="@in"/>
<xsl:for-each select="document('map.xml')">
 <xsl:value-of select="key('map',name())/@out"/>
</xsl:for-each>

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread