Subject: Re: possible to mimic while-like behavior? From: "Nikolai Grigoriev" <grig@xxxxxxx> Date: Fri, 17 Mar 2000 03:40:11 +0300 |
Carole E. Mah wrote: > Imagine, > <xsl:for-each select="foo"> > <xsl:choose> > <xsl:when test="bar">blah</xsl:when> > <xsl:otherwise>blort</xsl:otherwise> > </xsl:choose> > </xsl:for-each> > > Now imagine that when the conditions are such that <xsl:otherwise> is > matched, one wants to break out of the <xsl:for-each>. > How about this: <!-- Identify the stopper - the first node that does not have a bar --> <xsl:variable name="stop-id" select="generate-id(foo[not(bar)][1])"/> <!-- Segregate nodes preceding the stopper --> <xsl:for-each select="foo"> <xsl:if test="following-sibling::foo[generate-id() = $stop-id]"> blah </xsl:if> </xsl:for-each> This is simple but suspicious from the efficiency point of view. I suspect that the recursive solution is more economic. Regards, Nikolai XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: possible to mimic while-like be, David Carlisle | Thread | Re: possible to mimic while-like be, Carole E. Mah |
Re: how do you get non-xhtml data t, Steve Muench | Date | Re: possible to mimic while-like be, Mike Brown |
Month |