xsl-list
[Top] [All Lists]

RE: [xsl] Manipulating values from an xml file using xsl key

2006-09-07 09:03:37
     
             <xsl:for-each select="document('xmlFile.xml')">
                <xsl:variable name="vXmlName"     
select="key('fileIndex',.)"/>
                <xsl:variable name="vXmlPathName" select="name()"/>
               
                <a class="hyperlink" 
href="javascript:selectXml('{$vXmlName}','{$vXmlPathName}');">ccc</a>
             </xsl:for-each>

where am I going wrong?


In the second argument of key() you are using expressions that are relative
to the context node: "." and "name()". But you have changed the context node
in the xsl:for-each. Use variables defined outside the for-each.

In XSLT 2.0 you can do

key('fileIndex',., document('xmlFile.xml'))

which removes this usability problem.

Michael Kay
http://www.saxonica.com/


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