This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
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.
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