|
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 |