Subject: RE: [xsl] Keeping a map in my XSL From: Eric van der Vlist <vdv@xxxxxxxxxxxx> Date: Tue, 13 Sep 2005 22:02:50 +0200 |
Le mardi 13 septembre 2005 ` 15:40 -0400, Kevin L. Cobb a icrit : > Heres the thing though. I can't have the map in my source XML, I want it > in my source XSLT. > Is there a way to set the map in an XML document and include it in my > Source XSL and then > Reference it in the XSLT using the key() function? Sure, just use xsl:for-each to change document: <xsl:for-each select="document('map.xml')/"> <!-- You are now at the root of map.xml and if you use key, that key will be applied to this document --> <xsl:value-of select="key('mappings', $lookup)/@value"/> </xsl:for-each> Note that you can even include the map in the XSLT transformation itself assuming that : * You use a namespace (that isn"t the XSLT namespace) * Your map is a top level element of the transformation. You can then access to your map through document(''): <xsl:for-each select="document('')/"> <!-- You are now at the root of your XSLT transformation and if you use a key, that key will be applied to your transformation --> <xsl:value-of select="key('mappings', $lookup)/@value"/> </xsl:for-each> Hope this helps. Eric > -- Lisez-moi sur XMLfr. http://xmlfr.org/index/person/eric+van+der+vlist/ ------------------------------------------------------------------------ Eric van der Vlist http://xmlfr.org http://dyomedea.com (ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax (W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema ------------------------------------------------------------------------
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Keeping a map in my XSL, Jon Gorman | Thread | Re: [xsl] Keeping a map in my XSL, andrew welch |
Re: [xsl] Adding Missing Elements, Joris Gillis | Date | [xsl] Making extension functions av, Jay Bryant |
Month |