<?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>29392</bug_id>
          
          <creation_ts>2016-01-25 22:32:31 +0000</creation_ts>
          <short_desc>[xslt 3.0] Serialization Feature and the fn:serialize() function</short_desc>
          <delta_ts>2016-02-19 14:32:12 +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>Candidate Recommendation</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>124711</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2016-01-25 22:32:31 +0000</bug_when>
    <thetext>XSLT 3.0 (like previous versions) defines Serialization as an optional feature. A processor that does not implement this feature should not be required to implement the fn:serialize function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125028</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2016-02-15 10:03:18 +0000</bug_when>
    <thetext>The minutes record: We accepted in principle that the function should be part of the serialization feature and MKay will come up with a proposal to make that happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125034</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2016-02-15 11:23:06 +0000</bug_when>
    <thetext>Noted that F+O already states:

If the host language makes serialization an optional feature and the implementation does not support serialization, then a dynamic error [err:FODC0010] is raised.

There was discussion about &quot;cherry-picking&quot; - are implementations allowed to offer partial support for serialization, e.g. some methods but not others, some serialization params but not others, or fn:serialize() without external serialization. (MK&apos;s view - they will do so whether we allow it or not).

PROPOSAL (for XSLT - the section on Conformance / Serialization Feature):

If the Serialization Feature is not available and fn:serialize() is called with values for serialization parameters that are not supported, then a processor MUST raise error FODC0010 

(and add notes to say what this means - a processor might reject all calls on fn:serialize, or it might support only selected options.)

This proposal was accepted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125162</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2016-02-19 14:32:12 +0000</bug_when>
    <thetext>I interpreted our decisions as follows, by adding the text:

Note: A processor that does not claim conformance with the serialization feature
&lt;rfc2119&gt;may&lt;/rfc2119&gt; offer alternative serialization capabilities, and these
&lt;rfc2119&gt;may&lt;/rfc2119&gt; make use of the serialization parameters defined on
&lt;elcode&gt;xsl:output&lt;/elcode&gt; and/or &lt;elcode&gt;xsl:result-document&lt;/elcode&gt;.&lt;/p&gt;

If the processor claims conformance with the serialization feature then it &lt;rfc2119&gt;must&lt;/rfc2119&gt; fully implement the &lt;xfunction&gt;serialize&lt;/xfunction&gt; function defined in &lt;bibref ref=&quot;xpath-functions-30&quot;/&gt; or &lt;bibref ref=&quot;xpath-functions-31&quot;/&gt; as appropriate, and &lt;rfc2119&gt;must not&lt;/rfc2119&gt; raise error FODC0010 as the result of such a call.
            
If the processor does not claim conformance with the serialization feature, then it &lt;rfc2119&gt;may&lt;/rfc2119&gt; raise error FODC0010 in respect of some or all calls on the &lt;xfunction&gt;serialize&lt;/xfunction&gt; function; it &lt;rfc2119&gt;must not&lt;/rfc2119&gt; return a result from a call on this function unless the result is conformant with the specification, given the parameters actually supplied.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>