On 12/01/2014 11:34, Andrew Welch wrote:
On 12 January 2014 11:10, Costello, Roger L. <costello(_at_)mitre(_dot_)org>
wrote:
A couple days ago Michael Kay wrote:
Inspection operations on an element are operations that can be
performed while positioned at the start tag.
Inspection operations include: count(), exists(), name().
Absorption operations are operations that require access to the
whole subtree.
Absorption operations include: string(), data(), xsl:value-of
Michael, doesn't the count() function require access to the whole
subtree? How would a count be conducted by sitting at the top of a
subtree? Perhaps you meant to say that the count() function is an
absorption operation?
I wondered this too... I'm guessing you could do a look-ahead of the
xml parsing the structure without any text nodes, then you have the
'metadata' without the content. Will be interesting to find out...
I think the way to think of it is to see that given a sequence of nodes
$seq then count($seq) doesn't require you to access anything that you
haven't already accessed (even if you are in a streaming context and
some of the nodes are still being streamed)
conversely string-join($seq,'') or $seq/string(.) do require you to
fully access the content of every node in the sequence so access to
every subtree below each node in the sequence.
David
--~------------------------------------------------------------------
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>
--~--