<?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>23785</bug_id>
          
          <creation_ts>2013-11-11 00:28:54 +0000</creation_ts>
          <short_desc>[xslt 3.0] snapshot() implementation does not copy document node</short_desc>
          <delta_ts>2014-05-15 14:00:09 +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>Working 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>96093</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-11-11 00:28:54 +0000</bug_when>
    <thetext>Although the narrative description of the snapshot() function indicates that a documetn node at the root of the source tree should be copied, the XSLT specimen implementation of the function leaves the result with no document node at its root. This is because the template rule

&lt;xsl:template match=&quot;node()&quot; mode=&quot;snapshot&quot;&gt;

does not apply to document nodes (only to child nodes(), and the built-in template for document nodes does a &quot;shallow skip&quot;, that is, it does not create a document node in the result tree.

Similar problems occur when the argument to snapshot() is a parentless attribute or namespace node: the node is not matched and is therefore not copied.

Possible fixes are either (a) to change match=&quot;node()&quot; to match=&quot;.&quot;, or (b) to add on-no-match=&quot;shallow-copy&quot; to the mode declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96179</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-11-12 09:50:17 +0000</bug_when>
    <thetext>I have fixed this by changing the template rule to say match=&quot;.&quot;. I have created test cases that test the supplied stylesheet.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>