xsl-list
[Top] [All Lists]

Re: [xsl] XSLT Streaming Terminology: why is it called "striding"?

2014-02-09 07:34:05

On 9 Feb 2014, at 10:38, Costello, Roger L. <costello(_at_)mitre(_dot_)org> 
wrote:

Hi Folks,

A striding construct is one that returns a sequence of items and the items 
are all disjoint (item i is not nested in item j).

Why are such constructs called "striding"? Would you please give some 
intuition on why such constructs are called striding?

Largely whimsical, I was having a bit of fun. In the earlier spec they (or the 
nearest equivalent) were called "incrementally consuming"; but in the new 
analysis self::* comes out as striding but not consuming. The word "crawling" 
is fairly natural for something that visits every node of a tree (visualise a 
caterpillar), and I wanted a contrast for something that skips across from one 
branch of a tree to another without visiting all the leaves. I thought of 
"skipping" but that seemed to have connotations implying that there are nodes 
that are not processed.

Also, why is striding important? I think that striding constructs are 
important because:

      The sequence of items returned by a striding 
      construct can be operated on in a streaming 
      fashion.

Is that correct?


Seems a gross over-simplification. The essence of striding expressions is that 
they deliver a sequence of nodes with disjoint subtrees, so you can process 
(and consume) the subtree of one node in the sequence before moving on to the 
next.

Michael Kay
Saxonica


--~------------------------------------------------------------------
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>
--~--


<Prev in Thread] Current Thread [Next in Thread>