<?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>24266</bug_id>
          
          <creation_ts>2014-01-10 06:10:38 +0000</creation_ts>
          <short_desc>[XSLT 3.0] Decouple XSLT and XPath versions</short_desc>
          <delta_ts>2014-04-25 11:02:15 +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>XSLT 3.0</component>
          <version>Last Call drafts</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Kay">mike</reporter>
          <assigned_to name="Michael Kay">mike</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>98248</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-01-10 06:10:38 +0000</bug_when>
    <thetext>XSLT and XPath development are no longer synchronized and it is quite possible that an XPath 3.1 specification will be published during the lifetime of XSLT 3.0. We should therefore consider whether XSLT should adopt the same policy as for other dependencies such as Unicode, XML, and XSD, namely to allow use of XSLT 3.0 with XPath 3.0 or any later version.

This would have to take into account the possibility of data model changes. My proposal would be that an XSLT 3.0 processor

* may allow use of versions of XPath, F+O, and Serialization later than 3.0

* must reject any XPath expression with a static or dynamic error as appropriate if it returns a value that is outside the value space of XDM 3.0. (For example, an array).

(But note, we currently allow extension functions to return values that are outside the value space of XDM 3.0. So perhaps in the second rule, &quot;must reject&quot; should be &quot;may reject&quot;)

If future versions of XPath extend the static or dynamic context, then such extended parts of the context should take an implementation-defined value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102741</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-03-21 10:00:42 +0000</bug_when>
    <thetext>The WG considered this on 2014-03-21 and there was some sympathy for the idea. The editor was asked to propose detailed wording. Here is the proposal:

The following paragraph appears in 26.1 Basic XSLT processor:

The mandatory requirements of this specification are taken to include the mandatory requirements of XPath 3.0, as described in [XPath 3.0]. A requirement is mandatory unless the specification includes wording (such as the use of the words should or may) that clearly indicates that it is optional.

Move this provision out of 26.1 into 26, because it applies to all XSLT processors not only to Basic processors; and expand it as follows:

The mandatory requirements of this specification are taken to include the mandatory requirements of [XPath 3.0], [Data Model], and [Functions and Operators]. An XSLT 3.0 processor MUST provide a mode of operation which conforms to the 3.0 versions of those specifications as extended by [21 XPath Extensions]. It MAY also provide a mode of operation which conforms to later versions of those specifications; in such cases the detail of how XSLT 3.0 interacts with new features introduced by such later versions (for example, extensions to the data model) is *implementation-defined*.

In 26.3 Serialization Feature add a paragraph:

A processor that claims conformance with the Serialization Feature must satisfy the mandatory requirements of [Serialization]. It MUST provide a mode of operation which conforms to the 3.0 version of that specification. It MAY also provide a mode of operation which conforms to a later version of that specification; in such cases the detail of how XSLT 3.0 interacts with new features introduced by such a version (for example, support for new serialization properties) is *implementation-defined*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104367</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-04-24 18:44:35 +0000</bug_when>
    <thetext>The WG today agreed this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104427</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-04-25 11:02:15 +0000</bug_when>
    <thetext>The change has been applied.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>