[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Please try this stylesheet:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:key name="x" match="Root/*" use="local-name()" />
</xsl:stylesheet>
This when applied to XML:
Produces the wanted result:
On 9/14/06, Arulraj <p_arulraj@xxxxxxxxx> wrote:
http://gandhimukul.tripod.com
Re: [xsl] Grouping the elements
Subject: Re: [xsl] Grouping the elements From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Thu, 14 Sep 2006 18:21:48 +0530 |
Please try this stylesheet:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:key name="x" match="Root/*" use="local-name()" />
<xsl:template match="/Root"> <Root> <xsl:for-each select="*[generate-id() = generate-id(key('x', local-name())[1])]"> <xsl:choose> <xsl:when test="count(key('x', local-name())) > 1"> <xsl:element name="{local-name()}List"> <xsl:copy-of select="key('x', local-name())" /> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:copy-of select="key('x', local-name())" /> </xsl:otherwise> </xsl:choose> </xsl:for-each> </Root> </xsl:template>
</xsl:stylesheet>
This when applied to XML:
<?xml version="1.0" encoding="UTF-8"?> <Root> <year>2006</year> <year>2007</year> <year>2008</year> <week>1</week> <day>01</day> <day>02</day> </Root>
Produces the wanted result:
<?xml version="1.0" encoding="UTF-8"?> <Root> <yearList> <year>2006</year> <year>2007</year> <year>2008</year> </yearList> <week>1</week> <dayList> <day>01</day> <day>02</day> </dayList> </Root>
On 9/14/06, Arulraj <p_arulraj@xxxxxxxxx> wrote:
Hi,
I have the following xml for my input..
<?xml version="1.0" encoding="UTF-8"?> <Root> <year>2006</year> <year>2007</year> <year>2008</year> <week>1</week> <day>01</day> <day>02</day> </Root>
My expected output is
<Root> <yearList> <year>2006</year> <year>2007</year> <year>2008</year> <yearList> <week>1</week> <dayList> <day>01</day> <day>02</day> </dayList> </Root>
I want to group the element using xslt 1.0 and here element name is not fixed..it will be varied. when we have the same element then we need a parent element which have the element's name with List (i.e., yearList)
Is it possible to grouping in xslt1.0?
regards, raj
-- Regards, Mukul Gandhi
http://gandhimukul.tripod.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Grouping the elements, Abel Braaksma | Thread | Re: [xsl] Grouping the elements, Abel Braaksma |
[xsl] Is there a way to utilise dis, Karl | Date | Re: [xsl] How to View Entity Refere, David Carlisle |
Month |