It's not a very good XML design, but if you're stuck with it, do
<xsl:for-each select="child::text()">
<xsl:value-of select="."/>
</xsl:for-each>
Also useful is <xsl:strip-space elements="*" which causes whitespace text nodes to be removed.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference