Re: [xsl] Standards checkers for XSLT

Subject: Re: [xsl] Standards checkers for XSLT
From: Rashmi Rubdi <dev_subscriptions@xxxxxxxxx>
Date: Sun, 26 Nov 2006 20:31:23 -0800 (PST)
It doesn't matter if you are using XSLT/XPath 1.0 or 2.0. It's simply a
standard date representation.

I wouldn't worry much about performance of any
tags or methods in the beginning. Performance can be fine tuned towards the
end. 

It's difficult to build an application by thinking about performance
all the time, that's why it's a good idea to leave it towards the end. 

On
the other hand, XSLT is a different type of language, I would invest time in
learning it's features from the ground up first, after knowing
all it's
features it's much easier to make decisions on standards etc.


----- Original
Message ----
From: Kamal Bhatt <kbhatt@xxxxxxxxx>
To:
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Sunday, November 26, 2006 11:22:29 PM
Subject: Re: [xsl] Standards checkers for XSLT


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: [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 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: [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 
>>>> haven't
refered these functions.
>>>>
>>>>             
>>> I think we use YYYY-MM-DD
(we don't handle timezones), but thanks 
>>> for the tip.
>>>
>>>
>>>
>>
>>
>>   
>
>


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

Current Thread