- From: <bugzilla@jessica.w3.org>
- Date: Sat, 16 Apr 2016 05:18:42 +0000
- To: public-qt-comments@w3.org
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