[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: string table lookup w/ and w/o temporary variable

Subject: Re: string table lookup w/ and w/o temporary variable
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 14 Aug 2002 10:42:55 +0100
string table
Hi Bernd,

> I can work out a template like this:
>
> <xsl:template match="name-string">
>    <xsl:variable name="s-id" select="@id"/>
>    <xsl:value-of select="/root/strings/string[@id=$s-id]"/>
> </xsl:template>
>
> This works perfect for me. I couldn't work out a working expression
> without the variable "s-id", but I wonder if that variable is really
> required?

Within the template, the "current node" is the name-string element --
that's the one the template's processing. You can always get hold of
this current node, even if you're within a predicate, using the
current() function. So your alternative is:

<xsl:template match="name-string">
  <xsl:value-of select="/root/strings/string[@id = current()/@id]" />
</xsl:template>

The other thing that you could do is to set up a key that enabled you
to jump to the string elements you were interested in quickly. This is
a good idea if you have lots of name-string elements that you want to
dereference. Set up the key to match the string elements and use their
id attributes:

<xsl:key name="strings" match="string" use="@id" />

then you can get the value by calling the key; since you don't use a
predicate with this method, you don't need a variable or to use the
current() function, just:

<xsl:template match="name-string">
  <xsl:value-of select="key('strings', @id)" />
</xsl:template>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.