[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
|