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