<?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>30389</bug_id>
          
          <creation_ts>2019-01-10 17:33:44 +0000</creation_ts>
          <short_desc>[XSLT30] rules on components not matched by xsl:accept are unclear: hidden, private, or as declared?</short_desc>
          <delta_ts>2019-01-14 14:16:35 +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>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>major</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>129471</commentid>
    <comment_count>0</comment_count>
    <who name="Abel Braaksma">abel.online</who>
    <bug_when>2019-01-10 17:33:44 +0000</bug_when>
    <thetext>Whether or not a component matches in xsl:accept is specified in reference to the xsl:expose rules. But those rules end with &quot;otherwise private&quot;.

Furthermore, the section explains what allowed combinations are of visibilities in the used package and in the xsl:accept declaration, but not what the resulting visibility would be when they are non-matching.

The rules for &quot;no xsl:accept declarations&quot; are clear: visibility is as exposed in the used package.

The question is, what happens to components not matched if there are one-or-more declarations of xsl:accept?

I see several possibilities:

a) anything not matched is private to the using package (similar to xsl:expose)
b) anything not matched has the same visibility as declared in the used package
c) anything not matched is hidden to the using package

My instinct is (b). However, with that rule, some tests should fail (i.e. package-022).

Another way of reading xsl:accept declarations is &quot;I&apos;m specifying what I want to accept, the rest should be ignored&quot;. That would mean (c) above.

I don&apos;t know which I would prefer, though from a programmer&apos;s perspective, rule (c) seems most logical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129472</commentid>
    <comment_count>1</comment_count>
    <who name="Abel Braaksma">abel.online</who>
    <bug_when>2019-01-10 17:41:01 +0000</bug_when>
    <thetext>Please retract. I overlooked the section in the introduction of xsl:accept. The part of interest is:

&quot;For every component CQ in package Q that is not matched by any xsl:override or xsl:accept element in the package manifest of P, there will be a corresponding component CP in package P that has the same symbolic identifier and declaration as CQ. &quot;

and

&quot;In other cases, the visibility of CP depends on the visibility of CQ, as defined by the following table:&quot;

Don&apos;t know how I could&apos;ve missed that. Basically: anything not matched that is public/final is private to the using package. The rest is hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129473</commentid>
    <comment_count>2</comment_count>
    <who name="Abel Braaksma">abel.online</who>
    <bug_when>2019-01-14 14:16:35 +0000</bug_when>
    <thetext>Marking this as INVALID, as it is not a bug, nor is their any ambiguity in the text.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>