Subject: Re: conditional replacement
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Tue, 13 Jan 2009 21:51:27 +0530
|
On Tue, Jan 13, 2009 at 5:52 PM, Ganesh Babu N <nbabuganesh@xxxxxxxxx> wrote:
> I have tried with the following expressions but I am not getting the result.
>
> <xsl:if test="document('ini.xml')//init/space = 1">
> <xsl:variable name="space" select=" "/>
> </xsl:if>
You cannot use the above variable any further in the stylesheet. As
the scope of the variable is only within the enclosing xsl:if element.
Since you are using XSLT 2.0, I suggest you can use something like:
<xsl:variable name="space" select="if (document('ini.xml')//init/space
= 1) then ' ' else ''"/>
> <xsl:choose>
> <xsl:when test="document('ini.xml')//init/remove = 1">
> <xsl:variable name="pat" select="string('.')"/>
> </xsl:when>
> <xsl:otherwise>
> <xsl:variable name="pat" select="\.[^$]"/>
> </xsl:otherwise>
> <xsl:choose>
This variable declaration will not work either, for the same reason I
wrote above.
I suggest, please use:
<xsl:variable name="pat" select="if (document('ini.xml')//init/remove
= 1) then string('.') else \.[^$]"/>
PS: I haven't checked the correctness of regular expressions.
--
Regards,
Mukul Gandhi
|