[Bug 29574] Default visibility of accepted components

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

--- Comment #1 from Michael Kay <mike@saxonica.com> ---
Thanks for the feedback.

I don't know where you got the idea that accepted components are public by
default. (And I would like to know, so we can prevent others misreading the
spec in the same way.)

* If there's an explicit xsl:accept declaration then the visibility must be
given explicitly (there is no default).

* If there's no xsl:accept or xsl:override for a component in the using
package, then the visibility is the same as in the used package, except that
private becomes hidden.

Perhaps what you are saying is revealed in your last paragraph: if a component
is public in the used package, and is not mentioned in any xsl:accept or
xsl:override, then it becomes public in the using package. I do seem to
remember we had some debate on that, and there were advantages and
disadvantages both ways.

We have recently (bug #29478) introduced a syntax that allows you to write

<xsl:accept component="*" names="*" visibility="private"/>

before any other xsl:accept declarations, so you can override the default with
a one-liner if it doesn't suit you.

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

Received on Saturday, 16 April 2016 14:25:09 UTC