[Bug 15043] [XQuery30] require-feature and prohibit-feature

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

--- Comment #1 from Jonathan Robie <jonathan.robie@gmail.com> 2011-12-06 16:01:51 UTC ---
(In reply to comment #0)
> At our Oct./Nov. F2F Meeting, we adopted the following:
> 
> DECISION:  For XQuery 3.0, adopt direction 1 in Ghislain's proposal: 
> http://lists.w3.org/Archives/Member/w3c-xsl-query/2011Oct/0091.html
> 
> Our draft spec does not fully reflect this proposal.
> 
> 1) We need to better describe the feature/sub-feature relationship of Q:F and
> Q:F-something. This is shown only by example in our draft spec.

Here's what I see in the draft spec:

<quote>
Features can be organized in hierarchies. For instance, a vendor might provide
a feature called gis:geography, with subfeatures like gis:geography-terrain,
gis:geography-roads, gis:geography-soil. If a subfeature is required, an
implementation must enable both that feature and its parent features. Within
any given hierarchy, all-optional-features can be used to require or prohibit
optional features.
</quote>

I believe what you want is an additional sentence that says feature F1 is a
parent of feature F2 if the name of F2 begins with the name of F1?

> 2) The rules for prohibiting/requiring *-all-optional-features need to be
> better spelled out. Requiring a feature automatically requires all of its
> parent features.

I think this text already says that:

<quote>
If a subfeature is required, an implementation must enable both that feature
and its parent features.
</quote>

> 3) While not addressed in the proposal, I believe that we should recognize that
> prohibiting/requiring Q:all-optional-features should prohibit/require all
> top-level features in the Q namespace.

We should discuss this.

> 4) Rule 2, raising an error of the same feature is both required and
> prohibited, is missing. It is only partially addressed by the current
> statement:
> 
> "It is a static error [err:XQST0127] if the same feature name appears in both a
> require-feature option declaration and a prohibit-feature option declaration in
> a given module."
> 
> Features can be required by requiring one of their sub-features.

Good point. I will fix that.

> 5) I believe that the following should be an error, but the spec is not clear
> on this point:
> 
> declare option prohibit-feature "all-extensions";
> declare option require-feature "gis:geography";

This could be addressed by adding a sentence to this:

<quote>
The name all-extensions corresponds to all features not defined by this
specification. When it appears in a prohibit-feature declaration, an
implementation must disable all such features<add>, and a static error is
raised if a require-feature declaration attempts to require such a feature
[err:XQSOMENUMBER]</add>. If all-extensions appears in a require-feature option
declaration, a static error is raised [err:XQST0126].
</quote>

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 6 December 2011 16:01:58 UTC