Subject: Re: [xsl] Preceding Ancestors From: tcn@xxxxxxxxxxxxx (Trevor Nash) Date: Wed, 08 Aug 2001 15:53:51 GMT |
You want the ancestors minus any following: set difference, in other words. <xsl:variable name="a" select="ancestor::*/p" /> <xsl:variable name="f" select="following::p" /> <xsl:variable name="in-scope" select="$a[count(.|$f) != count($f) /> If you are using Saxon, look up difference(). Mike Kay deserves at least half the prize - the answer is of course in his book (see UnionExpr). Or you could be modern and allow use before definition -) Regards, Trevor Nash >Well I'm trying to create some sort of scoping rule >into my XML definition ( well it's already there but >I'm trying to get at it from deep inside one long >XPath expression ). What I can't work out is >how to get at any preceding elements that are in >my 'scope' i.e. from a file like > ><s> > <m> > <p a="1"/> > <p a="2"/> > <m> > <p a="3"/> > <p a="4"/> > <p a="5"/> > </m> > <m> > <p a="6"/> > <p a="7"/> <---Context is here > <p a="8"/> > </m> > <p a="9"/> > </m> ></s> > >And I'm expecting something like > <p a="1"/> > <p a="2"/> > <p a="6"/> > >I've tried ancestor::*/p but that will give me <p a="9"/> too. > >Any ideas out there pleeeeze. I'll owe you a beer ( or beverage >of your choice ) next time you're in Cambridge. > >Ta Muchly. > >Richard Mitchell >Software Developer >http://www.vbnonline.com/ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list -- Traditional training & distance learning, Consultancy by email Melvaig Software Engineering Limited voice: +44 (0) 1445 771 271 email: tcn@xxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Preceding Ancestors, Richard Mitchell | Thread | RE: [xsl] Preceding Ancestors, Michael Kay |
RE: [xsl] Preceding Ancestors, Richard Mitchell | Date | [xsl] namespaces and copying trees, Joern Clausen |
Month |