- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 10 Dec 2007 11:04:58 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5312 Summary: [XSLT 2.1] Separate compilation of stylesheet modules Product: XPath / XQuery / XSLFO / XSLT Version: Recommendation Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: XSLT 2.1 AssignedTo: mike@saxonica.com ReportedBy: mike@saxonica.com QAContact: public-qt-comments@w3.org As XSLT applications become larger, there is a requirement for separate compilation of stylesheet modules. The design of XSLT 2.0 makes this difficult because there are so few constraints on what an importing/including stylesheet can do to change the behaviour of an imported/included stylesheet. Some of the changes that are needed to make separate compilation viable include: (a) some change to the syntax and/or semantics of xsl:include and xsl:import to recognize the existence of precompiled stylesheet modules (b) addition of attributes controlling visibility of the declarations of functions, named templates, global variables and other objects such as attribute sets in a precompiled module, for example: public=yes|no, final=yes|no. Perhaps requiring override=yes in an overriding declaration to make it clear that the overriding stylesheet knows what it is doing. (c) rules constraining the ability to override variables, templates and functions: for example, requiring the type signature of the overriding object to be compatible with that of the object that it overrides; disallowing overriding a variable with a param; disallowing the relaxation of a required=yes constraint or changing of tunnel=yes|no; requiring all variable, function, and template references within a module to be satisfied within that module (perhaps by a declaration defined with abstract=yes) (d) some kind of connection between importing and modes: for example the ability while importing a module to alias its modes, to prevent unintended interference between the modes used in different stylesheet modules. Perhaps the ability to declare a mode as final. (e) making some declarations such as xsl:strip-space and xsl:output less global: for example these declarations when used in a compiled module might be defined to apply only to calls on document() or xsl:result-document within that module.
Received on Monday, 10 December 2007 11:05:05 UTC