This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Counting number of characters of sibling text node


Hello!

Why not just
<xsl:value-of select="string-length() +
string-length(preceding-sibling::text())"/> ?


Filipe Correia wrote:
> What I want to do is to count the number os characters in a  text node and all previous text nodes children of the current text node's parent.
> 
>            parent
>               |
>   ----------------------------
>   |        |        |         |
> text1 <br/>  text2  <br/>
> 
> 
>   When having text1 has the current node my template would return the number of characters of text1 but when having text2 has the current node my template would return the sum of number of characters of text1 with number of characters of text2.
> 
>   I've tried using the following template:
> 
> <xsl:template match="text()" mode="getStrLen">
>    <xsl:variable name="pastTxtLen"><xsl:apply-templates select="preceding-sibling::text()[1]" mode="getStrLen"/></xsl:variable>
>    <xsl:value-of select="string-length($pastTxtLen) + string-length(.)" />
> </xsl:template>
> 
> I get it's result by doing: 
> <xsl:variable name="pastTxtLen"><xsl:apply-templates select="." mode="getStrLen"/></xsl:variable>
> 
> Doing it this way I get the rong result.
> For the example above, when I have text1 has the current node it works fine(the number of characters of text1 only is returned) but when I have text2 has the current node a rong result.
> 
>    Any suggestions?
> 
>       Filipe
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 



-- 
Oleg Tkachenko
Multiconn International, Israel


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]