ich find bin Durchführung und ersetzen auf dem Zeilenvorschub-Zeichen (
) und mit dem Absatz schließen und Absatz öffnet Tags ersetzt den folgenden Code verwenden:Suchen und Ersetzen mit einzigartigen
<xsl:template match="/STORIES/STORY">
<component>
<xsl:if test="boolean(ARTICLEBODY)">
<p>
<xsl:call-template name="replace-text">
<xsl:with-param name="text" select="ARTICLEBODY" />
<xsl:with-param name="replace" select="' '" />
<xsl:with-param name="by" select="'</p><p>'" />
</xsl:call-template>
</p>
</xsl:if>
</component>
</xsl:template>
<xsl:template name="replace-text">
<xsl:param name="text"/>
<xsl:param name="replace" />
<xsl:param name="by" />
<xsl:choose>
<xsl:when test="contains($text, $replace)">
<xsl:value-of select="substring-before($text, $replace)"/>
<xsl:value-of select="$by" disable-output-escaping="yes"/>
<xsl:call-template name="replace-text">
<xsl:with-param name="text" select="substring-after($text, $replace)"/>
<xsl:with-param name="replace" select="$replace" />
<xsl:with-param name="by" select="$by" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Diese fast perfekt funktioniert , außer dass ich es wirklich brauche, um die Zeilenvorschübe zu duplexieren, da die Absätze dazu neigen, durch 2 oder mehr getrennt zu werden, was zu </p><p></p><p>
führt.
Ist es möglich, es so zu bekommen, dass es nur dieses einmal pro Absatz jemals ersetzen wird?