Extensible Business Reporting Language (XBRL) 2.1
RECOMMENDATION - 2003-12-31 + Corrected Errata - 2006-12-18
This version:
XBRL-RECOMMENDATION-2003-12-31+Corrected-Errata-2006-12-18.rtf
is a non-normative version of this specification. The NORMATIVE version is in the file
XBRL-RECOMMENDATION-2003-12-31+Corrected-Errata-2006-12-18.rtf
|
Name |
Contact |
Affiliation |
|
Phillip Engel |
Morgan Stanley (formerly of KPMG LLP) |
|
|
Walter Hamscher[1] |
Standard Advantage |
|
|
Geoffrey Shuetrim |
Galexy Pty. (formerly of KPMG LLP) |
|
|
David vun Kannon |
PricewaterhouseCoopers LLP (formerly of KPMG LLP) |
|
|
Hugh Wallis |
XBRL International Inc. (formerly of Hyperion Solutions Corporation) |
|
Name |
Contact |
Affiliation |
|
Charles Hoffman |
UBmatrix |
|
|
Campbell Pryde |
Morgan Stanley (formerly of KPMG LLP) |
This document is an update to the RECOMMENDATION document dated 2003-12-31 and incorporates all errata corrections that have been approved by the XBRL International Specification Working Group as of 2006-12-18. The XBRL International Standards Board approved this document for publication as an update to the RECOMMENDATION on 2007‑01‑10.
Each erratum correction is identified in Appendix D. Links to discussions surrounding these corrections are included but it should be noted that some of these are to “members only” mailing lists. Readers are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
While excerpts from XBRL schemas are given throughout this document the complete normative versions of the schemas are included in Appendix A. Non-normative versions are also available as separate .xsd files from www.xbrl.org, the XBRL International web site. The (non-normative) schema maintenance mechanism for schemas on the web is briefly described in Appendix A of this document.
XBRL is the specification for the eXtensible Business Reporting Language. XBRL allows software vendors, programmers, intermediaries in the preparation and distribution process and end users who adopt it as a specification to enhance the creation, exchange, and comparison of business reporting information. Business reporting includes, but is not limited to, financial statements, financial information, non-financial information, general ledger transactions and regulatory filings, such as annual and quarterly reports.
This document defines XML elements and attributes that can be used to express information used in the creation, exchange, and comparison tasks of business reporting. XBRL consists of a core language of XML elements and attributes used in XBRL instances as well as a language used to define new elements and taxonomies of elements referred to in XBRL instances, and to express constraints among the contents of elements in those XBRL instances.
1.3 Relationship to other work
1.4 Terminology (non-normative except where otherwise noted)
1.6 Namespace prefix conventions
1.7 Extensions to this specification
2 Changes from the previous published version
2.2 Changes in XBRL taxonomies
3.1 Overview of XBRL taxonomies
3.2 Overview of XBRL instances
3.3 Data integrity and confidentiality
3.5.1.1 The xlink:type attribute on simple links
3.5.1.2 The xlink:href attribute on simple links
3.5.1.3 The xlink:role attribute on simple links (optional)
3.5.1.4 The xlink:arcrole attribute on simple links (optional)
3.5.1.5 The xml:base attribute on simple links (optional)
3.5.2.1 The id attribute on linkbase elements (optional)
3.5.2.2 The xml:base attribute on linkbase elements (optional)
3.5.2.3 Documentation elements in linkbase elements (optional)
3.5.2.4 The roleRef element (optional)
3.5.2.5 The arcroleRef element (optional)
3.5.3.1 The id attribute on extended links (optional)
3.5.3.2 The xlink:type attribute on extended links.
3.5.3.3 The xlink:role attribute on extended links.
3.5.3.4 The xml:base attribute on extended links (optional)
3.5.3.5 Documentation elements in extended links (optional)
3.5.3.6 Titles in extended links (optional)
3.5.4 Use of XPointer in URI fragment identifiers
4.1.1 The id attribute on xbrl elements (optional)
4.1.2 The xml:base attribute on xbrl elements (optional)
4.2 The schemaRef element in XBRL Instances
4.2.1 The xlink:type attribute on schemaRef elements
4.2.2 The xlink:href attribute on schemaRef elements
4.2.3 The xlink:arcrole attribute on schemaRef elements (optional)
4.2.4 The xlink:role attribute on schemaRef elements (optional)
4.2.5 The xml:base attribute on schemaRef elements (optional)
4.3 The linkbaseRef element in XBRL instances
4.3.1 The xlink:type attribute on linkbaseRef elements
4.3.2 The xlink:href attribute on linkbaseRef elements
4.3.3 The xlink:arcrole attribute on linkbaseRef elements
4.3.4 The xlink:role attribute on linkbaseRef elements (optional)
4.3.5 The xml:base attribute on linkbaseRef elements (optional)
4.4 The roleRef element in XBRL instances (optional)
4.5 The arcroleRef element in XBRL instances (optional)
4.6.1 The contextRef attribute
4.6.3 Usage of precision and decimals attributes
4.6.4 The precision attribute (optional)
4.6.5 The decimals attribute (optional)
4.6.7 Definitions pertaining to accuracy
4.6.7.1 “Correct to n Significant Figures”, “Rounding” and “Truncation”
4.6.7.2 “Correct to n Decimal Places”
4.7.3.2 The segment element (optional)
4.7.4 The scenario element (optional)
4.8.4 The unitNumerator and unitDenominator elements
4.10 Equality predicates relevant to detecting duplicate items and tuples
4.11.1 The footnoteLink element
4.11.1.1 Locators in footnoteLink elements
4.11.1.3 The footnoteArc element
5.1.1.1 The periodType attribute
5.1.1.2 The balance attribute (optional)
5.1.3 Defining custom role types – the roleType element
5.1.3.2 The id attribute on roleType elements (optional)
5.1.3.3 The definition element in roleType elements (optional)
5.1.3.4 The usedOn element in roleType elements
5.1.4 Defining custom arc role types – the arcroleType element
5.1.4.1 The arcroleURI attribute
5.1.4.2 The id attribute on arcroleType elements (optional)
5.1.4.3 The cyclesAllowed attribute
5.1.4.4 The definition element on arcroleType elements (optional)
5.1.4.5 The usedOn element on arcroleType elements.
5.2.2.1 Locators in labelLink elements
5.2.3 The referenceLink element
5.2.3.1 Locators in referenceLink elements
5.2.3.3 The referenceArc element
5.2.4 The presentationLink element
5.2.4.1 Locators in presentationLink elements
5.2.4.2 The presentationArc element
5.2.5 The calculationLink element
5.2.5.1 Locators in calculationLink elements
5.2.5.2 The calculationArc element
5.2.6 The definitionLink element
5.2.6.1 Locators in definitionLink elements
5.2.6.2 The definitionArc element
xbrl-instance-2003-12-31.xsd (normative)
xbrl-linkbase-2003-12-31.xsd (normative)
xlink-2003-12-31.xsd (normative)
B. Document history and acknowledgments (non-normative)
C. Intellectual property status (non‑normative).
D. Errata Corrections incorporated in this document
Table 1. Terms and definitions.
Table 2. Roles in the linkbaseRef element
Table 3. Unit restrictions based on item types.
Table 4. Equality predicate definitions.
Table 5. Correct signage in an XBRL instance
Table 6. Constraints among the balance attribute and calculation arc weights
Table 8. Standard label role attribute values.
Table 9. Reference role attribute values.
Example 1. A skeletal linkbase
Example 2. One-to-One arc relationships [XLINK]
Example 3. One-to-Many arc relationships [XLINK]
Example 4. Many-to-Many arc relationships [XLINK]
Example 5. Correct use of arcs according to [XLINK]
Example 6. Prohibiting and overriding relationships
Example 7. Example xlink:href values
Example 8. Use of xbrl as the root element
Example 9. A numeric fact with three significant digits
Example 10. A non-numeric item
Example 11. Precision and lexical representation
Example 12. Decimals and lexical representation
Example 13. Lexical representation, precision and decimals
Example 15. Correct to n decimal places
Example 17. Entity identifiers
Example 18. Using the segment element
Example 19. Use of the scenario element
Example 20. Use of the unit element
Example 21. Simple and complex unit of measure comparison
Example 22. Defining a tuple as a member of the substitutionGroup "tuple"
Example 23. Elements describing business properties held and disposed
Example 24. Hierarchy in a tuple
Example 25. Duplicate items, tuples and contexts
Example 26. Predicates for detecting duplicates
Example 27. A footnote in an XBRL instance
Example 28. A skeletal taxonomy schema showing linkbase references
Example 29. Typical element definitions in a taxonomy schema
Example 30. Instant and duration concept definitions
Example 31. Using the balance element to indicate normal debit and credit balances
Example 32. A concept appearing with positive and negative values in an XBRL instance
Example 33. Deriving an enumerated item type
Example 34. Representing fractions
Example 35. Defining a custom role type
Example 36. Defining a custom arc role value
Example 39. Using relationship prohibition to insert a new sub-total into a calculation network
Example 41. Elements of a financial reporting taxonomy
Example 42. Hierarchy in a calculation linkbase
Example 43. Hierarchy of general-special arcs in a definition linkbase
Example 44. Hierarchy in a presentation linkbase
Example 45. Label resource examples
Example 46. Arc between a concept and one of its labels
Example 47. Sample values of xlink:role for several referenceLink elements
Example 48. Arc between a concept and supporting references
Example 49. Reference resource
Example 50. A presentation arc
Example 51. An abstract concept definition
Example 52. Calculations involving decimals and precision
Example 53. Syntax of a calculationArc
Example 54. Cash, equivalent to cash as totalled by branch location and account type
Example 55. XBRL instance fragment with nested tuples
Example 56. A general-special arc
Example 57. Inference of values for non-numeric items with concepts connected by essence-alias arcs
Example 58. Inference of values for numeric items with concepts connected by essence-alias arcs
XBRL is the specification for the eXtensible Business Reporting Language. XBRL allows software vendors, programmers and end users to enhance the creation, exchange, and comparison of business reporting information. Business reporting includes, but is not limited to, financial statements, financial information, non-financial information and regulatory filings such as annual and quarterly financial statements.
This document defines XML elements and attributes that can be used to express information used in the creation, exchange and comparison tasks of business reporting. XBRL consists of a core language of XML elements and attributes used in document instances. Abstract elements in this core language are replaced by concrete elements in XBRL instances. These abstract elements are defined in taxonomies. XBRL consists of a language used to define new elements and taxonomies of elements referred to in document instances and the relationships between taxonomy elements.
All parts of this document not explicitly identified as non-normative are normative. In the event of any conflict or apparent conflict between the English language text of this document and/or schema fragments included in the main body of this document and the normative schemas contained herein (Appendix A), the more restrictive interpretation that is possible from the information provided by the English language text and that provided by the normative schemas (Appendix A) SHALL prevail. The schema fragments incorporated into the body of the text are non-normative and are generally indicated as such by means of shading such as that defined in section 1.1. It is important to note that the normative schemas (Appendix A) do not necessarily always provide the most restrictive interpretation, either because it is not possible to express certain limitations using the syntax of XML Schema [SCHEMA‑1] [SCHEMA-2] or because, as at the time of publication of this specification, some commonly available commercial implementations of XML Schema do not implement otherwise necessary features correctly or fully. For example, the schema specification of the abstract element tuple (Appendix A) does not restrict its content model as much as the English language text in section 4.9. The text of section 4.9 SHALL prevail in this case. Another, converse, example is the order of the sub-elements of the context element. In this case the schema (Appendix A) dictates a specific ordering of these sub-elements yet this is not explicitly articulated in the text of section 4.7. The schema (Appendix A) provides the more restrictive interpretation and thus it SHALL prevail over any alt