Yes, it is easily approachable, have a look:
XML:
<body>
<RIAssetType><text>Product</text></RIAssetType>
<RIAssetType><text>Service</text></RIAssetType>
<RIAssetType><text>Company/Business Unit</text></RIAssetType>
<RIAssetType><text>Technology</text></RIAssetType>
<RIAssetType><text>Intellectual Property/Data Only</text></RIAssetType>
</body>
XSLT:
<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="body">
<copyBody>
<xsl:call-template name="childCopy">
<xsl:with-param name="bodyChild" select="self::body/child::*"/>
</xsl:call-template>
</copyBody>
</xsl:template>
<xsl:template name="childCopy">
<xsl:param name="bodyChild"/>
<xsl:for-each select="$bodyChild/self::*">
<xsl:copy>
<xsl:copy-of select="."/>
</xsl:copy>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
OUTPUT:
<copyBody>
<RIAssetType>
<RIAssetType>
<text>Product</text>
</RIAssetType>
</RIAssetType>
<RIAssetType>
<RIAssetType>
<text>Service</text>
</RIAssetType>
</RIAssetType>
<RIAssetType>
<RIAssetType>
<text>Company/Business Unit</text>
</RIAssetType>
</RIAssetType>
<RIAssetType>
<RIAssetType>
<text>Technology</text>
</RIAssetType>
</RIAssetType>
<RIAssetType>
<RIAssetType>
<text>Intellectual Property/Data Only</text>
</RIAssetType>
</RIAssetType>
</copyBody>
It seems you got struct in XPATH somewhere, please check again.
<xsl:with-param name="list" select="$bannerList" />. Where is your XSLT where that isn't working as you expect?@somthingan attribute ofcontentelements? If so, it should be$bannerList/@somthing, not$bannerList/../@somthing. As I've already pointed out twice, you're failing to provide the necessary information (this time the source XML) to answer your question without continually asking you for information.