|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Infinite Loop when trying to use String-Replace
dont use stylus cheers, jim fuller ----- Original Message ----- From: "Mataczynski, Jeff" <Jeff.Mataczynski@xxxxxxxxxxxxx> To: "'Jeni Tennison'" <jeni@xxxxxxxxxxxxxxxx> Cc: <XSL-List@xxxxxxxxxxxxxxxxxxxxxx> Sent: Wednesday, October 31, 2001 7:08 PM Subject: RE: Infinite Loop when trying to use String-Replace > I tried using your template, but Stylus is still detecting an infinite loop. > Any other suggestions? > > Jeff > > -----Original Message----- > From: Jeni Tennison [mailto:jeni@xxxxxxxxxxxxxxxx] > Sent: Wednesday, October 31, 2001 12:53 PM > To: Mataczynski, Jeff > Cc: 'XSL-List@xxxxxxxxxxxxxxxxxxxxxx' > Subject: Re: Infinite Loop when trying to use String-Replace > > > Hi Jeff, > > > I'm trying to use a string-replace template in order to replace all > > occurences of the character "é" in a string. However, when I > > try to run it in Stylus, I keep getting an error that the XSL > > processor has detected an infinite loop. I cannot determine why I'm > > getting this. > > There isn't an infinite loop with the source that you sent, but > perhaps Stylus is really clever and is detecting one anyway because > contains($string, $from) returns true if $from is an empty string. The > template is a bit strange anyway, because it always gives the value > after the $from in the $string as well as than stepping on > recursively. Try the following: > > <xsl:template name="string-replace"> > <xsl:param name="string"/> > <xsl:param name="from"/> > <xsl:param name="to"/> > <xsl:choose> > <xsl:when test="string($from) and contains($string, $from)"> > <xsl:value-of select="substring-before($string, $from)" /> > <xsl:value-of select="$to"/> > <xsl:call-template name="string-replace"> > <xsl:with-param name="string" > select="substring-after($string, $from)" /> > <xsl:with-param name="from" select="$from"/> > <xsl:with-param name="to" select="$to"/> > </xsl:call-template> > </xsl:when> > <xsl:otherwise> > <xsl:value-of select="$string"/> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > > I hope that helps, > > Jeni > > --- > Jeni Tennison > http://www.jenitennison.com/ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








