RE: [xsl] xdt:yearMonthDuration eq xs:duration

Subject: RE: [xsl] 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: [xsl] 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

Current Thread