Re: [xsl] Select item from schedule based on date in XPath 1.0

Subject: Re: [xsl] Select item from schedule based on date in XPath 1.0
From: "L2L 2L emanuelallen@xxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 30 Jul 2014 18:26:12 -0000
E-S4L

> On Jul 30, 2014, at 12:11 PM, "Dimitre Novatchev dnovatchev@xxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, Jul 30, 2014 at 7:00 AM, Philipp Kursawe
> phil.kursawe@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
> wrote:
>> I am using XPath 1.0 so for the date comparison itself I use this trick:
>> number(translate(@startTime, "-T:.Z", ""))
>> to get a number representation for the startTime attibute.
>
>
>
> Simply removing the non-digit characters will not, in general, be
> correct, especially in the case when the timezone values are
> different.
>
> If you can completely ignore the timezones, this XPath expression:
>
>     /*/*[translate(substring-before(substring-after(@startTime, 'T'),
> '.'), ':', '')
>        &lt;
>          100*translate($vMyTime, ':', '')
>          ]
>           [last()]
>
> selects the item element with the wanted value of the startTime attribute.
>
> To prove this, one can run a transformation as the following:
>
> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> <xsl:output omit-xml-declaration="yes" indent="yes"/>
>
> <xsl:variable name="vMyTime" select="'11:15'"/>
> <xsl:template match="/">
>   <xsl:copy-of select="
>     /*/*[translate(substring-before(substring-after(@startTime, 'T'),
> '.'), ':', '')
>        &lt;
>          100*translate($vMyTime, ':', '')
>          ]
>           [last()]
>     "/>
> </xsl:template>
> </xsl:stylesheet>
>
>
> When this transformation is applied on the provided XML document
> (corrected to be wellformed):
>
> <daily>
> <item startTime="2014-07-26T10:00:00.000Z"/>
> <item startTime="2014-07-26T11:00:00.000Z"/>
> <item startTime="2014-07-26T12:00:00.000Z"/>
> <item startTime="2014-07-26T13:00:00.000Z"/>
> </daily>
>
> the wanted result is produced:
>
> <item startTime="2014-07-26T11:00:00.000Z" />
>
>
> --
> Cheers,
> Dimitre Novatchev
> ---------------------------------------
> Truly great madness cannot be achieved without significant intelligence.
> ---------------------------------------
> To invent, you need a good imagination and a pile of junk
> -------------------------------------
> Never fight an inanimate object
> -------------------------------------
> To avoid situations in which you might make mistakes may be the
> biggest mistake of all
> ------------------------------------
> Quality means doing it right when no one is looking.
> -------------------------------------
> You've achieved success in your field when you don't know whether what
> you're doing is work or play
> -------------------------------------
> To achieve the impossible dream, try going to sleep.
> -------------------------------------
> Facts do not cease to exist because they are ignored.
> -------------------------------------
> Typing monkeys will write all Shakespeare's works in 200yrs.Will they
> write all patents, too? :)
> -------------------------------------
> I finally figured out the only reason to be alive is to enjoy it.
>

When it's all said and done it want matter, it'll only matter in that time. So
in that time enjoy the existence of that time before that existence is blown
away like a candle in the wind. No wishes comes true setting around waiting
for it, life is about living. Make it  what you want. What you every do, be
happy while doing it, cause when the end comes, it'll be bitter sweet. Some
receive this end more bitter than sweet, other a little more sweet than
better; all in all it will not be what you want, so grasps what you want while
you still can before time rob you of your strength. Enjoy this freedom before
death claim it. Enjoy life my friend. Only one you get, and only one you will
ever had.

Current Thread