Subject: Re: Grouping elements using XSLT
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Wed, 5 Jul 2006 21:54:33 +0530
|
Please change the code to:
<xsl:template match="/author">
<authors>
<xsl:for-each select="FirstName">
<author>
<authorFName><xsl:value-of select="." /></authorFName>
<authorLName><xsl:value-of
select="following-sibling::LastName[1]" /></authorLName>
</author>
</xsl:for-each>
</authors>
</xsl:template>
Regards,
Mukul
On 7/5/06, Chad Chelius <cchelius@xxxxxxxxxxxxxxx> wrote:
Makul,
This worked! One other question though. As I'm doing this, how would
I change the name of the <FirstName> and <LastName> elements to say
<authorFName> and <authorLName> etc?
On Jun 21, 2006, at 12:43 AM, Mukul Gandhi wrote:
> Your XML is not well formed. I corrected the XML to:
>
> <author>
> <FirstName>Jane</FirstName>
> <LastName>Doe</LastName>
> <FirstName>John</FirstName>
> <LastName>Doe</LastName>
> <FirstName>Howard</FirstName>
> <LastName>Johnson</LastName>
> </author>
>
> The following stylesheet will work:
>
> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/
> Transform">
>
> <xsl:output method="xml" indent="yes" />
>
> <xsl:template match="/author">
> <authors>
> <xsl:for-each select="FirstName">
> <author>
> <xsl:copy-of select=". | following-
> sibling::LastName[1]" />
> </author>
> </xsl:for-each>
> </authors>
> </xsl:template>
>
> </xsl:stylesheet>
>
> Regards,
> Mukul
|