Ihe Onwuka wrote:
Will the stylesheet below result in 2 passes through the document. I
the normal recursive descent parsing and 2 to evaluate the global
variable?
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0"
exclude-result-prefixes="xs">
<!-- I type is irrelevant for this example -->
<xsl:variable name="all">
<xsl:apply-templates select="*"/>
</xsl:variable>
<xsl:template match="/">
<xsl:value-of select="sum(key('counts',max($all))/count(@*))"/>
</xsl:template>
<xsl:template match="*">
stuff
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
I would expect an error that no key named "counts" is defined.
Ignoring that I think that evaluating the variable will not result in a
pass through the complete document as all it does is applying templates
to the single root element and the only template for elements simply
outputs a text node with "stuff" so no further processing happens there.
--
Martin Honnen --- MVP Data Platform Development
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
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>
--~--