RE: [xsl] Confounded by grand-parents

Subject: RE: [xsl] Confounded by grand-parents
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 24 Apr 2003 10:03:08 +0100
To test whether the grandparent block is the first block child of its parent, do

test="not(../parent::block/preceding-sibling::block)"

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Jon Steeves
> Sent: 23 April 2003 21:32
> To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: RE: [xsl] Confounded by grand-parents
> 
> 
> Unfortunately, I need the template to match on the register 
> and then test to see if the grandparent is the 1st element of 
> its type.
> 
> Thanks
> 
> Jon
> 
> -----Original Message-----
> From: Marty McKeever [mailto:marty.mckeever@xxxxxxxxxx]
> Sent: Wednesday, April 23, 2003 12:41 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Confounded by grand-parents
> 
> 
> you might try
> 
> xsl:template match="blocks/block[1]/register[1]"
> 
> or if you need the xsl:choose sytntax, i'm sure someone will 
> post a fine example of the preceding-sibling::axis.
> 
> cheers
> 
> 
> I~I~
> 
> > -----Original Message-----
> > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of 
> Jon Steeves
> > Sent: Wednesday, April 23, 2003 3:11 PM
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] Confounded by grand-parents
> >
> >
> > Hello:
> > 	Here's the xml I'm working with:
> >
> > 			<blocks>
> > 				<block>
> > 					 <registers>
> > 					  <register/>
> > 					  <register/>
> > 					 </registers>
> > 				</block>
> > 				<block>
> > 					 <registers>
> > 					  <register/>
> > 					  <register/>
> > 					 </registers>
> > 				</block>
> > 			</blocks>
> >
> > I want to process a register node if:
> > 	1. It is the first register node and
> > 	2. Its block grandparent is the first block node.
> >
> > Here's what I've come up with so far, but it isn't working.
> >
> > <xsl:template match="register">
> >  <xsl:choose>
> >   <xsl:when test="parent::*[position()=1]/parent::* and 
> position()=1">
> >
> > Can someone clear up my thinking here?
> >
> >
> > Cheers
> >
> >
> > Jon Steeves
> > Technical Communications
> > (604) 415-6053 ext. 2139
> > jon_steeves@xxxxxxxxxxxxxx
> >
> >
> >  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
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread