xsl-list
[Top] [All Lists]

Re: [xsl] conditional replacement

2009-01-13 11:21:57
On Tue, Jan 13, 2009 at 5:52 PM, Ganesh Babu N 
<nbabuganesh(_at_)gmail(_dot_)com> 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

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>