[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XSLT 3.0: The definition of the "unnamed mode"

Subject: Re: XSLT 3.0: The definition of the "unnamed mode"
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Jan 2015 22:24:44 -0000
 Re: XSLT 3.0: The definition of the "unnamed mode"
I agree, this definition is not a very good one. It's a relic of when the
unnamed mode was always the default mode. A better definition might be:

"There is a mode, called the unnamed mode, that has no name. The properties of
the unnamed mode may be defined using an xsl:mode declaration with an absent
name attribute. The unnamed mode is the default mode for an
xsl:apply-templates or xsl:template element with no mode attribute, unless a
different mode is nominated as the default using an [xsl:]default-mode
attribute."

Michael Kay
Saxonica
mike@xxxxxxxxxxxx
+44 (0) 118 946 5893




On 27 Dec 2014, at 19:04, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:

> In the 2nd Last Call of the W3C XSLT 3.0 specification, section "6.6.1
> Declaring Modes" defines "unnamed mode" thus:
>
> "[Definition: The unnamed mode is the default mode used when no mode
> attribute is specified on an xsl:apply-templates instruction or
> xsl:template declaration, unless a different default mode has been
> specified using the [xsl:]default-mode attribute of a containing
> element.]"
>
> I find this definition rather confusing, because the undefined term
> "default mode" is used and because this term seems undistinguishable
> from two other terms used in the definition: "different default mode"
> and "[xsl:]default-mode attribute".
>
>
>
> To summarize, this definition seems (endless) recursive, having not
> specified the term "default mode" on which it is based.
>
>
> I believe that a definition that more precisely defines the "unnamed
> mode" could be something like this:
>
> 1. A mode defined in an xsl:mode declaration (the one with highest
> import precedence) that has no "name" attribute specified, or
>
> 2. If there is no xsl:mode without a "name" attribute, then a mode
> that is defined by an (implicit) xsl:mode declaration without any
> attributes.
>
> 3. The unnamed mode defined in 1. and 2. above is used as the value of
> the "mode" attribute of any "xsl:template" or "xsl:apply-templates"
> that have no "mode" attribute specified, unless these are in the scope
> of an "[xsl:]default-mode" attribute, in which case the mode specified
> in the (innermost) "[xsl:]default-mode" attribute is used as the value
> for their "mode" attribute.
>
>
> Any thoughts, please?
>
>
>
> --
> Cheers,
> Dimitre Novatchev

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.