Subject: [xsl] Re: String replace special case From: António Mota <amsmota@xxxxxxxxx> Date: Mon, 13 Feb 2006 16:53:46 +0000 |
BTW, and i'm sorry for all the posts, the second bug is this: the result <?xml version="1.0" encoding="UTF-8"?> list_entidadeprocessos.aspx?k=PAI&entidade_k=&processo_k=XX0001 should be <?xml version="1.0" encoding="UTF-8"?> list_entidadeprocessos.aspx?k=PAI&entidade_k=&processo_k=xx0001 Any hint? On 13/02/06, Antsnio Mota <amsmota@xxxxxxxxx> wrote: > Here4s 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,'=')),'&a mp;')"> > <xsl:value-of > select="substring-before(substring-after($utextwhere, > concat($ulookfor,'=')),'&')"/> > </xsl:when> > <xsl:when > test="substring-before(substring-after($ltextwhere,concat($llookfor,'=')),'&a mp;')"> > <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}&pr ocesso_k={PROCESSO_K}'"/> > <xsl:with-param name="textwhere" > select="'?businessclass=PROCESSO&ENTIDADE_K=&processo_k=xx0001'"/> > </xsl:call-template> > </xsl:template> > </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: String replace special ca, António Mota | Thread | [xsl] Testing for presence of alpha, Ian MacDaniel |
[xsl] Re: String replace special ca, António Mota | Date | [xsl] XSL-FO and Spaces, "Inez Störzer" |
Month |