[Top] [All Lists]

[xsl] XSLT 3.0: Conflicting text describing <xsl:mode>

2014-12-24 11:58:29
 In the 2nd Last Call of the XSLT 3.0 specification, section "6.6.1
Declaring modes" provides the syntax of an <xsl:mode> declaration as:

<!-- Category: declaration -->
< xsl:mode
  name? = eqname
  streamable? = boolean
  on-no-match? = "deep-copy" | "shallow-copy" | "deep-skip" |
"shallow-skip" | "text-only-copy" | "fail"
  on-multiple-match? = "use-last" | "fail"
  warning-on-no-match? = boolean
  warning-on-multiple-match? = boolean
  typed? = boolean | "strict" | "lax" | "unspecified"
  visibility? = "public" | "private" | "final" />

As we clearly see, there is no provision that an <xsl:mode> can have
any content (such as children elements).

However, at the end of the section we read:

"The above rules apply both to the attributes (other than name) of the
xsl:mode element itself, and to the attributes of the contained
xsl:context-item element if present."

So, it seems that an <xsl:mode> can have as a child an
<xsl:context-item> element.

This clearly is in conflict with the syntax above, and the fact that
an "xsl:mode" can have content/children is not mentioned anywhere in
the whole section "6.6 Modes".

One could wonder which is right: the syntax definition above (no
content), or the sentence that implies that an <xsl:mode> can have an
<xsl:context-item> element as child.

If the latter is true, then probably there might be yet other children
elements of <xsl:mode> -- also unmentioned?

It seems that in its current version, the text defining <xsl:mode> is
incomplete and doesn't provide important information about the
structure/content of this XSLT declaration.

Hope that this observation would be reflected in a future, needed correction.

Dimitre Novatchev
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com

<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] XSLT 3.0: Conflicting text describing <xsl:mode>, Dimitre Novatchev dnovatchev(_at_)gmail(_dot_)com <=