XMLからの正規化した行の出力
次の様な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>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
xsl:for-eachがあったり、xsl:ifがあったりといまいちスッキリしません.もっと単純に(一発で)結果を得られるようにはできないものでしょうか?スタイルシートはXSLT 2.0以上で結構です.
以上 よろしくお願いします.