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 30151 - [FO31] The function fn:boolean does not have properties like determinism defined
Summary: [FO31] The function fn:boolean does not have properties like determinism defined
Status: RESOLVED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: Functions and Operators 3.1 (show other bugs)
Version: Recommendation
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-19 02:24 UTC by Abel Braaksma
Modified: 2017-12-20 10:51 UTC (History)
1 user (show)

See Also:


Attachments

Description Abel Braaksma 2017-07-19 02:24:19 UTC
Section 7.3.1 fn:boolean misses a Properties section. As a result it is not directly clear whether it is context-independent or not (it isn't).

I think the properties should be:

deterministic, context-independent, focus-independent

It also looks like that sometimes properties are listed for operators and sometimes not. We do say in 1.7 Properties of functions:

"All functions defined in this specification are ·deterministic· unless otherwise stated. Exceptions include the following: "

But we don't have a similar statement on functions (and operators) being context-independent (unless otherwise noted) or focus-independent (unless otherwise noted). While it may seem obvious that if it isn't listed, they are context-independent, I don't see that stated.

There aren't many operators defined that have a Properties section, but still, I'd guess we ought to be consistent here, or have a general statement about it (I sought for it, but couldn't find it).
Comment 1 Michael Kay 2017-08-28 22:14:12 UTC
fn:boolean appears to be the only function in the fn namespace for which the properties section is absent.

For op: functions I think properties are given only in the cases where there is some context-dependency to report.
Comment 2 Abel Braaksma 2017-08-29 20:09:14 UTC
(In reply to Michael Kay from comment #1)
> fn:boolean appears to be the only function in the fn namespace for which the
> properties section is absent.
Yes, I think so too, it's missing only there.

> For op: functions I think properties are given only in the cases where there
> is some context-dependency to report.
I'd expect a line somewhere that says this. Maybe there is, but I haven't found it. The logical place would be in 1.7 Properties of Functions.

Suggestion:

All operators defined in this spec with the "op" prefix are deterministic, context-independent and focus-independent, unless stated otherwise.

(if this is indeed correct, of course)
Comment 3 Michael Kay 2017-12-19 15:21:23 UTC
Erratum FO31.E2 was drafted to fix this problem.
Comment 4 Andrew Coleman 2017-12-20 10:51:16 UTC
resolved in latest commit