XBRL Function Registry Requirements
Public Working Draft dated 2008-04-18
Copyright © 2008, XBRL International Inc., All Rights Reserved

This version:
	registry-REQ-PWD-2008-04-18.rtf
is normative. Any other formats and versions are non-normative.
Editors
Geoff Shuetrim	geoff@galexy.net	Galexy	
Abstract
This document sets down the requirements that are guiding the registry specification that will be used for the XBRL function registry.
Status
Circulation of this Public Working Draft is unrestricted.  Recipients of this draft are invited to submit comments to the editors, and to submit notification of any relevant patent rights of which they are aware and to provide supporting documentation.

Formatting
The following highlighting is used for non-normative examples in this document:
	
Non-normative editorial comments to be removed from final recommendations are denoted as follows:
GCS: This highlighting indicates editorial comments about the current draft, prefixed by the editor’s initials.
Italics are used for rhetorical emphasis only and do not convey any special normative meaning.

Table of Contents
1.Overview	3
2.Registry	3
3.Generic registry entries	3
4.Function definition registry entries	3
5.Conformance suite tests	4
6.Function conformance suite inputs and outputs	4
A.References (non-normative)	5
B.Intellectual Property Status (non-normative)	5
C.Acknowledgements (non-normative)	5
D.Approval process (non-normative)	5
E.Document history (non-normative)	6

1.	Overview
The XBRL 2.1 specification is designed to be enhanced by extensions.  Some of these extensions take the form of complete new specifications.  Others are more numerous and somewhat smaller, making themselves more suitable for documentation as entries in a registry of extensions that are recognised by XBRL International.
This document sets out the requirements relating to the documentation required for entries in formal XBRL extension registries maintained by XBRL International.
It also provides a set of requirements that are specific to the XBRL function registry.
2.	Registry
●	Registries MUST be extensible, allowing any number of registry entries.
●	Registries MUST track the status of registry entries (IWD/PWD/CR/REC etc.)
●	Registries MUST track ownership of registry entries
●	Registries MUST support documentation of revision information
●	Registries MUST capture information about the age of registry entries
●	Registries MUST capture URL information about where to find complete sets of documentation for each registry entry.

3.	Generic registry entries
●	Generic registry entries MUST be able to include references to parts of related specifications.  These MUST be resolvable to URLs in those specifications.
●	Generic registry entries MUST be able to include information about those responsible for the resource entered in the registry.
●	Generic registry entries MUST be able to include revision histories.
●	Generic registry entries MUST include links to relevant conformance suite tests.
●	Generic registry entries MUST be able to define specific error codes that are to be generated in specified circumstances.
4.	Function definition registry entries
●	Function definitions MUST include a complete function signature.
●	Function definitions MUST include documentation of the function inputs and output.
5.	Conformance suite tests
●	Conformance suite tests MUST capture documentation about those responsible for the tests.
●	Conformance suite tests MUST capture documentation about each variation on the test.
●	Conformance suite tests MUST be able to reference the specific part of a specification that they test.
●	Conformance suite tests MUST capture information about the exact inputs for each test variation.
●	Conformance suite tests MUST capture information about the exact expected outputs for each test variation.
●	Conformance suite tests MUST support customisation of the inputs and outputs for a test variation to support testing different kinds of specifications.
●	Conformance suite tests MUST be able to capture revision histories for the tests.

6.	Function conformance suite inputs and outputs
●	Function conformance suite test documentation MUST be able to include the XPath that contains the function call to be evaluated against the other test inputs.
●	Function conformance suite test  documentation MUST be able to identify the input document that the XPath expression is run against.
●	Function conformance suite test documentation MUST be able to contain XPath expressions that can be evaluated against the result of evaluating the input XPath expression to check that that result is as expected.

A.	References (non-normative)
[RFC2119]	Scott Bradner
Key words for use in RFCs to Indicate Requirement Levels, March 1997
http://www.ietf.org/rfc/rfc2119.txt
	
[XBRL]	Phillip Engel, Walter Hamscher, Geoff Shuetrim, David vun Kannon, Hugh Wallis.
Extensible Business Reporting Language (XBRL) 2.1 Recommendation with corrected errata to 2006-12-18.
http://www.xbrl.org/SpecRecommendations/	
B.	Intellectual Property Status (non-normative)
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works.  However, this document itself may not be modified in any way, such as by removing the copyright notice or references to XBRL International or XBRL organizations, except as required to translate it into languages other than English.  Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).
This document and the information contained herein is provided on an "AS IS" basis and XBRL INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The attention of users of this document is directed to the possibility that compliance with or adoption of XBRL International specifications may require use of an invention covered by patent rights. XBRL International shall not be responsible for identifying patents for which a license may be required by any XBRL International specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. XBRL International specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.  XBRL International takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights.  Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).
C.	Acknowledgements (non-normative)
This document has been prepared to support the specifications produced by the Formula Working Group.
D.	Approval process (non-normative)
This section will be removed from the final recommendation.
These requirements are being developed following the XBRL Technical Working Group Processes: http://www.xbrl.org/XSB/XBRL_Technical_Working_Group_Processes-Approved-2007-04-17.htm
E.	Document history (non-normative)
Date	Editor	Remarks	
2008-02-01	Geoff Shuetrim	First version drafted.