xsl-list
[Top] [All Lists]

Re: [xsl] dateTime conversion

2010-10-04 15:50:50
Folks, Thank you for the responses.

But as per client xsd, it is string. But I have to get this value and send that 
to another system which accepts xs:datetime.

That is why I want to convert "2010-10-03T18:15:20-0400" to 
"2001-12-17T09:30:47Z".

I don't have much knowledge about the different date format conversion 
functions. So is this post..



--- On Mon, 10/4/10, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:

From: Michael Kay <mike(_at_)saxonica(_dot_)com>
Subject: Re: [xsl] dateTime conversion
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Monday, October 4, 2010, 4:44 PM
  On 04/10/2010 9:16 PM, Ubi
Nunes wrote:
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.
You may indeed be wrong, and so might I. He didn't explain
the problem 
very clearly. I did try to ask whether he was after a
timezone 
conversion, and the response was that he seemed to want to
change the 
timezone to Z because that's the only way he knew how to
make it valid 
against the schema.

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

Yes, adjust-dateTime-to-timezone(). But it it's 2.0 only,
and can only 
be used once you have a valid date.

Michael Kay
Saxonica
Ubi Nunes
Topaz Solutions LTD.

-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Sent: Monday, 4 October 2010 9:30 p.m.
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)saxonica(_dot_)com>   wrote:

From: Michael Kay<mike(_at_)saxonica(_dot_)com>
Subject: Re: [xsl] dateTime conversion
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or 
e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or 
e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or 
e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or 
e-mail:<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




      

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>