Subject: Re: [xsl] Re: XSLT 3.0: What is the default visibility of a package component inside the declaring package ? From: "Abel Braaksma (Exselt) abel@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 3 Nov 2014 17:06:14 -0000 |
> The visibility depends on both the visibility attribute of the component, and > the rules in the package's xsl:expose declarations. If neither apply, the > default visibility is private. > It is worth noting that a late change to the latest public last call working draft removed the @visibility attribute from global xsl:param declarations[1]. The implicit visibility of xsl:param inside a library package (which is defined as the used package) is public, and you cannot change it. This makes sense, as params can always be set from the infrastructure (i.e., on the commandline) and should therefore be public. However, if the xsl:param is declared static (a new XSLT 3.0 feature which allows use of variables and params inside static expressions and shadow attributes, a powerful pre-compilation feature), its implicit visibility is local only. Static params cannot be scoped beyond the package or stylesheet they are declared in (but import precedence does apply). This also makes sense, as it allows for precompilation of packages. A global xsl:variable can be overridden and has a visibility attribute, but only if it is not static. Cheers, Abel Braaksma Exselt, a streaming XSLT 3.0 processor http://exselt.net [1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=26740, public bug, comment#3
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: XSLT 3.0: What is the def, Michael Kay mike@xxx | Thread | Re: [xsl] Re: XSLT 3.0: What is the, Dimitre Novatchev dn |
[xsl] Re: XSLT 3.0: What is the def, Michael Kay mike@xxx | Date | Re: [xsl] Re: XSLT 3.0: What is the, Dimitre Novatchev dn |
Month |