xsl-list
[Top] [All Lists]

RE: Keeping a map in my XSL

2005-09-13 13:02:50
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>
--~--



<Prev in Thread] Current Thread [Next in Thread>