Subject: Re: [xsl] To self or not to self From: Syd Bauman <Syd_Bauman@xxxxxxxxx> Date: Fri, 27 Jan 2012 10:25:10 -0500 |
> //figure/preceding-sibling::*[1][figure] The default axis is "child::", so this should be the same as //figure/preceding-sibling::*[1][child::figure] But you said you want the <figure> that has an immediate preceeding sibling. The path //figure/preceding-sibling::*[1][self::figure] picks up the preceding sibling itself, not the <figure> that has the preceding sibling. Perhaps you want something like //figure[preceding-sibling::*[1][self::figure]] > I wanted to isolate the figure element that has a figure as an > immediate preceding sibling. > > <section role="All_models"> > <title>All models</title> > <figure role="Harness_multi-plug"> > <title>ECU harness multi-plug</title> > <mediaobject> > <imageobject> > <imagedata fileref="78650"/> > </imageobject> > </mediaobject> > </figure> > <figure role="Circuit_diagram"> > <title>System circuit diagram</title> > <mediaobject> > <imageobject> > <imagedata fileref="31544"/> > </imageobject> > </mediaobject> > </figure> > </section> > > I settled on //figure/preceding-sibling::*[1][figure] but it gave back > nothing and would only work when I used the explicit form of the self > axis. > > I settled on //figure/preceding-sibling::*[1][self::figure] > > However if I want the title element immediately preceding figure I > don't need to use the explicit form. This works > > //figure/preceding-sibling::*[1][title] > > So what is going on in this particular case (because I don't > understand the difference), and in general when is explicit self > required.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] To self or not to self, Martin Honnen | Thread | [xsl] XQuery 3.0 and maps in Saxon, Jakub Maly |
Re: [xsl] To self or not to self, Martin Honnen | Date | [xsl] XQuery 3.0 and maps in Saxon, Jakub Maly |
Month |