Re: [xsl] xsl:mode and priorities question

Subject: Re: [xsl] xsl:mode and priorities question
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 3 Feb 2020 17:06:04 -0000
I think the answer is that despite there being two xsl:mode declarations,
there is only one mode, and the properties/attributes of that mode (such as
on-no-match) are determined by the highest-precedence definition. In this case
the two definitions of the mode are identical so there is no ambiguity.

Because there is only one mode named foo, there is no ambiguity as to which
template rules it contains.

Michael Kay
Saxonica

> On 3 Feb 2020, at 14:52, Christophe Marchand cmarchand@xxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hello,
>
> XSL 3.0, imports and modes.
>
> main.xsl declares a mode, and imports imported.xsl, that declares the same
mode and defines a template in that mode :
>
> main.xsl:
> <xsl:mode name="foo" on-no-match="shallow-copy"/>
> <xsl:import href="imported.xsl"/>
>
> imported.xsl
> <xsl:mode name="foo" on-no-match="shallow-copy"/>
> <xsl:template match="bar" mode="foo" />
>
> If I process bar.xml, which is just <bar/>, in foo mode, what should I
expect :
>
> A shallow-copy, defined by foo mode in main.xsl, or an empty-sequence by
template match in imported.xsl ?
>
> Does xsl:import precedence applies to modes matching also, or only to
template matching ?
>
> Best,
> Christophe

Current Thread