xsl-list
[Top] [All Lists]

Count leading spaces using xpath expression

2002-12-03 20:58:06
Hi,
I am looking for a way to count the number of leading spaces in the text of an element. I have written the following template which does this:

        <xsl:template name="countIndent">
                <xsl:param name="str" />
                <xsl:param name="leadingSpaces" select="0"/>
                <xsl:choose>
<xsl:when test="(string-length($str) != 0) and (normalize-space(substring($str, 1, 1)) = '' )" >
                                        <xsl:call-template name="countIndent">
                                        <xsl:with-param name="str" 
select="substring($str, 2)" />
                                        <xsl:with-param name="leadingSpaces" 
select="$leadingSpaces + 1"/>
                                </xsl:call-template>
                        </xsl:when>
                        <xsl:otherwise>
                                <xsl:value-of select="$leadingSpaces" />
                        </xsl:otherwise>
                </xsl:choose>
        </xsl:template>

However, I'd like to get this information as an xpath expression (so I can use it in a predicate e.g. /myElement[(indent expression) > 3]). Is this possible (it would only have to work for spaces, not all whitespace)?
Thanks for any advice.
Grainne.



XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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