|
Subject: Re: [xsl] build group of elements From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 24 Jun 2012 12:11:45 -0300 |
sorry for my mistake..again the input xml data and the expecting output: The xml data has many foo elements (1000).
~/t/ftemp $ cat henry.xml
<?xml version="1.0" encoding="UTF-8"?>
<xmldata>
<ss> s </ss>
<nn>n </nn>
<foo>tt</foo>
<foo>bb</foo>
<foo>aa</foo>
<foo>mm</foo>
<foo>ll</foo>
<foo>nn</foo>
<foo>ff</foo>
<foo>gg</foo>
<foo>ii</foo>
<hh>h</hh>
</xmldata>
~/t/ftemp $ xslt2 henry.xml henry.xsl
<?xml version="1.0" encoding="UTF-8"?>
<fooGroup>
<_1st_element>
<_1st_element>tt</_1st_element>
<_2nd_element>bb</_2nd_element>
<_3rd_element>aa</_3rd_element>
</_1st_element>
<_2nd_element>
<_1st_element>mm</_1st_element>
<_2nd_element>ll</_2nd_element>
<_3rd_element>nn</_3rd_element>
</_2nd_element>
<_3rd_element>
<_1st_element>ff</_1st_element>
<_2nd_element>gg</_2nd_element>
<_3rd_element>ii</_3rd_element>
</_3rd_element>
</fooGroup>~/t/ftemp $
~/t/ftemp $ cat henry.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="urn:X-henry" exclude-result-prefixes="h"
version="2.0"><xsl:template match="xmldata">
<xsl:for-each-group select="foo"
group-adjacent="(position()-1) idiv 9">
<fooGroup>
<xsl:for-each-group select="current-group()"
group-adjacent="(position()-1) idiv 3">
<xsl:element name="_{h:ord(position())}_element">
<xsl:for-each select="current-group()">
<xsl:element name="_{h:ord(position())}_element">
<xsl:copy-of select="node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each-group>
</fooGroup>
</xsl:for-each-group>
</xsl:template><xsl:function name="h:ord"> <xsl:param name="pos"/> <xsl:number value="$pos" ordinal="1"/> </xsl:function>
</xsl:stylesheet> ~/t/ftemp $
-- Public XSLT, XSL-FO, UBL and code list classes in Europe -- Oct 2012 Contact us for world-wide XML consulting and instructor-led training Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] build group of elements, henry human | Thread | Re: [xsl] build group of elements, henry human |
| [xsl] calculate UTC, henry human | Date | Re: [xsl] calculate UTC, G. Ken Holman |
| Month |