Subject: Re: [xsl] Does the count() function require access to the whole subtree? From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> Date: Mon, 13 Jan 2014 13:43:02 +0100 |
Sorry for my imprecision. My first question in other words: Is count( x ) always streamable, no matter what x (or a $x or...) is? The "positioned" was referring to a quote from Roger, see his post, please. -W On 13/01/2014, Michael Kay <mike@xxxxxxxxxxxx> wrote: > > On 13 Jan 2014, at 11:59, Wolfgang Laun <wolfgang.laun@xxxxxxxxx> wrote: > >> 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. >> > > Sorry, but I'm afraid I don't even understand what you're saying/asking > here. What do you mean by an expression being positioned? > > What we are discussing, is in simplified terms, the fact that count(//x) is > streamable, but data(//x) is not. Here //x is a "crawling" expression - one > that selects nodes which may overlap each other. When an expression returns > (potentially) overlapping nodes, the W3C spec says you can apply inspection > operations like count() to those nodes, but you cannot apply absorption > expressions like data(), because doing so would require buffering. > > Michael Kay > Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Does the count() function, Michael Kay | Thread | Re: [xsl] Does the count() function, Michael Kay |
Re: [xsl] Does the count() function, Michael Kay | Date | Re: [xsl] Does the count() function, Michael Kay |
Month |