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

Subject: Aw: [xsl] Using node-set variables in predicates (another node comparison question)
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 1 Jan 2022 08:38:37 -0000
I think you have the right expression but you could also use
[some $node in $nodes satisfies . is $node]
as the predicate.

--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail
gesendet.Am 01.01.22, 07:00 schrieb "Chris Papademetrious
christopher.papademetrious@xxxxxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>:

  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? ([. = $nodes] compares text evaluations of the nodes,
  not the nodes themselves.)

  I hope the answer is not obvious, because I spent longer than I'd
  like to admit trying to figure this out.  :)

  - Chris

  XSL-List info and archiveEasyUnsubscribe (by email)

XSL-List info and archiveEasyUnsubscribe (by email)

Current Thread