RE: [xsl] Keeping a map in my XSL

Subject: RE: [xsl] Keeping a map in my XSL
From: "Kevin L. Cobb" <kevin.cobb@xxxxxxxxxxxx>
Date: Wed, 14 Sep 2005 07:31:19 -0400
(Thanks for all the help.) Is there any caching of the map document behind the
scenes? I am concerned about performance if I send several thousand documents
throught my XSL parser.

Thanks,

Kevin

-----Original Message-----
From: Eric van der Vlist [mailto:vdv@xxxxxxxxxxxx]
Sent: Tuesday, September 13, 2005 4:03 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Keeping a map in my XSL

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