[Bug 5308] [XSLT 2.0] Timezone Z in format-dateTime()

http://www.w3.org/Bugs/Public/show_bug.cgi?id=5308





--- Comment #2 from Michael Kay <mike@saxonica.com>  2008-10-23 14:08:16 ---
I have been asked (A-2008-10-02-001) to define a proposal to resolve this.

It isn't easy! There are too many potential variations on how users might want
to display timezones. For the purpose of an erratum, I'm reluctant to introduce
new syntax, and would prefer to issue an interpretation of how the existing
syntactic elements should be interpreted. We already have some fairly creative
interpretations of how the width specifier should be used for the year and for
the fractional seconds, and we have already made use of it in solving bug #5309
which is similar so I propose to use that. (See erratum E24,
http://www.w3.org/XML/2007/qt-errata/xslt-errata.html#E24)

Where the component specifier is Z, and the presentation modifier is numeric, I
propose that the width specifier be interpreted as follows:

6-6  - always use the form +hh:mm, for example -05:00

1-6  - use Z for UTC, otherwise use the form +hh:mm

other values - effect is implementation-defined

Default: 1-6

Specifically, I suggest in the table entry for component specifier Z,
replacing:

<old>
timezone as a time offset from UTC, or if an alphabetic modifier is present the
conventional name of a timezone (such as PST)
</old>

by

<new>
* If the presentation modifier is numeric or absent, then timezone as a time
offset from UTC, for example -05:00, or Z to represent UTC, subject to the
width modifier as described below

* if the presentation modifier is N, n, or Nn, the conventional name of a
timezone (such as PST), using timezone names that are customary in the country
denoted by the country argument if present, or implementation-defined timezone
names otherwise
</new>

Then in the new text introduced by Erratum E24 change 3, replace:

<old>
* For timezone offsets this should be done by first appending a colon (:)
followed by two zero digits from the appropriate set of digit characters if the
full representation does not already include a minutes component and if the
specified minimum width permits adding three characters, and then if necessary
prepending zero digits from the appropriate set of digit characters to the hour
component.
</old>

by

<new>
* For timezone offsets using the component specifier "z" this should be done by
first appending a colon (:) followed by two zero digits from the appropriate
set of digit characters if the full representation does not already include a
minutes component and if the specified minimum width permits adding three
characters, and then if necessary prepending zero digits from the appropriate
set of digit characters to the hour component.

* For timezone offsets using the component specifier "Z" with a numeric
presentation modifier, this should be done by first replacing the symbol "Z"
(denoting UTC) by "+00:00" (omitting the minutes if necessary to fit within the
maximum width), then padding with spaces if necessary.
</new>


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 23 October 2008 14:08:28 UTC