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

Re: [xsl] XSLT Streaming: What is the rationale for the rule that a child can be processed only once?


Subject: Re: [xsl] XSLT Streaming: What is the rationale for the rule that a child can be processed only once?
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Sun, 27 Oct 2013 19:56:11 +0000

On 27 Oct 2013, at 09:30, Costello, Roger L. <costello@xxxxxxxxx> wrote:

> Hi Folks,
>
> XSLT streaming has this rule:
>
> 	XSLT code cannot process a child
> 	element more than once.
>
> I seek to understand the rationale for this rule.
>
> I think the rationale is this:
>
> Imagine a child element that contains a lot of stuff and has a very deep
subtree. The first time the child is referenced, the XSLT processor moves
forward in the XML, through the deep subtree. If the child is allowed to be
referenced again, the XSLT processor would need to "back up" in the XML,
potentially a long ways. In streaming we want to keep moving forward, without
any backing up.
>
> Is that correct?

Yes.

Michael Kay
Saxonica


Current Thread
Keywords