Ok. I got it. This is the XSLT document I have to output carriage returns you need.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<!-- start at the document root -->
<xsl:template match="/">
<!-- select any element that follows
the 'item' element and output it's name -->
<xsl:for-each select="/order/item/following::*">
<xsl:value-of select="name()"/><xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template match="text()"/>
<!-- appears to be redundant -->
</xsl:stylesheet>
The second template is redundant because you never allow XSLT to leave the template matching the root of the document. So it is redundant. In general, it is a dangerous template to be around, as it gets rid of all character data, if you are not careful.
So, do use xsl:text as is shown above.
------------------
Khun Yee Fung
Author of
XSLT: Working with XML and HTML