Re: [xsl] Grouping elements using XSLT

Subject: Re: [xsl] 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

Current Thread