This file records changes made since 1 February 2010, and changes that need to be made ====================================================================================== 2012-10-01: all changes <= 81 have been applied. Changes made ============ at="D" ------ 2010-02-08 MHK Fixed bug 8884 (function() becomes function(*) in signatures) 2010-02-09 MHK Made changes agreed in bug 8456 (FULLY-NORMALIZED) 2010-02-09 MHK Made changes agreed in bug 8503 (format-integer(), plus a small change to format-number()) 2010-02-09 MHK Implemented decision of 2010-02-02 to add fold-left, fold-right, map, filter, map-pairs from 2010Jan/0129.html, as modified by subsequent discussion. 2010-02-09 MHK Applied changes proposed in Bug 5308 (formatting of timezones); this is to be reviewed by the WG for final approval. at="E" ------ 2010-02-17 MHK Added the head() and tail() function as decided by the XQuery F2F meeting today. 2010-02-18 MHK Applied corrections to timezone formatting table in 9.8.4.2 as identified during the F2F review. at="F" ------ 1. Bug 7350: remove partial-apply() function. Waiting to see the replacement syntax in the language spec. DONE (F). 2. done 3. done 4. ACTION A-423-03 on all editors of x.1 specs to add list of incompatibilities and major differences between x.0 and x.1 versions. Done (but needs to be maintained). 5. Add unparsed-text() and unparsed-text-available() functions from XSLT. (Bug 9067) (DONE F) 6. Remove sentence about bold italic, and references to static typing rules in FS. (Bug 9056) DONE (F) 7. In the minutes of teleconference #412 on 2009-09-29, Decided to accept proposal for uri-collection() with a slight modification. http://lists.w3.org/Archives/Member/w3c-xsl-query/2009Jul/0054.html (DONE F) Add that there is no requirement of the order of the result is the same as for the collection function, both are implementation dependent. DONE. 8. (duplicate of 5) 9. Bug 9183 string-to-QName constructor no longer requires a string literal - changes in comments #1 and #2 agreed 2010-04-13 DONE (F) 10. Add get-environment-variable() function (agreed 2010-05-04) (DONE F) 11. Bug 8810 resolve-uri() and the various RFCs. agreed 2010-05-14 (DONE F) 12. Bug 9571 zero-argument node-name(), data(), and document-uri() agreed 2010-05-14 (DONE F) 13. Bug 9751 fn:parse renamed fn:parse-xml (DONE F) 14. Bug 9907 negative zero. Agreed 2010-06-15. (DONE F) 15. Support for xs:dateTimeStamp from XSD 1.1 Proposal: http://lists.w3.org/Archives/Member/w3c-xsl-query/2009Feb/0055.html Minutes: http://lists.w3.org/Archives/Member/w3c-xsl-query/2009Feb/0068.html Allowing implementations to support XSD 1.1 means we need some (holding) statement about how they handle precisionDecimal. - all this was done in Draft A. - Jim Melton removed visible references to precisionDecimal on 2011-08-05. 16. Bug 10073 (decision omitted from draft minutes at the time, but minuted on 21 Sept 2010 as agreement to comment #17 of the bug entry): (a) on the substantive points 6 and 7 raised by the originator, we decided to refer to the IEEE 708 specification for the rules on the precision of the results of trigonometric (and other similar) functions. We will allow anything that IEEE allows (that is, any of the rounding schemes it recognizes) at implementor discretion. DONE (b) on the new functions proposed in comment #6, we decided to include exp, exp10, log, log10, pow, powr, and atan2, using the IEEE definitions. (There was a suggestion that pow and powr could be overloads of a single function, but no decision on this as I recall.) - DONE 2010-12-06 (Draft G) Could use more examples 17. Bug 10667 - fn:map results are ordered even in unordered mode DONE 2010-12-03 (at=G) 18. Bug 10668 - noted that nodes in a collection are not necessarily distinct, therefore URIs in uri-collection are not necessarily distinct. DONE draft G 19. Bug 10729 - decided to change 3rd argument of format-integer to a string with an error if not castable to xs:language. DONE draft G 20. Bug 10004 - changes to error codes FODC0002 and FODC0005 for fn:doc DONE 2010-12-06 at=G 21. Bug 9808 - fn:QName() to define an error for use when first argument is not a valid xs:anyURI - proposed text is in document, marked as not yet agreed. Now resolved (action A-451-02). DONE 2010-12-03 (at=G) 22. Bug 10261 - editor will try to improve the clarity of the text for future version (editorial). DONE 2010-12-03 (at=G) 23. Bug 10868 - update references. DONE 2010-12-06 (at=G) 24. Bug 10871 - editorial, will fix. DONE 2010-12-03 (at=G) 25. Bug 10872 - editorial, will fix. DONE 2010-12-03 (at=G) 26. Bug 10958 - fix as proposed. DONE 2010-12-03 (at=G) 27. Bug 10959 - agreed to resolve as proposed. DONE 2010-12-03 (at=G) 28. Bug 10973 - fix as proposed. DONE 2010-12-06 (at=G) 29. Bug 10955 - get-environment-variable renamed envrionment-variable DONE 2010-12-03 (at=G) parse-xml accepts () DONE 2010-12-03 (at=G) serialization accepts item()* DONE 2010-12-03 (at=G) 30. Bug 11170 move four functions from XSLT to FO. DONE 2010-12-06 (at=G) 31. Bug 12280 - clarity in format-integer. Done 2011-03-17 (at=H) 32. 30 Nov 2010 - agreed to allow casting to union types. (Wash-up from bug 7860). DONE 2010-12-03 (at=G) 33. General action: don't use the word "legal". Use valid/well-formed/must/error etc. DONE 34. Bug 9183 (casting to xs:QName) comment 4 agreed 15/2/2011: DONE 35. Bug 11590 / 12553: namespace-uri-for-prefix. Resolved to return empty sequence if there prefix="" or () and there is no default namespace. Note Saxon needs to change. Note also may need to fix F+O 1.0/2.0. DONE 36. F+O uses the term "absent" to refer to absence of a namespace in a QName, this usage is now official and can be linked to XDM. DONE in draft G and now linked to XDM. 37. From Oxford F2F minutes: ACTION editors to use these terms (execution scope, deterministic/non-deterministic, focus-dependent/focus-independent, context-dependent, context-independent) to classify the existing functions and to express stable/deterministic in terms of them. DONE draft G. 38. Bug 11555 - path() function - proposal accepted 10 May 2011. Done Draft I. 39. Bug 11561: Static and dynamic base URI. (Function name doesn't change, but static-base-uri() now accesses the dynamic base URI and we need to make this clear.). DONE Draft J 40. Need to define a function for parsing XML external entities. DONE Draft J. 41. Move maps and JSON back to XSLT specification. DONE Draft J. 42. Bug 10870 - editorial, will fix. DONE 43. Check that we always "call" a function rather than "invoking" it. DONE 44. Message 2011Sep/0109.html - casting to union and list types - accepted 4 Oct 2011. DONE 45. Message 2011Sep/0314.html - add zero-argument forms of fn:nilled and fn:has-children. Fix identified errors in classification of functions as context-dependent and focus-dependent. E.g. string-length, normalize-space, node-name, generate-id. DONE 46. Bug 14185 - change error codes on fn:collection so the case where no mapping is available becomes FODC0002 rather than FODC0004 for consistency with fn:doc. DONE DRAFT J. 47. New function-lookup() function. DONE DRAFT J. 48. DONE IN ADVANCE OF AGREEMENT: changes proposed on 4 Oct 2011 to parse-xml() and parse-xml-fragment(). 49. Bug 11682 - clarifications to environment variable functions. DONE DRAFT J. DECISIONS OF 6 DEC 2011 50. Bug 14892 - fn-path() proposal is generally OK, but the call on local-name() is dependent on the default function namespace so should be written as an EQName. Also affects the test case (and Saxon). DONE DRAFT K. Test case path-013 updated. 51. Bug 14931 - format-number() proposal accepted. DONE DRAFT K. Test case numberformat86 added. 52. Bug 14971 - uri-collection() - needs a proposal. But for the LC draft, include a reference to the open issue. ADDED THE NOTE (DRAFT K). 53. Bug 14932 - unparsed-text() - needs a proposal; the thinking is to generalize the context to define a mapping from URIs to resources and have both doc() and unparsed-text() appeal to this mapping. DONE DRAFT L. 53. Bug 14995 - decided that default-language, default-calendar etc will be added to the context and therefore the date formatting functions will become context-sensitive. DONE the F+O changes DRAFT K; definition of context in language book remains to be done. DONE. 54. Bug 14996 - (a) fix the examples - don't use context sensitive functions in function literals (b) function lookup will return a function item in the case of a context sensitive function, and invoking the resulting function item will throw an error. - Both DONE DRAFT K 55 Bug 14858 - format-integer picture string - preference is to write a formal grammar or regex defining the format of the picture. DONE DRAFT K. Sent out regex for review. DECISIONS OF 10 JAN 2012 56. Bug 15426. unparsed-text. Decided to extend the meaning of error code 1190 to cover the case where the requested encoding is not valid in the lexical space of legal encoding names. DONE DRAFT L. DECISIONS AT PRAGUE F2F, FEB 2012 57. ACTION A-500-19: Michael Kay: Change the specification of fn:serialize to define a dynamic error condition that may be raised by processors that dont support serialization option. DONE DRAFT L. DECISIONS OF 28 FEB 2012 58. Bug 14858 - format-integer picture string - decided to use semicolon as a separator between the two parts of the picture. DONE DRAFT L 59. Bug 15399 - EQNames. Not explicitly discussed, but a consequence of changes to the syntax of EQName is that the output of fn:path changes. The changes have been made. DONE DRAFT L. 60. Bug 16259 - error code from fn:data(). Fixed as an editorial correction. DONE DRAFT L. DECISIONS OF 20 MARCH 2012 61. Bug 16369. Add an editorial note under fn:error() to the effect that no error codes are reserved, and using a "static" error code doesn't make it a static error. DONE DRAFT L. 62. Bug 16089. Decided to change cast expression so it will now atomize. Mainly affects language book; check to see if any impact on F+O. Change the test case. 2012-03-31: decided there is no impact on F+O other than adding a caveat about the dangers. DONE DRAFT L. 63. Bug 15547. Add a non-normative note to fn:analyze-string() regarding the status of the schema types in the static context. DONE DRAFT L. 64. Bug 16232. Add dependency on implicit timezone for these five functions. DONE DRAFT L. DECISIONS OF 20 MARCH 2012 65. Bug 15594. In a regex, "." matches everything except CR and NL. DONE DRAFT L. OLD DECISION NOT IMPLEMENTED YET 66. Bug 7935. Items 1 and 2 in comment 4 have been implemented; item 3 has not. DONE DRAFT L. DECISIONS OF 15 MAY 2012 67. Bug 16565. Relative collation URIs resolved against either dynamic or static base URI at implementor option. DONE DRAFT L. 68. Bug 16745. Example of fn:serialize does not agree with the spec. DONE DRAFT L. 69. Bug 16948. number() does the same as number(.), including type errors. DONE DRAFT L. 70. Bug 17026. has-children(): conformance to the type signature is assumed. DONE DRAFT L. 71. Bug 17029. outermost() sorts into document order. DONE DRAFT L. ==== DECISIONS OF 29 MAY 2012 72. Bug 17229 typo in op:gYearMonth-equal. DONE (silently) 73. Note the text "Functions that are context-dependent cannot be used as literal function items..." is wrong. DONE DRAFT L. 74. Note work is needed on constructor functions for list and union types. Raised bug 17183. DONE. 75. Bug 16184 accepted as amended (root() at the start of the output of fn:path()) DONE DRAFT L. 76. Bug 17099 accepted (errors in format-integer picture) DONE DRAFT L. 77. Bug 15233 accepted: changes to rules on precision of trigonometric results. DONE DRAFT L. ==== DECISIONS OF 13 JUNE 2012 78. Bug 17252 clarifications to fn:deep-equal. DONE DRAFT L. 79. Bug 17183 - constructor functions. DONE DRAFT L. 80. Bug 17160 captured subgroups in regular expressions. DONE DRAFT L. === DECISIONS OF MONTREAL F2F JULY 2012 81. Bug 17595 - revert introduction of dynamic base URI. DONE DRAFT L. 82. DECISION: The 3.0 specs need to identify incompatibilities with 2.0 specs, and also provide a means to identify incompatibilities with XPath 1.0 (directly or indirectly). DONE DRAFT L. 2012-09-25 83. DECISION: Mike Kay to update the F&O spec in accordance with his description in bug 18750. DONE silently ALL COMPLETE TO HERE