Here´s the full case test:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="replace-values">
<xsl:param name="textfrom"/>
<xsl:param name="textwhere"/>
<!--xsl:variable name="textfrom"
select="concat($textfrom0,'&')"/-->
<xsl:variable
name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable
name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<xsl:choose>
<xsl:when test="contains($textfrom, '{')">
<xsl:variable name="lookfor"
select="substring-before(substring-after($textfrom,'{'),'}')"/>
<xsl:variable name="before"
select="substring-before($textfrom,
concat('{',$lookfor,'}'))"/>
<xsl:variable name="after"
select="substring-after($textfrom,
concat('{',$lookfor,'}'))"/>
<xsl:variable name="value">
<xsl:variable name="ulookfor"
select="translate($lookfor, $lower,
$upper)"/>
<xsl:variable name="llookfor"
select="translate($lookfor, $upper,
$lower)"/>
<xsl:variable name="utextwhere"
select="translate($textwhere,
$lower, $upper)"/>
<xsl:variable name="ltextwhere"
select="translate($textwhere,
$upper, $lower)"/>
<xsl:choose>
<xsl:when
test="substring-before(substring-after($utextwhere,concat($ulookfor,'=')),'&')">
<xsl:value-of
select="substring-before(substring-after($utextwhere,
concat($ulookfor,'=')),'&')"/>
</xsl:when>
<xsl:when
test="substring-before(substring-after($ltextwhere,concat($llookfor,'=')),'&')">
<xsl:value-of
select="substring-before(substring-after($ltextwhere,
concat($llookfor,'=')),'&')"/>
</xsl:when>
<xsl:when
test="substring-after($utextwhere, concat($ulookfor,'='))">
<xsl:variable
name="stest" select="substring-after($utextwhere,
concat($ulookfor,'='))"/>
<xsl:if
test="not(starts-with($stest,'&'))">
<xsl:value-of
select="substring-after($utextwhere,
concat($ulookfor,'='))"/>
</xsl:if>
</xsl:when>
<xsl:when
test="substring-after($ltextwhere, concat($llookfor,'='))">
<xsl:variable
name="stest" select="substring-after($ltextwhere,
concat($llookfor,'='))"/>
<xsl:if
test="not(starts-with($stest,'&'))">
<xsl:value-of
select="substring-after($ltextwhere,
concat($llookfor,'='))"/>
</xsl:if>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$before"/>
<xsl:value-of select="$value"/>
<xsl:call-template name="replace-values">
<xsl:with-param name="textfrom"
select="$after"/>
<xsl:with-param name="textwhere"
select="$textwhere"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$textfrom"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="replace-values">
<xsl:with-param name="textfrom"
select="'list_entidadeprocessos.aspx?k=PAI&entidade_k={ENTIDADE_K}&processo_k={PROCESSO_K}'"/>
<xsl:with-param name="textwhere"
select="'?businessclass=PROCESSO&ENTIDADE_K=&processo_k=xx0001'"/>
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>
--~------------------------------------------------------------------
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>
--~--