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 1811 - Need explicit statement of interactions among initial settings
Summary: Need explicit statement of interactions among initial settings
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 2.0 (show other bugs)
Version: Last Call drafts
Hardware: All All
: 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: 2005-07-25 00:04 UTC by David Marston
Modified: 2005-07-25 07:08 UTC (History)
0 users

See Also:


Attachments

Description David Marston 2005-07-25 00:04:18 UTC
Comments based on the 4 April 2005 draft of XSLT 2.0:
After much jumping around between parts 2.3, 6.5, and 10.1, I am pretty sure 
that I know that there is a good reason to set both an initial mode and initial 
named template as simultaneous launch options. I'm not 100% positive, but I am 
pretty sure that you are trying to say that if the named template specified at 
launch time contains the instruction
<xsl:apply-templates mode="#current"/>
then the initial mode will be used. If one had been specified at launch time, 
that mode will be used.
EDITORIAL FIX: please add a note to part 10.1 (or 6.5 if you prefer) to make an 
explicit statement of the above.

The next question is about the interplay between launch-time parameter setting 
and the initial mode. Again, I am pretty sure, but not 100% sure, that an 
xsl:param element at the "global" stylesheet level can contain
<xsl:apply-templates select="/fully/qualified/path" mode="#current"/>
and it will use the initial mode specified at launch time, or the default mode 
if none was specified. (This is for content of xsl:param that was invoked 
because the value was not supplied at launch time.) If the processor has lazy 
evaluation of parameters, then the mode for the above instruction must be the 
initial mode, not whatever mode is current when the first reference to the 
param must be resolved.
EDITORIAL FIX: please add a note to part 9.5 to make an explicit statement of 
the above.

The question about initial mode vs. global variable has more factors, so I will 
report it separately.
Comment 1 Michael Kay 2005-07-25 06:56:58 UTC
I think that your deductions are correct, and I think the explicit statement you
are looking for is already present in section 5.4.4.

I agree that the reader has to do a fair bit of jumping around the text to
discover the way these context variables work, but I believe that the
information is present in the text, and it is already very heavily hyperlinked.
I am reluctant to state the same facts repeatedly, because it always introduces
the danger of inconsistency.

I agree, though, that it would be useful for section 9.5 to be a bit more
explicit about the values of context variables when evaluating global variables
and parameters, and I'll add to the paragraph starting "For a global variable or
the default value of a stylesheet parameter.." the sentence "The values of other
components of the dynamic context are the initial values as defined in [5.4.3]
and [5.4.4]." 

Since this is editorial, I will close the bug in the hope that this resolution
is satisfactory; please reopen it if not.

Michael Kay
Editor, XSLT 2.0