[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Keys off of variable xml source
Subject: Re: [xsl] Keys off of variable xml source
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 01 Apr 2005 12:08:39 -0500
|
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@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
======================================================================
|