Subject: Re: RE: Does the count() function require access to the whole subtree?
From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx>
Date: Mon, 13 Jan 2014 12:59:58 +0100
|
With growing insecurity ;-)
My understanding is that count($x) may be called on the construction
of a sequence which (the construction) is not streamable, and that
calling count(...) on it does not make it streamable.
Another thing: calling count(...) doesn't require to be positioned anywhere.
-W
On 13/01/2014, Costello, Roger L. <costello@xxxxxxxxx> wrote:
> Thanks everyone, great discussion!
>
> From what you've said, it seems like the difference between inspection and
> absorption is like the difference between inspecting a book's table of
> contents versus diving into each chapter and absorbing its information.
>
> Here's my current understanding of inspection and absorption. Please let me
> know if it is not correct or not clear.
>
> Inspection
>
> Inspection: operations that can be performed
> while positioned at each item's start tag. Each
> item can be treated as opaque. There is no need
> to peek inside each item.
>
> These are inspection operations: count(), exists(),
> name().
>
> Consider a sequence of items. The function count()
> can count each item in the sequence, without peeking
> inside each item.
>
> Inspection operations are those that require only a
> surface understanding of the items: we merely skim
> the items.
>
> Absorption
>
> Absorption: operations that require going inside each
> item.
>
> These are absorption operations: string(), data(),
> xsl:value-of.
>
> Consider a sequence of items. The function string()
> requires going inside each item in the sequence to
> collect and concatenate all the values.
>
> Absorption operations are those that require a deep
> understanding of the items: we must absorb all the
> information in the items.
|