[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Standards checkers for XSLT
Subject: Re: Standards checkers for XSLT
From: Kamal Bhatt <kbhatt@xxxxxxxxx>
Date: Mon, 27 Nov 2006 15:22:29 +1100
|
Just some points of clarification:
1. Am I correct is saying, what you are talking about is of more use for
those using XSLT 2.0?
2. As far as sorting is concerned, this saves having a second sort, but
aside from the performance benefit, there is not much you gain?
Basically, I am trying to understand how useful this is to those of us
stuck with XSLT 1.x.
Thanks.
Kamal Bhatt wrote:
You 're right. That is better.
Rashmi Rubdi wrote:
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@xxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Sunday, November 26, 2006 9:54:00 PM
Subject: Re: 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 formatting purposes.
Rashmi Rubdi wrote:
I don't mean to contradict 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@xxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Sunday, November 26, 2006 7:04:16 PM
Subject: Re: 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
haven't refered these functions.
I think we use YYYY-MM-DD (we don't handle timezones), but thanks
for the tip.
--
Kamal Bhatt
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|