[Bug 29499] [XSLT30] Global xsl:variable/xsl:param not in streamability rules

https://www.w3.org/Bugs/Public/show_bug.cgi?id=29499

--- Comment #4 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
> I don't understand what you mean by "not in effect".
It meant that there was no problem there ;).

> The rules in 3.5.6 as written apply to all global variables/params whether 
> they are referenced or not. I would prefer not to make the rules more 
> complicated without a compelling use case.
I agree, but it conflicts with the rule that we do not need to raise an error
in a global variable if it is not used. And perhaps more importantly, if
variables are inlined, the may escape the analysis.

There's two other forces at play here: (1) streamability is (largely) a static
process. And (2) processors should *not* inline before doing this static
analysis.

> I can see a use-case here which is that you might want to override a 
> non-streamable variable declaration with a streamable one.
I wonder if this may already be captured by the fact that a declaration at
higher import-precedence supersedes one at a lower import-precedence. But that
only hides dynamic errors, not static ones and therefor has the same problem as
the previous point.

All in all I agree with your comment 3, it looks like the rules that I thought
were absent are somewhere around in sections I missed.

Whether or not we want to sharpen our pencils to elaborate on these rules
and/or to add (for instance) a little table that explains the 8 invocation
combinations I don't know.

----------

Additional scenario I just encountered: I added an option to our processor to
allow the initial match selection to be a sequence of documents, and these
documents can be streamable if the initial mode is streamable (which can be
overridden on the commandline as well, forcing a streamable initial mode to be
invoked with a grounded document node). I think the spec allows both these
scenarios.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 12 May 2016 12:53:55 UTC