Re: [xsl] Grouping in match patterns

Subject: Re: [xsl] Grouping in match patterns
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 19 Jul 2020 08:54:04 -0000
Am 19.07.2020 um 00:47 schrieb Martynas JuseviD
ius martynas@xxxxxxxxxxxxx:
Where do you find the Exselt processor? http://exselt.net returns
something else.


For reasons I don't know it is no longer available; it is a bit of a
pity as it seemed mature enough to serve (in some areas) as one of the
two required implementations to move XSLT 3 to W3C recommendation status
and it was a pure .NET implementation.



On Tue, Jul 14, 2020 at 6:13 PM Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

Am 14.07.2020 um 18:02 schrieb Martin Honnen martin.honnen@xxxxxx:
Am 14.07.2020 um 17:33 schrieb Wendell Piez wapiez@xxxxxxxxxxxxxxx:

XSL-List friends,



Is there anything special I should know about a match pattern such as

"a / (b|c)" -- which gives me an error (in oXygen and running Saxon)?



<xsl:template match="a / (b | c)"/>



Wouldn't it be permitted by the grammar given at

https://www.w3.org/TR/xslt-30/#pattern-syntax? Production [11] would

seem to permit a parenthetical expression as a discrete step. Is there

something I am missing here?



It seems the spec indeed allows this.




Furthermore, Saxon-JS 2 doesn't complain:



Will need to check whether I still have that other XSLT 3 processor
Exselt and what it says.

Exselt allows <xsl:template match="a / (b | c)"/> in e.g.


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
      version="3.0"
      xmlns:xs="http://www.w3.org/2001/XMLSchema";
      exclude-result-prefixes="#all"
      expand-text="yes">

<xsl:mode on-no-match="shallow-copy"/>

<xsl:template match="a / (b | c)"/>

</xsl:stylesheet>

Current Thread