|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Keys off of variable xml source
That should be
<xsl:key name="k" match="entry" use="@code"/>
and
<xsl:attribute name="value">
<xsl:value-of select="key('k', $code)/@value"/>
</xsl:attribute>
MK
> -----Original Message-----
> From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
> Sent: 01 April 2005 18:01
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: Keys off of variable xml source
>
>
> >
> > 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.
>
> I'm not sure which part of the explanation you didn't understand.
>
> lookup.xml
>
> <lookup>
> <entry code="abc" value="123"/>
> <entry code="xyz" value="987"/>
> </lookup>
>
> main.xml
>
> <data>
> <reading code="abc"/>
> </data>
>
> required output
>
> <data>
> <reading value="123"/>
> </data>
>
> stylesheet
>
> <xsl:transform ....
>
> <xsl:key name="k" match="entry" use="code"/>
>
> <xsl:template match="*">
> <xsl:copy><xsl:copy-of
> select="@*"/><xsl:apply-templates/></xsl:copy>
> </xsl:template>
>
> <xsl:template match="reading">
> <reading>
> <xsl:variable name="code" select="@code"/>
> <xsl:for-each select="document('lookup.xml')">
> <xsl:attribute name="value"><xsl:value-of
> select="key('k', $code)"/>
> </xsl:for-each>
> </reading>
> </xsl:template>
>
> or in 2.0
>
> <xsl:template match="reading">
> <reading value="{key('k', @code, document('lookup.xml'))}"/>
> </xsl:template>
>
> Michael Kay
> http://www.saxonica.com/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








