xsl-list
[Top] [All Lists]

Re: [xsl] Standards checkers for XSLT

2006-11-26 21:08:54
Sorry I should have been more clear.

Consider this XML as an example

<events>
   <event>
       <title>Cello Performance by XYZ</title>
       <startDateTime>2006-06-03T05:03:02</startDateTime>
       <endDateTime>2006-06-03T07:03:02</endDateTime>
   </event>

   <event>
       <title>Violin by ABC</title>
       <startDateTime>2006-06-03T08:03:02</startDateTime>
       <endDateTime>2006-06-03T09:03:02</endDateTime>
   </event>
</events>

And another example of the same data

<events>
   <event>
       <title>Cello Performance by XYZ</title>
       <startDate>2006-06-03</startDate>
       <startTime>05:03:02</startTime>
       <endDate>2006-06-03</endDate>
       <endTime>07:03:02</endTime>
   </event>
   <event>
       <title>Violin by ABC</title>
       <startDate>2006-06-03</startDate>
       <startTime>08:03:02</startTime>
       <endDate>2006-06-03</endDate>
       <endTime>09:03:02</endTime>
   </event>
</events>
  
 
Now sorting of events by their dateTime becomes more straighforward when both 
the date and time are combined as opposed to having them under separate tags. 

Given that events is the context node
<xsl:apply-templates select="event>
    <xsl:sort select="startDateTime/>
</xsl:apply-templates>
I haven't tried this pseudo code

Also comparing dateTime is also easier with the full format, when you want to 
find out which even occurs before another event. 

Calculating the time duration between events also become easier with the full 
date representation. 

If you use separate nodes for date and time, you'll have an additional step of 
concatinating the date and time and then converting it into xs:dateTime and 
then using the resulting value. 

I hope this helps.
  

----- Original Message ----
From: Kamal Bhatt <kbhatt(_at_)tt(_dot_)com(_dot_)au>
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Sent: Sunday, November 26, 2006 9:54:00 PM
Subject: Re: [xsl] Standards checkers for XSLT


I think the approach is that the sorts of calculations you are talking 
about are done before the production of XML. The XSLT would be used for 
f
ontradict and there might be valid reasons in your application for using the 
short-hand date format 
YYYY-MM-DD instead of CCYY-MM-DDTHH:MM:SS+Z but, there are a few more 
advantages of using the composite date format that also includes
time instead of just the date.

For example, it's more straightforward to calculate the *duration* between 
two dateTimes when the dates are represented in full format. 

The time-zone is optional, so if you represent it as CCYY-MM-DDTHH:MM:SS it 
assumes the implicit time-zone of the server combined with daylight savings.

I think if your application is going to be complex with many possible 
scenarios then I would consider using the full format, 
but if your application tends to be small and doesn't deal with event math or 
dateTimes then the shorter version of dateTime seems fine. 

But thinking in terms of making the application as change-proof and 
future-proof as possible (to be able to easily handle all possible future 
situations with as little or no change to the original design) , I would use 
the full date format.

In either case there are functions in XPath2.0 which allow you to combine 
dates or break them up in any way, which makes it flexible to use any date 
format.

----- Original Message ----
From: Kamal Bhatt <kbhatt(_at_)tt(_dot_)com(_dot_)au>
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Sent: Sunday, November 26, 2006 7:04:16 PM
Subject: Re: [xsl] Standards checkers for XSLT


Rashmi Rubdi wrote:
  
Using a common and standard convention for representing dates helps 
significantly when manipulating date fields.

The standard format is 
CCYY-MM-DDTHH:MM:SS+Z

Example:
2004-10-01T18:23:17+00:00

With this representation it's easier and manageable to sort date fields 
because it's a sortable value unlike a date represented in say MM/DD/YYYY 
format.

While displaying dates the XPath2.0 format-date function can be used to 
display the date in a particular locale. 

There might be other benefits like add and subtract dates, but I hav

I think we use YYYY-MM-DD (we don't handle timezones), but thanks for 
the tip.


  


-- 
Kamal Bhatt


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


 
____________________________________________________________________________________
Want to start your own business?
Learn how on Yahoo! Small Business.
http://smallbusiness.yahoo.com/r-index

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