Subject: Re: [xsl] Inheriting an attribute from first ancestor that defines it From: "Sean O'Halpin" <seanohalpin@xxxxxxxxxxx> Date: Sat, 26 Oct 2002 11:55:48 +0100 |
Thank you Jeni for explaining this so clearly. (Is this the right place to say that I found your webpages on XSL very helpful indeed? :) Regards, Sean ----- Original Message ----- From: "Jeni Tennison" <jeni@xxxxxxxxxxxxxxxx> To: "Sean O'Halpin" <seanohalpin@xxxxxxxxxxx> Cc: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Friday, October 25, 2002 7:28 PM Subject: Re: [xsl] Inheriting an attribute from first ancestor that defines it > Hi Sean, > > > Specifically, is there a more general way (than specifying > > test="../@attr", test="../../@attr") to select the first ancestor > > travelling back up the tree that defines a specific attribute? > > Sure: select all the ancestor elements: > > ancestor::* > > filter them to select only those with style attributes: > > ancestor::*[@style] > > and then pick the first of those that you find: > > ancestor::*[@style][1] > > (You can use [1] to select the nearest to the element you're on -- the > last in document order -- because the ancestor axis is a "reverse" > axis.) > > In your stylesheet, you could just do: > > <xsl:template match="page"> > <page> > <xsl:copy-of select="@* | ancestor::*[@style][1]/@style"/> > <xsl:apply-templates/> > </page> > </xsl:template> > > Cheers, > > Jeni > > --- > Jeni Tennison > http://www.jenitennison.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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Inheriting an attribute f, Jeni Tennison | Thread | [xsl] Table not being rendered-bug , Whitney, Dan (FPDG) |
Re: [xsl] Inheriting an attribute f, Sean O'Halpin | Date | Re: [xsl] changing node names in XM, Vasu Chakkera |
Month |