|
Subject: RE: [xsl] Grouping by shift problem From: <Jarno.Elovirta@xxxxxxxxx> Date: Fri, 9 Sep 2005 10:25:25 +0300 |
Hi,
If $shift and $departs are bound to corresponding elements, then
<xsl:template match="shifts">
<alldeparts>
<xsl:for-each select="*">
<xsl:variable name="start" select="translate(@start, ':', '')"/>
<xsl:variable name="end">
<xsl:choose>
<xsl:when test="@end = '00:00:00'">240000</xsl:when>
<xsl:otherwise>
<xsl:value-of select="number(translate(@end, ':', ''))"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:for-each select="$departs/door">
<xsl:variable name="time" select="translate(substring-after(time,
'T'), ':', '')"/>
<xsl:if test="$time >= $start and $time < $end">
<depart>
<xsl:copy-of select="*"/>
</depart>
</xsl:if>
</xsl:for-each>
</xsl:copy>
</xsl:for-each>
</alldeparts>
</xsl:template>
Removing shift1 from the results shouldn't be too difficult an excercise.
Cheers,
Jarno
--
Eryk Orpheus: Eryk Orpheus Live at Colours
<http://nuenergy.co.uk/new/musicEvents/djMixDetail.php?id=55>
> -----Original Message-----
> From: ext Kent Seegmiller [mailto:hookjaw20@xxxxxxxxxxx]
> Sent: 09 September, 2005 09:05
> To: XSLT
> Subject: [xsl] Grouping by shift problem
>
>
> I have a shift doc (shifts.xml):
>
> <shifts>
> <shift1 start='00:00:00' end='08:00:00'/>
> <shift2 start='08:00:00' end='16:00:00'/>
> <shift3 start='16:00:00' end='00:00:00'/>
> </shifts>
>
> That I want as a lookup table
>
> Now I have anoher doc (departures.xml) with depart times and such:
>
> <departs>
> <door>
> <time>2005-06-12T15:02:06</time>
> <name>Joe Somebody</name>
> <dock>032</dock>
> </door>
> <door>
> <time>2005-06-13T17:03:56</time>
> <name>Joe Somebodyelse</name>
> <dock>055</dock>
> </door>
> ...
> </departs>
>
> How do I group the <time> elements by shift?
>
> like thus,
> <alldeparts>
> <shift2>
> <depart>
> <name>Joe Somebody</name>
> <time>2005-06-13T17:03:56</time>
> <dock>055</dock>
> </depart>
> ...
> </shift2>
> <shift3>
> <depart>
> <time>2005-06-13T17:03:56</time>
> <name>Joe Somebodyelse</name>
> <dock>055</dock>
> </depart>
> ...
> </shift3>
> ...
> </alldeparts>
> etc.
>
> Thanks in advance, Kent
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Grouping by shift problem, Kent Seegmiller | Thread | [xsl] xsl-if: hide two navigation-l, Ragnar Heil |
| [xsl] Grouping by shift problem, Kent Seegmiller | Date | [xsl] xsl-if: hide two navigation-l, Ragnar Heil |
| Month |