Subject: [xsl] Identity Transform with special grouping From: Senthilukvelaan <skumaravelan@xxxxxxxxxxxxxx> Date: Fri, 4 Feb 2011 22:53:08 -0800 |
Hi I am trying to do the identity transform with grouping on the node name under section. I want select only the first section node and put it under sections. Based the conditions I might need to select more than one section. The application might change the configuration to make 2 or 3 ..n. My XML looks like <event> <note> </note> <note> </note> <header> <section> <para1>test</para1> <para1>test</para1> </section> <section> <para1>test</para1> <para1>test</para1> </section> <section> <para1>test</para1> <para1>test</para1> </section> </header> <payload> <elements/> </payload> </event> My xslt looks for the expected out <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" omit-xml-declaration="yes" indent="yes" encoding="UTF-8" /> <!--NO change here is expected, because node names are dynamic in nature--> <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node()| @*"/> </xsl:copy> </xsl:template> <xsl:template match="header/section[position() < 2]" > <xsl:apply-templates select="@*|node()"/> </xsl:template> <xsl:template match="section" > </xsl:template> </xsl:stylesheet> My expected output is <event> <note> </note> <note> </note> <header> <sections> <section> <para1>test</para1> <para1>test</para1> </section> </sections> </header> <payload> <elements/> </payload> </event>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Matching a recursive loca, David Lee | Thread | Re: [xsl] Identity Transform with s, Martin Honnen |
Re: [xsl] Matching a recursive loca, Brandon Ibach | Date | Re: [xsl] Identity Transform with s, Martin Honnen |
Month |