xsl-list
[Top] [All Lists]

Re: the fastest way to test if variable is empty

2004-12-09 01:32:48
Ok, here is example structure of code and why I use it:

At first, my old implementation does something like:

<xsl:variable name="mayContinue">
        <xsl:choose>
                <xsl:when 
test="some_big_test_over_big_xml_trees_which_was_very_slow">1</xsl:when>
                <xsl:otherwise>0</xsl:otherwise>
        </xsl:choose>

        <xsl:if test="$mayContinue=1">

                <xsl:if 
test="other_big_test_to_check_if_something_will_be_processed">
                        <!-- print header -->
                        <!-- process data and generate output -->
                        <!-- print bottom -->
                </xsl:if>

        </xsl:if>


but test other_big_test_to_check_if_something_will_be_processed was very slow. 
Much faster it is like this:


.....
        <xsl:if test="$mayContinue=1">
                <xsl:variable name="processOutput">
                        <!-- process data and generate output -->
                </xsl:variable>

                <xsl:if test="string-length($processOutput)!=0">
                        <!-- print header -->
                        <xsl:value-of select="$processOutput"/>
                        <!-- print bottom -->
                </xsl:if>

        </xsl:if>

But I am afraid that when $processOutput will be too big (for example 100000 
lines of text output), test for it's string-length may be slow.


I will test it.

Thanks



-- 


S pozdravom,
Dusan Zatkovsky

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