RE: [xsl] dateTime conversion

Subject: RE: [xsl] dateTime conversion
From: "Ubi Nunes" <Ubi.Nunes@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 5 Oct 2010 09:16:28 +1300
I might be wrong but the problem that sudheshna iyer is facing may not
only be date time format, but convert the time to a UTC time zone.

Is there a function in XSLT to convert localtime to UTC time?

Ubi Nunes
Topaz Solutions LTD.

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Monday, 4 October 2010 9:30 p.m.
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] dateTime conversion

  If a client is sending you data that doesn't conform to the agreed
schema, then you should really persuade your client to correct the
program that is generating the data. If you relent, and accept invalid
data, then the schema has failed in its purpose of defining the
agreement between you and your client as to how data gets exchanged; if
they ignore the schema now, they will continue to ignore it in the
future, and your problems in repairing the data can only get worse.

However, if for political reasons you have to repair the data you are
sent, the obvious repair is to insert the missing colon in the timezone
so that -0400 becomes -04:00. This can be done simply using concat() and

substring().

Michael Kay
Saxonica

On 04/10/2010 12:35 AM, sudheshna iyer wrote:
> Michael,
>
> I am using xslt 1.0. I guess I need to find more from requirements.
>
> My xsd has xs:datetime variable but I am receiving
"2010-10-03T18:15:20-0400" from my client and hence the validation is
failing.  In xmlspy, if I auto generate the xml from xsd, sample value
for xs:datetime is in format "2001-12-17T09:30:47Z". So I thought I
might have to convert "2010-10-03T18:15:20-0400" to format
"2001-12-17T09:30:47Z".
>
> But the number in the TO format is just a sample. I am not sure what
is the efficient way to convert date that is in format
"2010-10-03T18:15:20-0400" to format "2001-12-17T09:30:47Z"
>
>
> --- On Sun, 10/3/10, Michael Kay<mike@xxxxxxxxxxxx>  wrote:
>
>> From: Michael Kay<mike@xxxxxxxxxxxx>
>> Subject: Re: [xsl] dateTime conversion
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Date: Sunday, October 3, 2010, 7:07 PM
>>
>>> Please ignore the portion that is before the timezone
>> and convert
>>> T18:15:20-0400 to T09:30:47Z
>>>
>>> Numbers are just the samples. But if I take a closure
>> look at them, -0400 needs to be replaced with "Z"
>> Do you want to convert 12:00:00-04:00 to 08:00:00Z (the
>> same time instant in a different time zone) or to
>> 12:00:00Z?
>>
>> And are you using XSLT 1.0 or 2.0?
>>
>> Note: your date-time values are almost in ISO 8601 format,
>> except for the missing colon between hours and minutes in
>> the timezone offset. Was this difference deliberate?
>>
>> Michael Kay
>> Saxonica

Current Thread