[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: dateTime conversion

Subject: Re: dateTime conversion
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 04 Oct 2010 09:29:58 +0100
Re:  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

On 04/10/2010 12:35 AM, sudheshna iyer wrote:

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:  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

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

Current Thread


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.