This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 30240 - [XSLT30] (editorial) Rule on non-clearing of tunnel params seems vague
Summary: [XSLT30] (editorial) Rule on non-clearing of tunnel params seems vague
Status: NEW
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Recommendation
Hardware: PC Windows NT
: P2 trivial
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-31 17:20 UTC by Abel Braaksma
Modified: 2019-02-15 11:52 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2018-03-31 17:20:52 UTC
Under 10.1.3 we have the following paragraph on tunnel parameters:

"When a template accesses the value of a tunnel parameter by declaring it with <xsl:param tunnel="yes">, this does not remove the parameter from the base set of tunnel parameters that is passed on to any templates called by this template."


I don't quite understand this line, though I think it is meant to say declaring you want to use a tunnel parameter does not clear it (that is, remove it from scope to deeper calls).

In particular this part:

> When a template accesses the value of a tunnel parameter by declaring
> it with <xsl:param tunnel="yes">
I think my confusion comes from "accesses the value", which in my mind can only happen when a variable reference is used, in this case with the name of the tunnel param.

In line with that, "by declaring it with" suggests that "declaring" means the variable is accessed.

The language in the opening line in this section (after the first definition) uses clearer wording for the same.

Perhaps we can change it? For instance:

<proposal>
When a template brings a tunnel parameter in scope by declaring it with <xsl:param tunnel="yes">, this does not remove...
</proposal>

Or:

<proposal>
"When a template declares it wants access to the value of a tunnel parameter (by declaring it with <xsl:param tunnel="yes">), this does not remove..."
</proposal>
Comment 1 Michael Kay 2019-02-15 11:52:02 UTC
I propose

<p>When a template specifies <code>&lt;xsl:param tunnel="yes"&gt;</code>, this declares its intention to make use of a <termref def="dt-tunnel-parameter">tunnel parameter</termref>; it does not remove the parameter from the base set of tunnel parameters that is passed on to any templates called by this template.</p>