xsl-list
[Top] [All Lists]

Re: [xsl] Using node-set variables in predicates (another node comparison question)

2022-01-01 03:20:20

Am 01.01.2022 um 07:00 schrieb Chris Papademetrious
christopher(_dot_)papademetrious(_at_)synopsys(_dot_)com:

Hi everyone, and happy new year's!

Let's say I have a variable that contains a set of nodes:

<xsl:variable name="nodes" select="//(foo|bar|baz)"/>

In XPath 3.0, I can apply a template directly to this node-set
variable (very cool!):

<xsl:template match="$nodes">

However, what's the best way to use this node-set variable as a
predicate filter? For example, let's say I wanted to select every
preceding sibling node directly before each node in the variable:

<xsl:template match="preceding-sibling::node()[1][. intersect $nodes]">

The "interesect" operator works, but it's not intuitive. Is there a
simple Boolean operator that indicates whether a given node exists in
a set of nodes?

Or you can use

   [generate-id() = $nodes!generate-id()]

as the predicate.
--~----------------------------------------------------------------
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>