|
Subject: Re: [xsl] Find First Descendants That Match Predicate? From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 24 Dec 2018 21:13:43 -0000 |
On Mon, Dec 24, 2018 at 08:57:40PM -0000, Eliot Kimber ekimber@xxxxxxxxxxxx scripsit:
> Using XPath 3:
[snip]
> Given a starting node, e.g., the root node (but could be any node in the hierarchy) I need to find the first titled "child" nodes, so given the chapter node I need to find S1 and S2 but not S3.
If you meant:
<root>
<chapter><title>C1</title>
<wrapper>
<wrapper>
<section><title>S1</title>
</section>
</wrapper>
<section><title>S2</title>
<section><title>S3</title>
</section>
</section>
</wrapper>
</chapter>
</root>
then
//descendant::*[self::section][title][not(ancestor::*[self::section][title])]
will give you the first titled element of the type you're looking for.
You'll need to put the actual values for "foo" and "bar" in where there's a predicate for [self::section]; [self:foo or self::bar]
-- Graydon
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Find First Descendants That M, Eliot Kimber ekimber | Thread | Re: [xsl] Find First Descendants Th, Dave Pawson dave.paw |
| [xsl] Find First Descendants That M, Eliot Kimber ekimber | Date | Re: [xsl] Find First Descendants Th, Dave Pawson dave.paw |
| Month |