- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 03 Sep 2008 09:07:27 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5312 --- Comment #1 from Michael Kay <mike@saxonica.com> 2008-09-03 09:07:27 --- Some further design ideas to meet this requirement: Allow a stylesheet module to specify library="yes|no", default is "no". If library="yes" is specified, then the idea is that it is suitable for separate compilation (along with the modules that it includes or imports). In a library module: (a) you cannot use the context node when initializing global variables (b) you must declare which global variables, functions, named templates, and attribute sets are visible outside the module by use of the attribute public="yes" (c) all references to variables, functions, named templates etc must be satisfied within the module (or the modules it imports/includes); they cannot refer to variables etc supplied by the caller. However we allow them to be satisfied by a variable, function etc declared with abstract="yes", in which case the caller must supply a concrete implementation. (d) in all public variables, functions, and templates, all types ("as" attributes) must be explicit. (e) a public object can be declared with final="yes" to prevent it being overridden (f) a mode can also be declared with final="yes". The calling stylesheet cannot provide template rules in such a mode. A mode declared with public="no" cannot be invoked from outside the library. (g) when overriding a public variable, function, or named template, the overriding object must (i) declare override="yes", (ii) have a compatible signature. This means the parameter types and return type must be compatible (details TBA), required parameters cannot be made optional, and so on. (h) constructs such as xsl:decimal-format, xsl:key, xsl:namespace-alias are non-overridable: if a value is declared in a library module, that value is used in the library module, regardless of anything the caller declares. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Wednesday, 3 September 2008 09:08:01 UTC