<?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>30131</bug_id>
          
          <creation_ts>2017-06-21 23:15:10 +0000</creation_ts>
          <short_desc>[xslt30ts] merge-051 and merge-082 use position() in xsl:merge-key</short_desc>
          <delta_ts>2017-06-22 09:08:11 +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 Test Suite</component>
          <version>Proposed Recommendation</version>
          <rep_platform>PC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Kay">mike</reporter>
          <assigned_to name="Abel Braaksma">abel.online</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>128664</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2017-06-21 23:15:10 +0000</bug_when>
    <thetext>Tests merge-051 and merge-082 use &lt;xsl:merge-key select=&quot;position()&quot;/&gt; expecting the merge keys to be a monotonic sequence of integers 1..N.

However, we state in §15.5 that a merge key is evaluated with a singleton focus, so the value of position() will always be 1.

Unfortunately this invalidates what the tests are trying to achieve, which is simple pairwise merging of two input sequences.

The functionality can be achieved, but less conveniently, using accumulator values as the grouping keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128665</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2017-06-22 09:08:11 +0000</bug_when>
    <thetext>I have changed tests merge-051 and merge-082 to use accumulators instead of calling position(), and I have added a new test merge-092 (inspired by a Saxon bug report from Martin Honnen) that checks that the merge key is indeed evaluated with a singleton focus.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>