In Saxon, //bar is handled by an index, so exists(//bar) should be quite
fast after the first time (when the index is built).
What about:
<xsl:template match="foo">
<xsl:choose>
<xsl:when test="ancestor::*/@type = 'a'">
....
<xsl:when test="ancestor::*/@type = 'b'">
vs
<xsl:template match="foo[ancestor::*/@type = 'a']">
<xsl:template match="foo[ancestor::*/@type = 'b']">
Would you say the two are roughly equivalent, or are there other
subtle differences?
In my opinion it worth to resolve tasks in xslt in a way that
is easier for human understanding.
It's an implementer's responsibility to run it smoothly.
Xslt is much more closer to a declarative language than to an assembler.
--
Vladimir Nesterovsky
http://www.nesterovsky-bros.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>
--~--