This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 7864 - [XQuery 1.1] Unclear whether both user-defined and external functions can be both public and private
Summary: [XQuery 1.1] Unclear whether both user-defined and external functions can be ...
Status: RESOLVED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XQuery 3.0 (show other bugs)
Version: Working drafts
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Jonathan Robie
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-09 21:31 UTC by Jim Melton
Modified: 2009-11-05 18:45 UTC (History)
1 user (show)

See Also:


Attachments

Description Jim Melton 2009-10-09 21:31:51 UTC
In the WD of XQuery 1.1 currently being prepared for internal WG review, the 5th paragraph of Section 4.17, Function Declaration, says:

A function declaration may specify that a function is private or public (which is the default). [Definition: A private function is hidden from module import, which can not import it into the function signatures of another module. ] [Definition: A public function is accessible to module import, which can import it into the function signatures of another module. ]

EBNF production [31] allows, and the quoted paragraph suggests, that both user-defined functions and external functions are allowed to be either private functions or public functions.  However, an admittedly brief scan of the minutes recording the acceptance of private functions did not reveal whether the WG intended for this to be the case, or if only declarations of user-defined functions were to have the option specified.
Comment 1 John Snelson 2009-10-12 20:17:50 UTC
I don't think the WG discussed that. My opinion is that there's no reason not to allow private external functions - for instance some internal parts of a module that interfaces with the hardware may be written as external functions.
Comment 2 Jonathan Robie 2009-11-05 18:45:04 UTC
The Working Group decided to allow external functions to be private, on the theory that a module need not share how it implements functionality.

This requires no changes to the document.