[Bug 4843] [XSLT 2.0] Current mode is underspecified

http://www.w3.org/Bugs/Public/show_bug.cgi?id=4843

           Summary: [XSLT 2.0] Current mode is underspecified
           Product: XPath / XQuery / XSLT
           Version: Recommendation
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 2.0
        AssignedTo: mike@saxonica.com
        ReportedBy: mike@saxonica.com
         QAContact: public-qt-comments@w3.org


It's not clear in the specification what the current mode is under all
conditions: for example, when evaluating a global variable, an attribute set,
or the sequence constructor contained in xsl:key or xsl:sort. This affects the
outcome of <xsl:apply-templates mode="#current"/> in these contexts. (It does
not affect xsl:apply-imports or xsl:next-match, because in all these contexts
the current template rule is null, so the instruction will fail.)

Possible answers are: the initial mode, the default mode, "null", or (for
attribute sets and xsl:sort only) the mode of the caller.

Also, section 5.4.4 says the current mode is "cleared" when calling a
stylesheet function, without saying what this means; section 6.5 explains that
it means the current mode is set to the default mode, which isn't necessarily
what you might expect.

Proposal: the current mode should be "cleared" when evaluating a global
variable, the default value of a stylesheet parameter, or the sequence
constructor contained in xsl:key or xsl:sort; and we should clarify that
"cleared" means that it reverts to the default (unnamed) mode. For attribute
sets we should clarify that the current mode is unchanged (same as caller).
This is to align with the rules for the current template rule.

Received on Tuesday, 10 July 2007 10:19:21 UTC