Hi,
I'm not sure but i think it has something to do with the
ati:replace-with-nodes-1 function call in ati:replace-with-nodes. this
should return a xs:string and not a node() as per requirement in the 1st
parameter of ati:replace-with-nodes function.
i tried this inside the ati:replace-with-nodes-1 function:
<xsl:message terminate="yes">
<xsl:value-of select="$input"/>
<xsl:value-of select="$word-to-replace"/>
<xsl:copy-of select="$replacement"/>
</xsl:message>
and got nothing... i really can't find the actual problem but i think it
lies in the ati:replace-with-nodes-1 function.
-- jeff
Florent Georges wrote:
<xsl:sequence select="
if ( exists($words-to-replace) ) then
ati:replace-with-nodes(
ati:replace-with-nodes-1(
$input, $words-to-replace[1], $replacement[1]
),
remove($words-to-replace, 1),
remove($replacement, 1)
)
else
$input
"/>
<!--
Internal. Coroutine for ati:replace-with-nodes().
Treat a single replacement.
-->
<xsl:function name="ati:replace-with-nodes-1" as="node()*">
<xsl:param name="input" as="xs:string?"/>
<xsl:param name="word-to-replace" as="xs:string"/>
<xsl:param name="replacement" as="node()"/>
<xsl:variable name="before" select="
substring-before($input, $word-to-replace)"/>
<xsl:choose>
<xsl:when test="exists($before)">
<xsl:value-of select="$before"/>
<xsl:sequence select="$replacement"/>
<xsl:sequence select="
ati:replace-with-nodes-1(
substring-after($input, $word-to-replace),
$word-to-replace,
$replacement
)"/>
</xsl:when>
<xsl:otherwise>
<xsl:sequence select="$input"/>
</xsl:otherwise>
</xsl:choose>
</xsl:function>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--