This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 29666 - [XSLT30] Stylesheet level definition may need updating or clarification
Summary: [XSLT30] Stylesheet level definition may need updating or clarification
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Candidate Recommendation
Hardware: PC Windows NT
: P2 minor
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-26 15:21 UTC by Abel Braaksma
Modified: 2016-10-06 18:42 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2016-05-26 15:21:32 UTC
The current definition of "stylesheet level" is:

 [Definition: A stylesheet level is a collection of stylesheet modules connected using xsl:include declarations: specifically, two stylesheet modules A and B are part of the same stylesheet level if one of them includes the other by means of an xsl:include declaration, or if there is a third stylesheet module C that is in the same stylesheet level as both A and B.] 

This does not reflect what happens with used packages. I think these are on the same stylesheet level (if P uses Q and Q includes R then declarations in P, Q and R are all in the same stylesheet level, even though Q and R may have components that are invisible to P).

Furthermore, I think it would be clarifying if we say something like "Note: if A imports through xsl:import B, then A is not on the same stylesheet level as B.".

I'm not sure whether the definition itself should be updated, but it may help to clarify the relation between include/import/use-package.
Comment 1 Michael Kay 2016-05-26 15:31:16 UTC
We should probably clarify that a "level" is a subset of a package. There's a containment hierarchy: a module is part of a level and a level is part of a package. Two modules in different packages therefore can't be in the same level. That's implicit in the current definition but it could be made more explicit.
Comment 2 Michael Kay 2016-05-27 10:30:59 UTC
I have added the following note in the hope that this removes any possible confusion:

<note diff="add" at="T-bug29666"><p>A stylesheet level thus groups the declarations in a package by import precedence: two declarations within a package are in the same stylesheet level if and only if they have the same import precedence.</p></note>
Comment 3 Michael Kay 2016-06-02 19:47:13 UTC
The WG decided to close the bug accepting the added note as sufficient clarification (but not without considerable discussion straying into the dangerous territory of the identity of stylesheet modules.)