rendered paste bodyXML:
<response>
<item1>
<item name="test1_1"/>
<item name="test1_2"/>
<item name="test1_3"/>
<item name="test1_4"/>
<item name="test1_5"/>
<item name="test1_6"/>
</item1>
<item2>
<item name="test2_1"/>
<item name="test2_2"/>
<item name="test2_3"/>
<item name="test2_4"/>
<item name="test2_5"/>
<item name="test2_6"/>
</item2>
</response>
XSLT:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" encoding="utf-8" omit-xml-declaration="yes"/>
<xsl:template match="/">
<response>
<xsl:for-each select="/response/item1/item">
<item>
<xsl:attribute name="id"><xsl:value-of select="position()" /></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
</item>
</xsl:for-each>
<xsl:for-each select="/response/item2/item">
<item>
<xsl:attribute name="id"><xsl:value-of select="position()" /></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
</item>
</xsl:for-each>
</response>
</xsl:template>
</xsl:stylesheet>
Result:
<response>
<item id="1" name="test1_1">
</item>
<item id="2" name="test1_2">
</item>
<item id="3" name="test1_3">
</item>
<item id="4" name="test1_4">
</item>
<item id="5" name="test1_5">
</item>
<item id="6" name="test1_6">
</item>
<item id="1" name="test2_1">
</item>
<item id="2" name="test2_2">
</item>
<item id="3" name="test2_3">
</item>
<item id="4" name="test2_4">
</item>
<item id="5" name="test2_5">
</item>
<item id="6" name="test2_6">
</item>
</response>