[xsl] Grouping in match patterns

Subject: [xsl] Grouping in match patterns
From: "Wendell Piez wapiez@xxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 14 Jul 2020 15:33:02 -0000
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?

While it's easy enough to write "a/b | a/c", in the real world, this
isn't quite my case -- the pattern is machine-generated and the paths
are potentially complex, such as (a simple case with only two
branches):

j:map[@key='ANTHOLOGY']/j:map[@key='meta']/ (
j:array[@key='keywords']/j:string | j:string[@key='keywords'] )

Thanks for any insights --
Wendell

-- 
...Wendell Piez... ...wendell -at- nist -dot- gov...
...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org...
...github.com/wendellpiez... ...gitlab.coko.foundation/wendell...

Current Thread