Subject: Re: [xsl] how find out end position using 'for' loop From: Brandon Ibach <brandon.ibach@xxxxxxxxxxxxxxxxxxx> Date: Tue, 14 Jun 2011 01:25:25 -0400 |
Try replacing: ']+' with: if ($i != $end) then ']+' else ']' -Brandon :) On Tue, Jun 14, 2011 at 12:47 AM, JS Rawat <jrawat@xxxxxxxxxxxxxx> wrote: > Hi Everybody, > Have anyone any idea about the below problem. I want + sign between two RefArray (RefArray[11] + RefArray[12]) but not in the last (RefArray[12]+ RefArray[13]+ should be RefArray[12]+ RefArray[13]). > > Input > <link class="bibcit" rid="FileName_bib11">11–13</link> > > XSLT > > <xsl:template match="link"> > <xsl:choose> > <xsl:when test="@class='bibcit'"> > <xsl:variable name="bibtext" select="."/> > <xsl:choose> > <xsl:when test="contains($bibtext, '–') and substring-before($bibtext,'–') castable as xs:integer"> > <xsl:variable name="start" select="xs:integer(substring-before($bibtext,'–'))"/> > <xsl:variable name="end" select="xs:integer(substring-after($bibtext,'–'))"/> > <a class="bibcit" href="references.htm#{substring-after(@rid,'_')}" onmouseout="startTimeout()"> > <xsl:attribute name="onmouseover">refpopup('REF',<xsl:value-of select="for $i in $start to $end return concat('RefArray[',$i,']+')"/>)</xsl:attribute><xsl:apply-templates/></a> > </xsl:when> > </xsl:choose> > </xsl:when> > </xsl:choose> > </xsl:template> > > OUTPUT > <a class="bibcit" href="references.htm#bib11" onmouseout="startTimeout()" onmouseover="refpopup('REF',RefArray[11]+ RefArray[12]+ RefArray[13]+)">11b13</a> > > > Desired OUTPUT > <a class="bibcit" href="references.htm#bib11" onmouseout="startTimeout()" onmouseover="refpopup('REF',RefArray[11]+ RefArray[12]+ RefArray[13])">11b13</a> > > Thanks in advance. > > ...JSR
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] how find out end position usi, JS Rawat | Thread | RE: [xsl] how find out end position, JS Rawat |
[xsl] how find out end position usi, JS Rawat | Date | RE: [xsl] how find out end position, JS Rawat |
Month |