次の様なXMLがあります.

<?xml version="1.0" encoding="UTF-8"?>
<sect>
    <p>  donguri korokoro 
        donburiko    </p>
    <p>koike ni hamatte saa         taihen</p>
    <p>dojyou      mo  detekite    konnnitiwa</p>
    <p>   bocchann isshoni     asobimasho    </p>
</sect>

これから<p>を単位としてホワイトスペースを正規化して行にし

donguri korokoro donburiko
koike ni hamatte saa taihen
dojyou mo detekite konnnitiwa
bocchann isshoni asobimasho

というテキスト出力を得たいです.最終行には改行はなくてかまいません.
今まではこんなスタイルシートを作っていましたが、

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

    <xsl:output method="text" encoding="UTF-8"/>

    <xsl:template match="/">
        <xsl:for-each select="sect/p">
            <xsl:value-of select="normalize-space(.)"/>
            <xsl:if test="position() ne last()">
                <xsl:text>&#x0A;</xsl:text>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>

xsl:for-eachがあったり、xsl:ifがあったりといまいちスッキリしません.もっと単純に(一発で)結果を得られるようにはできないものでしょうか?スタイルシートはXSLT 2.0以上で結構です.

以上 よろしくお願いします.