- From: Kay, Michael <Michael.Kay@softwareag.com>
- Date: Fri, 3 Oct 2003 15:56:59 +0200
- To: Xavier Franc <xfranc@online.fr>, public-qt-comments@w3.org
- Message-ID: <DFF2AC9E3583D511A21F0008C7E62106073DD185@daemsg02.software-ag.de>
>
> Here is a suggestion for a supplemental convenience feature
> that will hopefully make everybody happy:
Adding more functions and parameters in the language makes everybody happy
except those who want the language to be smaller - which is nearly
everybody!
I would rather try to identify a minimal set of primitive functions that can
be composed to do everything you need to do, rather than have lots of
convenience features that bloat the language.
Michael Kay
>
> get-XXX-from-dateTime accepts an optional second argument 'timezone'
> such that
>
> get-hours-from-dateTime($dt, $tz)
>
> is equivalent to:
>
> get-hours-from-dateTime(adjust-dateTime-to-timezone($dt, $tz))
>
> This way the following expression returns the normalized UTC
> component:
>
> get-hours-from-dateTime($dt, 0)
>
> (Note: using the duration notation proposed by Michael Kay)
>
> while the following expression returns the component as
> specified initially (i.e. using the timezone that was
> specified or implicit when
> the date/time object $dt was created):
>
> get-hours-from-dateTime($dt)
>
> to get the component in the implicit timezone:
> (not necessarily the same as above)
>
> get-hours-from-dateTime($dt, implicit-timezone())
>
>
>
> --
> Xavier FRANC
> >
> >
> http://lists.w3.org/Archives/Public/public-qt-comments/2003Sep/0124.ht
> > ml
> >
> > suggested that the date/time component extraction functions (for
> > example,
> > get-hours-from-dateTime()) should return components of the
> localized time,
> > rather than the normalized time.
> >
> > (Terminology: localized time = the time in the timezone
> represented by
> > the timezone component of the value; normalized time = the same
> > instant of time represented in timezone UTC)
> >
> > On reflection, I'm inclined to agree with Xavier: I think
> we have got
> > this wrong. The date/time is presented in localized form when
> > converting it to a string, and when using the XSLT
> format-dateTime()
> > family of functions. I think it will be less confusing if we
> > consistently present date/time values in the localized form, and
> > require users to use adjust-X-to-timezone if they want something
> > different.
> >
> > Currently, if you want the components of the localized
> value, you have
> > to call adjust-dateTime-to-timezone() with () as the second
> argument,
> > and then call get-hours-from-dateTime.
> >
> > With this change, a user who wanted components of the
> normalized value
> > would use adjust-dateTime-to-timezone() to adjust the
> timezone to UTC,
> > and then extract the component values.
> >
> > Specifically (in XQuery syntax):
> >
> > let $utc := xdt:dayTimeDuration("PT0H"),
> > $ndt := adjust-dateTime-to-timezone($in, $utc) return
> > get-hours-from-dateTime($ndt)
> >
> > We might also want to consider changing the default for the second
> > argument of adjust-X-to-timezone() so it adjusts to UTC, since
> > adjusting to the local timezone can easily be achieved by supplying
> > implicit-timezone() as the second parameter. Alternatively, if my
> > proposal on durations is accepted, then
> > adjust-dateTime-to-timezone($in, 0) will return the
> normalized value.
> >
>
>
Received on Friday, 3 October 2003 10:00:20 UTC