|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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








