<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>30240</bug_id>
          
          <creation_ts>2018-03-31 17:20:52 +0000</creation_ts>
          <short_desc>[XSLT30] (editorial) Rule on non-clearing of tunnel params seems vague</short_desc>
          <delta_ts>2019-02-15 11:52:02 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>XSLT 3.0</component>
          <version>Recommendation</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Abel Braaksma">abel.online</reporter>
          <assigned_to name="Michael Kay">mike</assigned_to>
          
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129128</commentid>
    <comment_count>0</comment_count>
    <who name="Abel Braaksma">abel.online</who>
    <bug_when>2018-03-31 17:20:52 +0000</bug_when>
    <thetext>Under 10.1.3 we have the following paragraph on tunnel parameters:

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


I don&apos;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:

&gt; When a template accesses the value of a tunnel parameter by declaring
&gt; it with &lt;xsl:param tunnel=&quot;yes&quot;&gt;
I think my confusion comes from &quot;accesses the value&quot;, 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, &quot;by declaring it with&quot; suggests that &quot;declaring&quot; 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:

&lt;proposal&gt;
When a template brings a tunnel parameter in scope by declaring it with &lt;xsl:param tunnel=&quot;yes&quot;&gt;, this does not remove...
&lt;/proposal&gt;

Or:

&lt;proposal&gt;
&quot;When a template declares it wants access to the value of a tunnel parameter (by declaring it with &lt;xsl:param tunnel=&quot;yes&quot;&gt;), this does not remove...&quot;
&lt;/proposal&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129503</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2019-02-15 11:52:02 +0000</bug_when>
    <thetext>I propose

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

    </bug>

</bugzilla>