[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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
|
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
|