[Bug 24970] New: Non-contextual function calls definition misinterprets the Core functions definition

https://www.w3.org/Bugs/Public/show_bug.cgi?id=24970

            Bug ID: 24970
           Summary: Non-contextual function calls definition misinterprets
                    the Core functions definition
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: abel.braaksma@xs4all.nl
        QA Contact: public-qt-comments@w3.org

The definition of Non-contextual function calls [1] says:

[Definition: The term non-contextual function call is used to refer to function
calls that do not pass the dynamic context to the called function. This
includes all calls on stylesheet functions and all dynamic function
invocationsXP30, (that is calls to function items as permitted by XPath 3.0).
It does not include calls to all core functions in particular those that
explicitly depend on the context, such as the current-group and regex-group
functions. It is implementation-defined whether, and under what circumstances,
calls to extension functions are non-contextual.]

The problem is with the penultimate sentence: "It does not include calls to all
core functions [...] such as current-group and regex-group".

The mentioned functions are not part of the core functions, which are currently
defined _not_ to include XSLT-only functions in the function namespace:

[Definition: The core functions are: functions specified in [Functions and
Operators] in either the standard function namespace or the namespace
http://www.w3.org/2005/xpath-functions/math; plus functions defined in this
specification in namespace http://www.w3.org/2005/xpath-functions/map.]

It is probably better to refer to contextual functions from the F&O spec. Or,
conversely, to add and mention the non-contextual functions that are not in
Core Functions, but are in the XSLT spec, which I think are only those:

- one-argument functions fn:copy-of and fn:snapshot.
- two-argument function fn:document
- three-argument fn:deep-equal (see also bug 24968)
- two-argument fn:collation-key (see also bug 24968)
- any map: function (but these are already in core functions)

--------------------

Similarly the first use of the term Core Functions in 5.4.1 Initializing the
Static Context [2], bullet four, only mentions the non-necessity of using the
fn: prefix for core functions, while it is also non-mandatory for functions in
that namespace defined in the XSLT spec.

--------------------

Similarly (but less intrusive) is the mention of Core Functions under 13.4 The
Unicode Collation Algorithm [3], third para, second sentence. This sentence
mentions the use of the collation argument in core functions, but does not
include the collation argument in functions in the XSLT spec.



[1] http://www.w3.org/TR/xslt-30/#dt-non-contextual-function-call
[2] http://www.w3.org/TR/xslt-30/#static-context
[3] http://www.w3.org/TR/xslt-30/#uca-collations

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 7 March 2014 13:05:18 UTC