[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: MSXML ancestor-or-self
First of all thanks Chris... Ok my example is a bit poor sorry for that but really my context is C with a file like... <A> <P name="hello" value="blue"/> <P name="aval" value="uppest"/> <B> <P name="bval" value="upper"/> <P name="goodbye" value="red"/> <P name="hello" value="green"/> <C> <P name="goodbye" value="yellow"/> </C> <P name="goodbye" value="orange"/> </B> </A> Expecting output like... ;goodbye=yellow;hello=green;bval=upper;hello=uppest I've just experimented a little with the | operator but can't get anything sensible out of it > Richard, > You can't use ancestor-or-self in this case because of the > structure of you > xml. Look at it like this > <A> > <P name="hello" value="blue"/> > <B> > <P name="goodbye" value="red"/> > <P name="hello" value="green"/> > <C/> > </B> > </A> > If your context node is C then it's ancestors are B and A so > you need the > preceding axis > select="preceding::P" > This will give you all P nodes so you need to add a predicate > so that it > gives you only the nodes which don't have a preceding node > with the same > @name. > select="preceding::P[@name != preceding::P/@name]" > > Ciao Chris > > XML/XSL Portal > http://www.bayes.co.uk/xml > > > >-----Original Message----- > >From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Richard > >Mitchell > >Sent: 07 March 2001 15:12 > >To: 'XSL' > >Subject: MSXML ancestor-or-self > > > > > >Well it seems I've hit a small snag what I want > >is to get a list of variables in a scope so the > >closest is taken and passed on. The XML looks > >something like. > > > ><A> > ><P name="hello" value="blue"/> > > <B> > > <P name="goodbye" value="red"/> > > <P name="hello" value="green"/> > > <C/> > > </B> > ></A> > > > >And my current context is C. With my output looking something like > > > >;hello=green;goodbye=red > > > >So far I've got > > <xsl:for-each select="ancestor-or-self::*/p[ what on > earth can I put > >here ]"> > > ;_<xsl:value-of select="@name"/>=<xsl:value-of > >select="@value"/> > > </xsl:for-each> > >But I've got stuck in the way that MSXML3 seems to be serving up > >the axis in > >document order not reverse document order like it says on > P717 or Michael > >Kays > >excellent book. > > > >Any and all help would be appreciated. > > > >Richard Mitchell > >Software Developer > >http://www.vbnonline.com/ > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > 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
|