- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 01 Feb 2006 13:53:41 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2789
------- Additional Comments From frans.englich@telia.com 2006-02-01 13:53 -------
I thought some more about it, and the current situation is a bit of a can of
worms, I'd say. Consider the following expression:
xs:duration(xdt:dayTimeDuration("P365D"))
eq
xs:duration(xdt:yearMonthDuration("P1Y"))
>From what I can tell, the validity of this expression depends on whether the
dynamic types(xdt:dayTimeDuration/xdt:yearMonthDuration) or the static
types(xs:duration/xs:duration) are used for the operator lookup. Perhaps,
behavior could in practice become implementation dependent, considering the
freedom implementations have in handling the types of values(subtype
substitution, for example). The essence seems to be that in the case of the
duration operators one can't rely on the very primitive base type(which
one can in all other cases), but that a sub-type/dynamic type might be of
importance. But yes, the solution Michael proposed seems to solve all this.
Also, the pseudo function in op:duration-equal can be simplified into:
return cast as xdt:yearMonthDuration($arg1) eq
cast as xdt:yearMonthDuration($arg2)
and
cast as xdt:dayTimeDuration($arg1) eq
cast as xdt:dayTimeDuration($arg2)
It is less code(the if-expression was removed), but, of course, that doesn't
necessarily mean readability is improved.
Frans
Received on Wednesday, 1 February 2006 13:53:50 UTC