Hi Bennett,
at first sight, I would say, this could be done by using function substring-before() in a recursive template:
<xsl:variable name="paragraph-delimiter"> </xsl:variable>
<xsl:template name="print-paragraph"> <xsl:param name="text"/>
<xsl:choose>
<xsl:when test="substring-before($text, $paragraph-delimiter) = ''>
<xsl:choose>
<xsl:when test="starts-with($text, $paragraph-delimiter)">
<xsl:call-template name="print-paragraph">
<xsl:with-param name="text" select="substring-after($text, $paragraph-delimiter)"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="not($text = '')">
<p><xsl:value-of select="$text"/></p>
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<p><xsl:value-of select="substring-before($text, $paragraph-delimiter)"/></p>
<xsl:call-template name="print-paragraph">
<xsl:with-param name="text" select="substring-after($text, $paragraph-delimiter)"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
...
<!-- call to start printing of paragraphs --> <xsl:call-template name="print-paragraph"> <xsl:with-param name="text" select="'This is   sample text.'"/> </xsl:call-template>
I did not test it, but I suppose you got the idea of it. So if there is an error in my snippet you might be able to fix it. If not, tell me.
Hope this was helpful,
Johannes
Bennett wrote:
Hi,
Does anyone know if there's a way to wrap individual paragraphs of a text node stored in an xml source document in an output element?
I've seen all kinds of   to-<br/> examples but no examples of detecting the   in the source document and then using it somehow to wrap each paragraph individually like:
<p>paragraph1</p> <p>paragraph2</p> ...
Does anyone have any ideas/ code samples?
Thank you, Bennett