Subject: Re: [xsl] XSL/XPath to generate a list of ancestors? From: "Darcy Parker" <darcyparker@xxxxxxxxx> Date: Mon, 12 May 2008 12:00:32 -0400 |
Have a look at http://xsltsl.sourceforge.net/node.html There is template that generates an XPath for a given node. This is pretty similar to your desired template. Darcy On Mon, May 12, 2008 at 11:51 AM, Nathan Potter <ndp@xxxxxxxxxxxxxxxxxxxx> wrote: > > I need to concatenate the "name" attributes of all of the parents for each > element. All I could figure out was to use a recursive template. Is there a > more straightforward way to accomplish this? > > > > XML: > > <Dataset name="root"> > <A name="a1"> > <A name="a2"> > <A name="a3" /> > </A> > </A> > <B name="b1"> > <B name="b2"/> > </B> > </Dataset> > > Desired output: > > <fullName>a1</fullName> > <fullName>a1.a2</fullName> > <fullName>a1.a2.a3</fullName> > > <fullName>b1</fullName> > <fullName>b1.b2</fullName> > > > XSL: > > <xsl:template name="fullName"> > <fullName> > <xsl:call-template name="fullNameWorker" /> > </fullName > > </xsl:template> > > <xsl:template match="*" name="fullNameWorker" mode="fullName"> > <xsl:if test=".!=/"> > <xsl:apply-templates select=".." mode="fullName"/> > <xsl:if test="..!=/">.</xsl:if> > <xsl:value-of select="@name"/> > </xsl:if> > </xsl:template> > > ============================================================ > Nathan Potter Oregon State University, COAS > ndp at coas.oregonstate.edu 104 Ocean. Admin. Bldg. > 541 737 2293 voice Corvallis, OR 97331-5503 > 541 737 2064 fax
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSL/XPath to generate a l, Scott Trenda | Thread | Re: [xsl] XSL/XPath to generate a l, Martin Honnen |
RE: [xsl] XSL/XPath to generate a l, Scott Trenda | Date | Re: [xsl] XSL/XPath to generate a l, Martin Honnen |
Month |