[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] for-each issue


Subject: Re: [xsl] for-each issue
From: "Z W" <mpc8250@xxxxxxxxx>
Date: Thu, 27 Mar 2008 03:52:48 -0700

Mukal,
Another 2 questions I have:

1- Because this
<td>
code below is getting larger
</td>
how do I do a call-template and passing in with this variable cib_time_duration
and perform its task there in another template ?
I ask cuz I like to shorten the <td> section here.

2- l have several input xml files that would fill in this <td> section.
Is it possibe in XSLT to determine which output to display based on
a particular xml input file. Each of these input file would be going
through the same for-each to find its timeSpan.






On Thu, Mar 27, 2008 at 3:39 AM, Z W <mpc8250@xxxxxxxxx> wrote:
> Mukal
> Want to acknowledge your help there.
> Thank you for that help.
>
>
> On Thu, Mar 27, 2008 at 3:32 AM, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote:
> > On 3/27/08, Z W <mpc8250@xxxxxxxxx> wrote:
> > > <td>
> > > <xsl:variable name="cib_time_duration">
> > > <xsl:for-each select="document($currentJTL)/testResults/*[not(@label =
> > > preceding::*/@label)]">
> > > <xsl:variable name="minTimeStamp_prev_2">
> > >        <xsl:call-template name="find_minTimeStamp_prev_2">                     <xsl:with-param
> > > name="nodes" select="/testResults/sampleResult" />
> > >        </xsl:call-template>
> > > </xsl:variable>
> > >
> > > <xsl:variable name="maxTimeStamp_prev_2">
> > >        <xsl:call-template name="find_maxTimeStamp_prev_2">
> > >        <xsl:with-param name="nodes" select="/testResults/sampleResult" />
> > >                </xsl:call-template>
> > > </xsl:variable>
> > >
> > > <xsl:variable name="timeSpan" select="$maxTimeStamp_prev_2
> > > -$minTimeStamp_prev_2" />
> > > <xsl:value-of select="$timeSpan"/>
> > > </xsl:for-each>
> > > </xsl:variable>
> > >
> > > <xsl:value-of select="$cib_time_duration"/>
> > >
> > > </td>
> > >
> > > But I get the $cib_time_duration printed 3 times. How do I get it to
> > > print once ?
> >
> > This might solve the problem
> >
> > <xsl:variable name="cib_time_duration">
> >   <xsl:for-each select="document($currentJTL)/testResults/*[not(@label =
> >             preceding::*/@label)]">
> >      <!-- keep the code here
> >            as it is
> >      -->
> >      <xsl:if test="position() = last()">
> >         <xsl:value-of select="$timeSpan"/>
> >      </xsl:if>
> >   </xsl:for-each>
> > </xsl:variable>
> >
> > <xsl:value-of select="$cib_time_duration" />
> >
> > Though I have a feeling, you can structure the code even better.
> >
> >
> > --
> > Regards,
> > Mukul Gandhi


Current Thread
Keywords