Re: [xsl] preceding with the same ancestor as self

Subject: Re: [xsl] preceding with the same ancestor as self
From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Feb 2015 20:57:56 -0000
> How can I restrict the preceding axis so a found node
> will have the same ancestor as the context node? Thanks.


Why don't you use the "preceding-sibling::" axis instead?

Cheers,
Dimitre

On Fri, Feb 27, 2015 at 12:44 PM, Rick Quatro rick@xxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi,
>
> When I am at a <fig> with no text, I want to find the previous <fig> that
> has text, but only within the same ancestor group.
>
> I am using this:
>
> preceding::fig[.!=""][1]
>
> This works for all of the empty <fig> elements in the first <grp>, but in
> the second <grp>, it incorrectly picks up the <fig> with the 4 value from
> the previous <grp>. How can I restrict the preceding axis so a found node
> will have the same ancestor as the context node? Thanks.
>
> Rick
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <doc>
>     <grp>
>         <fig/>
>         <fig>1</fig>
>         <fig>2</fig>
>         <fig/>
>         <sub>
>             <fig>3</fig>
>         </sub>
>         <fig/>
>         <fig>4</fig>
>     </grp>
>     <grp>
>         <fig/>
>         <fig>1</fig>
>         <fig>2</fig>
>         <fig>3</fig>
>         <sub>
>             <fig/>
>         </sub>
>         <fig/>
>     </grp>
> </doc>

Current Thread