RE: ACTION 2016-09-22-003 - bug 29827 - initial mode and error XTDE0045

Look good. I would like to suggest an additional column, though. If the initial-mode is not set, it defaults to the default-mode attribute on the xsl:package or xsl:stylesheet element. While a processor could override this by defining that the "default default" is the unnamed mode, if such a default is absent, or, better yet, if we define it simply as "when no initial-mode is set, the default-mode attribute of the outermost element of the top-level package", we have this case covered.

You write:

" or (b) mode M is implicitly declared by virtue of the 
presence of an xsl:template with mode="M"."

But isn't the default of undeclared constructs that the visibility is private? Or is this not true for modes, in that they are implicitly public (or: if not public, at least invokable as initial-mode)? I would understand the case for the latter, for backwards-compatibility, but I am wondering how this relates.

In the attachment is a copy of an old attempt of all possible scenarios for invocation with an initial-mode. Primarily to illustrate the numerous combinations that are possible. I will have to check if it is still in line with what we currently know about XTDE0045. 

Cheers,
Abel

From: Michael Kay [mailto:mike@saxonica.com] 
Sent: Wednesday, September 28, 2016 8:47 PM
To: Public XSLWG
Subject: ACTION 2016-09-22-003 - bug 29827 - initial mode and error XTDE0045

ACTION 2016-09-22-003 MK: try to express the
rules in the form of a table. Abel phrases it in terms
that if declared-modes="yes" then the mode "doesn't exist"
unless it is declared and it then becomes an error to refer to it.

(This relates to bug 29827)

I have attempted a table giving the proposed rules at

attachment 1656

Michael Kay
Saxonica

Received on Thursday, 29 September 2016 13:20:54 UTC