[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Does the count() function require access to the whole subtree?

Subject: Re: [xsl] Does the count() function require access to the whole subtree?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sun, 12 Jan 2014 13:35:14 -0800

On Sun, Jan 12, 2014 at 11:27 AM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> If you are evaluating count() or exists() on a sequence of nodes S, then when you encounter
> a node N that is a member of this sequence you know its impact on the result as soon
> as you see its start tag; you do not need to look at its subtree

Typically, the nodes are part of the streamed document -- not items in
a sequence.
Let's say, we want to find the count of all children element (of the
context node) named "x".

Even if it is guaranteed that any "x" doesn't have descendants named
"x", in order to find the (k+1)st
occurrence of an "x" element from the k-th occurrence, we must
traverse the complete subtree of the k-th occurrence of "x",
and the subtrees of any intervening non-"x" siblings.

If this is called "inspection" -- then this inspection traverses
nearly the whole document. Even it doesn't "consume" it (I don't know
what "consume" exactly means), then, because the document has been
traversed during this "inspection", then the traversed part is no
longer "consume"able or even "inspect"able.

Anyway, we need someone to explain this situation.

Dimitre Novatchev
Truly great madness cannot be achieved without significant intelligence.
To invent, you need a good imagination and a pile of junk
Never fight an inanimate object
To avoid situations in which you might make mistakes may be the
biggest mistake of all
Quality means doing it right when no one is looking.
You've achieved success in your field when you don't know whether what
you're doing is work or play
To achieve the impossible dream, try going to sleep.
Facts do not cease to exist because they are ignored.
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
I finally figured out the only reason to be alive is to enjoy it.

Current Thread