This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: xpath - getting precedeing-sibling::element/@id ?
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] xpath - getting precedeing-sibling::element/@id ?
- From: Oliver Becker <obecker at informatik dot hu-berlin dot de>
- Date: Wed, 11 Jul 2001 10:55:40 +0200 (MET DST)
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi,
> also, there is no gaurantee that the preceding element
> is a sibling of the current node.
>
> I'm thinking more along the lines of getting the
> preceding::tab element (cousin (diff parent) or
> sibling) where the current element has tab/@state='on'
>
> for example:
>
> <tab state="off">
> <tab id="1.2.1"></tab>
> <tab id="1.2.2"></tab>
> <tab id="1.2.3"></tab>
> </tab>
> <tab state="on">
> <tab id="1.3.1" state="on"></tab>
> </tab>
> <tab state="off">
> <tab id="1.4.1"></tab>
> </tab>
>
>
> if i'm on tab where id="1.3.1" & state="on", i want to
> grab the preceding nested <tab> (id='1.2.3')...
>
> the end result I'm after is basically so that with the
> deepest <tab> that has state="on", i can grab the
> preceding/following deepest <tab>...in this case
> yielding preceding <tab id="1.2.3"> and following <tab
> id="1.4.1">
If I understand you right, then you mean by preceding also the
ancestors and by following also the descendants.
Do
(preceding::tab | ancestor::tab)[@id][last()]/@id
and
(following::tab | descendant::tab)[@id][1]/@id
fulfill your requirements?
Did you manage to find the deepest tab[@state='on']?
Cheers,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@informatik.hu-berlin.de |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list