<?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>27069</bug_id>
          
          <creation_ts>2014-10-16 03:38:42 +0000</creation_ts>
          <short_desc>[XSLT30] Function signatures do not include namespace prefix</short_desc>
          <delta_ts>2015-10-29 09:50:39 +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>Windows NT</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="Abel Braaksma">abel.braaksma</reporter>
          <assigned_to name="Michael Kay">mike</assigned_to>
          <cc>john</cc>
          
          <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>113269</commentid>
    <comment_count>0</comment_count>
    <who name="Abel Braaksma">abel.braaksma</who>
    <bug_when>2014-10-16 03:38:42 +0000</bug_when>
    <thetext>Probably editorial.

In XP30 it is customary to use the namespace prefix in the function signature. Esp. now that we have functions both in the map and in the fn namespaces, I think we should include the prefix in the signature as well (plus it makes auto-generating a list of functions from the XHTML easier).

I.e., we have:

contains($map as map(*),
         $key as xs:anyAtomicType) as xs:boolean

which looks much like fn:contains, but is actually map:contains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113280</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-10-16 08:06:02 +0000</bug_when>
    <thetext>I&apos;m reluctant. Partly because of the sheer amount of work and the inevitability of errors (it can be automated for isolated references to functions, but not for function calls within example code), and secondly because I don&apos;t think it&apos;s a coding style I want to encourage. It just clutters the code and makes it less readable. The default function namespace in XSLT is always the fn namespace, so using the prefix is always redundant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113281</commentid>
    <comment_count>2</comment_count>
    <who name="johnlumley">john</who>
    <bug_when>2014-10-16 08:19:22 +0000</bug_when>
    <thetext>Abel wrote:

... (plus it makes auto-generating a list of functions from the XHTML easier)...

Having gone through a similar process when generating info for our streamability analysis tool, where some of the tables in XSLT3.0 Section 19 were consulted semi-automatically, I&apos;d rather encourage more use of attaching information to declarative structures such as the function catalogs and publishing them more systematically for such downstream purposes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113341</commentid>
    <comment_count>3</comment_count>
    <who name="Abel Braaksma">abel.braaksma</who>
    <bug_when>2014-10-16 17:27:32 +0000</bug_when>
    <thetext>&gt; and secondly because I don&apos;t think it&apos;s a coding style I want to encourage

Sorry, I think you misunderstand. It is not about coding style, it is about the signatures of the functions. Not about examples, but about aligning those signatures (one place for each function, either &quot;fn:&quot; or &quot;map:&quot;) with the way they are defined in FO30.

Similarly, we use map functions always with the map prefix (I believe it is not even allowed otherwise) and currently we define it normatively without the map prefix. While not wrong per se, it seems a bit at odds at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113352</commentid>
    <comment_count>4</comment_count>
    <who name="Abel Braaksma">abel.braaksma</who>
    <bug_when>2014-10-16 20:45:47 +0000</bug_when>
    <thetext>&gt; I&apos;d rather encourage more use of attaching information to declarative 
&gt; structures such as the function catalogs and publishing them more 
&gt; systematically for such downstream purposes.

(a bit OT) Well, it is a two-step process, where a controllable converter takes an offline XHTML document and turns it into an XML list of functions. It is not perfect, but the XHTML is well structured and there is little chance for change.

The XML list of functions is small, clean and tidy and can henceforth be used at a plethora of occasions. Currently, I agree, this can be done more structurally and in one place, and I&apos;ll probably do so in the near future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113353</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-10-16 20:55:40 +0000</bug_when>
    <thetext>If you go into the CVS source, there is a function-catalog.xml which has all the function data in structured form. (In fact there&apos;s one for the F+O functions and another for the XSLT functions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113708</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2014-10-24 15:45:20 +0000</bug_when>
    <thetext>The stylesheet changes to achieve this are being tested.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>