Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] Trying to find following sibling that ends in punctuation >Thread Next - Re: [xsl] Trying to find following sibling that ends in punctuation RE: [xsl] Trying to find following sibling that ends in punctuationTo: Date: 11/4/2006 8:57:00 AM You haven't shown the function f:f_StringEndsWith($p_Node) You would get infinite recursion if this function always returns the value "noPunct" when its argument is an empty sequence. Just a theory. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Marijan (Mario) Madunic [mailto:hajduk@xxxxxxxx] > Sent: 04 November 2006 00:44 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Trying to find following sibling that ends in > punctuation > > Using XSLT 2, XPath 2, and Saxon8 > > I'm trying to get the count(of preceding::*) of a following > sibling node that ends with some sort of punctuation, and > throw this value into a variable. > > I've created a recurisive template > > <xsl:template name="ct_PositionOfNodeThatEndsWithPunct"> > > <!-- set a default value for p_Node --> > <xsl:param name="p_Node" > select="following-sibling::*[self::P][1]" /> > > <!-- test what the element ends with --> > <xsl:variable name="l_EndsWith" > select="f:f_StringEndsWith($p_Node)" /> > > <xsl:choose> > <xsl:when test="$l_EndsWith = 'noPunct'"> > <xsl:call-template > name="ct_PositionOfNodeThatEndsWithPunct"> > <xsl:with-param name="p_Node" > select="following-sibling::*[self::P][1]" /> > </xsl:call-template> > </xsl:when> > <xsl:otherwise><xsl:value-of > select="count(preceding::*) + 1" /></xsl:otherwise> > </xsl:choose> > > </xsl:template> > > Now I was hoping that because called templates are context > sensitive I can keep on just doing > "select="following-sibling::*[self::P][1]" as I've done to > give p_Node a new value to iterate through. I keep on getting > out of memory error. Memory is not an issue as from my past > experiences when I get this error when I introduce a > recursive template usually means I've given the recursion no > way out. But I can't see why this is happening. > > Any insight will be greatly appreciated. > > Thanks > > Mario | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
