[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Preceding Ancestors
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|