Subject: RE: [xsl] Count leading spaces using xpath expression From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Wed, 4 Dec 2002 09:46:11 -0000 |
First translate the first non-space to "x": translate($str, translate($str, ' ', ''), 'x') then it's easy: string-length(substring-before( translate($str, translate($str, ' ', ''), 'x'), 'x')) If you need to handle strings containing all spaces, you may need to concat() an 'x' at the end before you start. Not tested. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Grainne Reilly > Sent: 04 December 2002 03:58 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Count leading spaces using xpath expression > > > 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 > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Count leading spaces using xp, Grainne Reilly | Thread | RE: [xsl] Count leading spaces usin, Jeff Beadle |
Re: [xsl] nbsp (in parameter) quest, Joerg Heinicke | Date | [xsl] Getting my text children, Ignacio Vera |
Month |