Something like below perhaps?
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Attribute">
<OtherAttributes>
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
<xsl:apply-templates
select="following-sibling::*[1][self::Attribute]" mode="att"/>
</OtherAttributes>
</xsl:template>
<xsl:template
match="Attribute[preceding-sibling::*[1][self::Attribute]]"/>
<xsl:template match="Attribute" mode="att">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
<xsl:apply-templates
select="following-sibling::*[1][self::Attribute]" mode="att"/>
</xsl:template>
<xsl:template match="node() | @*" mode="att">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Khorasani, Houman wrote:
Hi,
I have a problem, which should be quite straight forward but I can't
find the solution.
XML:
<a>1</a>
<b>2</b>
<Attribute>
<Name>xx</Name>
<Value>xx</Value>
</Attribute>
<Attribute>
<Name>yy </Name>
<Value>yy</Value>
</Attribute>
...
<c>3</c>
Would like to generate:
<a>1</a>
<b>2</b>
<OtherAttributes>
<Attribute>
<Name>xx</Name>
<Value>xx</Value>
</Attribute>
<Attribute>
<Name>yy </Name>
<Value>yy</Value>
</Attribute>
...
</OtherAttributes>
<c>3</c>
There could be 0 to n attribute elements and I would like to wrap them
between an OtherAttributes.
I have tried to solve it by recursive templates, but somehow I don't get
there. Any suggestions?
Many thanks
Houman
--~------------------------------------------------------------------
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>
--~--