AHA!!!! Thanks Ken but I am using 1.0.
"G. Ken Holman" <gkholman(_at_)CraneSoftwrights(_dot_)com>
01/08/11 06:20 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
cc
Subject
Re: [xsl] Adding child element based on attribute value [XSLT 1.0]
At 2011-01-08 17:20 +0530, pankaj(_dot_)c(_at_)thomsondigital(_dot_)com wrote:
Is there a way if I have XML.
<my_group count=3/>
The output I am expecting is adding child element based on value of
@count.
Output something like
<my_group count="3">
<group name="type1"/>
<group name="type2"/>
<group name="type3"/>
</mygroup>
Any ideas will be highly appreciated.
You don't say how your name= attributes are derived, so I guessed.
The answer below using XSLT 2 is quite straightforward.
I hope this helps.
. . . . . . . . . . Ken
T:\ftemp>type pankaj.xml
<my_group count="3"/>
T:\ftemp>type pankaj.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xsd"
version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="my_group">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:for-each select="1 to xsd:integer(@count)">
<group name="type{.}"/>
</xsl:for-each>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
T:\ftemp>xslt2 pankaj.xml pankaj.xsl
<?xml version="1.0" encoding="UTF-8"?>
<my_group count="3">
<group name="type1"/>
<group name="type2"/>
<group name="type3"/>
</my_group>
T:\ftemp>
--
Contact us for world-wide XML consulting & instructor-led training
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--