- From: <bugzilla@jessica.w3.org>
- Date: Wed, 04 Jan 2017 15:54:27 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=30041 Bug ID: 30041 Summary: [FO31] year-from-date() with negative years Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: Functions and Operators 3.1 Assignee: mike@saxonica.com Reporter: mike@saxonica.com QA Contact: public-qt-comments@w3.org Target Milestone: --- I don't think we have 100% clarity of what the expected result of year-from-date('-0001-06-06') should be. XSD 1.0 says: '-0001' is the lexical representation of the year 1 Before Common Era (1 BCE, sometimes written "1 BC").... It is the intention of the XML Schema Working Group to allow '0000' as a lexical representation in the dateTime, date, gYear, and gYearMonth datatypes in a subsequent version of this Recommendation. '0000' will be the lexical representation of 1 BCE (which is a leap year), '-0001' will become the lexical representation of 2 BCE (not 1 BCE as in this (1.0) version), '-0002' of 3 BCE, etc. and this intention was carried out in XSD 1.1 A reader might therefore assume that the result of year-from-date('-0001-06-06') should be -1 under XSD 1.0 and -2 under XSD 1.1. Indeed, this reader appears to have made this assumption. (Causing test fn-year-from-dateTime-6 to fail in Saxon when XSD 1.1 is enabled). The F+O spec itself says only "the function returns an xs:integer representing the year component in the local value of $arg. The result may be negative." The definition of "local value" (if it can be called that) in 9.2 does not really address the question. But in the introduction to 9.5 (which defines year-from-date() and year-from-dateTime()) we have an alternative definition: In all cases the local value (that is, the original value as written, without any timezone adjustment) is used. which suggests that the intended result is -1. Generally I think that returning -1 gives fewest surprises and least risk of breaking anything, so I propose that we should clarify, perhaps by means of annotated examples, that this is the expected result. Test case fn-year-from-dateTime-6 is then correct for both XSD versions. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 4 January 2017 15:54:35 UTC