[Bug 29574] New: Default visibility of accepted components

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

            Bug ID: 29574
           Summary: Default visibility of accepted components
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: maxtoroq@gmail.com
        QA Contact: public-qt-comments@w3.org
  Target Milestone: ---

Accepted components are public by default.

This is inconsistent with the default visibility of local components, which is
private. It is weird that the components you write are private, but the ones
you use are public and implicitly exposed. At least not what you'd expect
coming from languages like C# or Java.

Package A uses package B and C, and package B uses C. Package A won't compile
because it accepts multiple homonymous components from B and C. Why use C if
you get those components indirectly from B? Maybe version 1 of B doesn't use C,
but version 2 does and breaks A.

The main purpose of xsl:use-package is, as the name says, use a package.
Currently, the burden is on the package developer to not over-expose accepted
components by explicitly using <xsl:accept visibility="private">. And if the
package depends on tens of other packages then it won't look pretty.

I propose that, the same way private is changed to hidden, public is changed to
private.

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

Received on Saturday, 16 April 2016 05:18:45 UTC