Subject: RE: xdt:yearMonthDuration eq xs:duration
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 1 Feb 2006 12:46:36 -0000
|
In the hope that the WGs might find time to address this during their
meeting today, I have posted this as
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2789
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Frans Englich [mailto:frans.englich@xxxxxxxxx]
> Sent: 01 February 2006 01:05
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: xdt:yearMonthDuration eq xs:duration
>
>
>
> Saxon 8.6 fails this expression with XPTY0004, "Cannot compare
> xdt:yearMonthDuration to xs:duration":
>
> xdt:yearMonthDuration("P200Y2M") eq xs:duration("P200Y2M")
>
>
> The XPath 2.0 book specifies these operators:
>
> A eq B xdt:yearMonthDuration xdt:yearMonthDuration
> A eq B xdt:dayTimeDuration xdt:dayTimeDuration
> A eq B xs:duration xs:duration
>
> It also says this:
>
> <quote>
> Any operator listed in the operator mapping tables may be
> validly applied to
> an operand of type AT if the table calls for an operand of
> type ET and
> type-matches(ET, AT) is true (see 2.5.4 SequenceType
> Matching). For example,
> a table entry indicates that the gt operator may be applied
> to two xs:date
> operands, returning xs:boolean. Therefore, the gt operator
> may also be
> applied to two (possibly different) subtypes of xs:date, also
> returning
> xs:boolean.
> </quote>
>
> Doesn't type-matches(xs:duration, xdt:yearMonthDuration) hold
> true? My point
> being that the expression should succeed because
> xdt:yearMonthDuration is a
> subtype of xs:duration and that the xs:duration-eq operator
> therefore can be
> applied. If that is the case, which I doubt, the eq/ne
> operators for the two
> XDT durations are redudant, since the xs:duration-eq/ne
> operators covers
> them.
>
> What clause in any of the specifications disallow the above operand
> combination? (and the others variations by the same principle)
>
>
> Thanks in advance,
>
> Frans
|