This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 29676 - [QT3TS] map-entry-001-hof
Summary: [QT3TS] map-entry-001-hof
Status: RESOLVED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XQuery 3 & XPath 3 Test Suite (show other bugs)
Version: Candidate Recommendation
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: O'Neil Delpratt
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL: https://www.w3.org/Bugs/Public/show_b...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-31 09:28 UTC by Tim Mills
Modified: 2016-09-20 16:15 UTC (History)
1 user (show)

See Also:


Attachments

Description Tim Mills 2016-05-31 09:28:22 UTC
Assertion 

  <not><assert-type>function(xs:anyAtomicType) as xs:integer?</assert-type></not>

will need to be negated if the changes to the judgement subtype-itemtype(Ai, Bi) in Bug 29586 are adopted.

It might be necessary regardless of Bug 29586 if we take the view that it's acceptable to return a subtype.

I suggest changing this to

  <assert-type>function(xs:anyAtomicType) as item()*</assert-type>

at the very least.
Comment 1 Tim Mills 2016-05-31 14:51:14 UTC
Test map-put-003-hof is similarly affected.
Comment 2 Tim Mills 2016-06-21 16:28:06 UTC
Now fixed.
Comment 3 Michael Kay 2016-08-30 22:25:18 UTC
I am seeing three tests that appear to be still incorrect:

map-merge-003-hof

has <assert-type>function(xs:anyURI) as xs:integer*</assert-type>

map-put-003-hof

has <assert-type>function(xs:string) as xs:integer*</assert-type>

map-entry-001-hof 

has <assert-type>function(xs:anyAtomicType) as xs:integer?</assert-type>

I thought the idea/agreement was to change all of these to say "as item()*".
Comment 4 Tim Mills 2016-08-31 08:55:13 UTC
See rule 35 in 2.5.6.2 The judgement subtype-itemtype(Ai, Bi).

Ai is map(K, V), and Bi is function(xs:anyAtomicType) as V?.

The test asserts

     <assert-type>map(xs:string, xs:integer+)</assert-type>

so we know that 

     <assert-type>function(xs:anyAtomicType) as xs:integer*</assert-type>

should hold, and therefore by rule 26,

     <assert-type>function(xs:anyURI) as xs:integer*</assert-type>

should hold.
Comment 5 Michael Kay 2016-09-20 16:15:26 UTC
My re-opening in comment 3 is withdrawn.