Bug 19670 - [XQ3.0] What does it mean to prohibit "all extensions"?
[XQ3.0] What does it mean to prohibit "all extensions"?
Status: CLOSED FIXED
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XQuery 3.0
Last Call drafts
PC All
: P2 normal
: ---
Assigned To: Jonathan Robie
Mailing list for public feedback on specs from XSL and XML Query WGs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-23 16:33 UTC by Michael Kay
Modified: 2013-06-19 09:52 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Kay 2012-10-23 16:33:53 UTC
XQuery 3.0 provides an option declaration whose effect is to disable all (vendor) extensions.

But the spec doesn't say what counts as a (vendor) extension.

Extending the grammar clearly is an extension, I assume.

What about pragmas in a vendor namespace - are these extensions? (The spec calls these "extension expressions" so I guess so).

What about option declarations in a vendor namespace?

What about implicit addition of functions, collations, types etc to the static and dynamic context? Are these extensions? Are they extensions only if added to the context "by default", or also if added by explicit user request, e.g. using an API?

The rules need to be made much more clear.
Comment 1 Jonathan Robie 2012-10-29 16:43:08 UTC
The Working Group adopted this resolution:

A named feature is a feature that is associated with a QName that allows to require or prohibit it with a require-feature or prohibit-feature option. Vendors SHOULD associate any extensions with a named feature.

The name all-extensions corresponds to the set of named features whose QName is not in the http://www.w3.org/2011/xquery-options namespace.
Comment 2 Michael Kay 2013-06-19 09:52:26 UTC
For the record, I don't think the resolution addressed the point made. But we've dropped require/prohibit, so the problem is no longer relevant, so I'm closing it.