Your code looked OK, but I think it's easier with for-each group,
basically you want to group adjacent lines together, starting each group
with a long line, you can express that directly:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/"><xsl:apply-templates/></xsl:template>
<xsl:template match="node()|@*" priority="-1">
<xsl:copy><xsl:apply-templates select="node()|@*"/></xsl:copy>
</xsl:template>
<xsl:template match="lg">
<lg n="{(_at_)n}">
<xsl:for-each-group select="l" group-starting-with="l[w[4]]">
<l n="{position()}">
<xsl:for-each select="current-group()">
<xsl:copy-of select="(node(),' ')"/>
</xsl:for-each>
</l>
</xsl:for-each-group>
</lg>
</xsl:template>
</xsl:stylesheet>
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
--~------------------------------------------------------------------
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>
--~--