Le mardi 13 septembre 2005 à 15:40 -0400, Kevin L. Cobb a écrit :
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
------------------------------------------------------------------------
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--