<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>21130</bug_id>
          
          <creation_ts>2013-02-26 21:19:20 +0000</creation_ts>
          <short_desc>[XQ30] require-feature</short_desc>
          <delta_ts>2013-03-12 15:49:16 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>XQuery 3.0</component>
          <version>Candidate Recommendation</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19858</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Mills">tim</reporter>
          <assigned_to name="Jonathan Robie">jonathan.robie</assigned_to>
          
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>83759</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2013-02-26 21:19:20 +0000</bug_when>
    <thetext>The specification makes provision for a processor to disable a feature which it supports in response to a prohibit-feature declaration, but there is no corresponding provision for a processor to enable a feature in response to a require-feature declaration which it supports but which is not enabled by default.

In general, this isn&apos;t a problem.  Most optional features do &apos;no harm&apos; if enabled, I.e. enabling a feature will not cause the failure of query to compile.  A notable exception is the static typing feature.

A processor which supports (has an implementation of) the static typing feature might wish to operate with the feature disabled by default, since most queries are likely to fail static type checking.  It would be enabled expliitly with a require-feature declaration.  It would be unreasonable to expect library authors to include an explicit prohibition of the static typing feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84068</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2013-03-07 09:41:01 +0000</bug_when>
    <thetext>Ghislain has proposed:


If a processor that normally does not support feature A encounters a query that has a require-feature option declaration on this feature A, it must do one of the following:
- Process the module using the semantics of this specification with feature A&apos;s being supported.
- Raise a static error [err:XQST0120].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84294</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2013-03-12 15:42:16 +0000</bug_when>
    <thetext>The Working Group has agreed to the following editorial clarification:

A require-feature option declaration provides a list of named features that must be enabled for the module in which the option declaration occurs; if any declaration requires a feature, it must enable that feature, or raise a static error [err:XQST0120] .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84296</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2013-03-12 15:49:16 +0000</bug_when>
    <thetext>I will also change &quot;it&quot; to &quot;the processor&quot; for the sake of clarity:

A require-feature option declaration provides a list of named features that must be enabled for the module in which the option declaration occurs; if any declaration requires a feature, the processor must enable that feature or raise a static error [err:XQST0120].

In addition, I will provide definitions for &quot;enable&quot;, &quot;disable&quot;, and &quot;support&quot;, and improve the error code description.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>