Subject: Re: Need help with using lookup table and string translation
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 12 May 2009 10:50:47 -0400
|
At 04:47 PM 5/11/2009, David wrote:
> The 'for in' looks like xslt2 function.
well an xpath2 expression, yes.
> for $x in key('tr_string-by-str', $key) return (x$/ru, $x/en, .)[1]
but you are in luck here as the for isn't actually doing anything in
that case you could write
key('tr_string-by-str', $key)/(ru,en, current())[1]
in xpath2
or in xslt1
<xsl:variable nae="x" select="key('tr_string-by-str', $key)"/>
<xsl:choose>
<xsl:when test="$x/ru">
<xsl:value-of select="$x/ru"/>
</xsl:when>
<xsl:when test="$x/en">
<xsl:value-of select="$x/en"/>
</xsl:when>
The tricky thing here is where the 'tr_string-by-str' key retrieves its nodes.
The matching elements ('tr_string'?) have to be somewhere. If they're
not in the source document, the stylesheet needs access to where they
are. This requires, in XSLT 1.0, either the document() function (to
call them in) or a node-set() extension function (to make a variable
declared in the stylesheet into a node set that can be queried).
At last report, the major browsers all supported document(), didn't they?
Cheers,
Wendell
======================================================================
Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
|