Re: [xsl] Grouping in match patterns

Subject: Re: [xsl] Grouping in match patterns
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 14 Jul 2020 16:13:02 -0000
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