Thanks for all the effort here, the context of keys and how to use
them against external xml source is much clearer to me now. This (as
usual) was a very valuable lesson!
On Apr 1, 2005 10:08 AM, Wendell Piez <wapiez(_at_)mulberrytech(_dot_)com>
wrote:
Karl,
At 11:24 AM 4/1/2005, you wrote:
The reason for a lookup xml source is to act as a cross-reference to
data in the main xml source. So, I need to reference all elements
who's ID = 123 but my match is expressed as a code value "abc". The
code "abc" maps to 123 in my lookup.
So, I'm still scratching my head wondering how I might effectively put
the external file to use with keys, but thinking it won't work, the
context would strictly be of the main xml source.
source:
<match code="abc"/>
lookup:
<code lookup="abc" value="123"/>
in the stylesheet:
<xsl:variable name="lookup" select="document('lookup.xml')"/>
<xsl:variable name="codes" match="*" use="@lookup"/>
<xsl:template match="match">
<xsl:variable name="lookup-code" select="@code"/>
<xsl:variable name="target-id">
<xsl:for-each select="$lookup"/>
<xsl:value-of select="key('codes',$lookup-code)/@value"/>
</xsl:for-each>
</xsl:variable>
... now the value '123' is available bound to $target-id
(as an RTF, convertible to a string) ...
</xsl:template>
I hope that helps. It's a bit cumbersome in XSLT 1.0, but works well enough.
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
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
======================================================================
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--