This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
We say in 3.7.2: When the mode attribute of these elements is omitted, or when it contains the value #default, then the mode is taken from the [xsl:]default-mode attribute of the innermost ancestor element that has such an attribute. I think it should be the innermost ancestor-or-self element, for consistency with other attributes such as default-collation, namespace declarations, etc. (In any case the current text is ambiguous as to whether it's the innermost ancestor of the mode attribute, or of the element from which it is omitted.)
The proposal was accepted. I have rewritten the relevant text as: More specifically, when an element <var>E</var> matches the pattern <code>(xsl:template[@match] | xsl:apply-templates)[not(@mode) or normalize-space(@mode) eq "#default"]</code> (using the Unicode codepoint collation), then the effective value of the <code>mode</code> attribute is taken from the value of the <code>[xsl:]default-mode</code> attribute of the innermost ancestor-or-self element of <var>E</var> that has such an attribute.