- From: <bugzilla@jessica.w3.org>
- Date: Tue, 01 Mar 2016 14:48:38 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29509
Bug ID: 29509
Summary: Functions: External, Implementation-Defined, Host
Language
Product: XPath / XQuery / XSLT
Version: Candidate Recommendation
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: XPath 3.1
Assignee: jonathan.robie@gmail.com
Reporter: jonathan.robie@gmail.com
QA Contact: public-qt-comments@w3.org
Target Milestone: ---
The current internal draft has formal definitions for various kinds of
functions. The relationship between host language functions, external
functions, and implementation-defined functions is confusing and not terribly
helpful.
The definition of external function has been in drafts since February 2014, but
it defines external in terms of "the query environment".
<quote src="XQuery31" status="current internal">
external function
External functions are functions that are implemented outside the query
environment.
</quote>
It's probably better to define it syntactically:
<quote src="XQuery31" status="proposed">
external function
External functions are functions identified with the 'external' keyword in the
query prolog.
</quote>
In XQuery, Appendix C tells us that implementations can augment the built-in
functions with additional functions, but there is currently no term that refers
to these functions. The term implementation-defined function is a natural for
this, but it is not yet up to the task:
<quote src="XQuery31" status="current internal">
[Definition: An implementation-defined function is a function that is
implementation-defined.].
</quote>
It's probably better to define this in terms of augmenting the static and
dynamic contexts:
<quote src="XQuery31" status="current internal">
[Definition: An implementation-defined function is a function that is provided
by an implementation that augments the *statically known function signatures*
and/or *named functions*.] Functions imported from standard libraries are also
considered implementation-defined functions, and the implementation must
document which libraries it imports.
</quote>
The current definition of host language function is:
[Definition: A host language function is a function defined by the host
language.]
This definition may not be needed, and did not exist until recently. Can we
just get rid of it?
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Tuesday, 1 March 2016 14:48:41 UTC