Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
XBRL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== XBRL document structure == In typical usage, XBRL consists of an ''XBRL instance'', containing primarily the business facts being reported, and a collection of [[Taxonomy (general)|taxonomies]] (called a Discoverable Taxonomy Set (DTS)), which define metadata about these facts, such as what the facts mean and how they relate to one another. XBRL uses [[XML Schema (W3C)|XML Schema]], [[XLink]], and [[XPointer]] standards. === XBRL Instance === The XBRL instance begins with the <xbrl> [[root element]]. There may be more than one XBRL instance embedded in a larger XML document. Xbrl Instance is also known as XBRL file. The XBRL instance itself holds the following information: * ''Business Facts '' – facts can be divided into two categories ** ''Items'' are facts holding a single value. They are represented by a single XML element with the value as its content. ** ''Tuples'' are facts holding multiple values. They are represented by a single XML element containing nested Items or Tuples. In the design of XBRL, all Item facts must be assigned a context. * ''Contexts'' define the entity, e.g., company or individual, to which the fact applies, the period of time the fact is relevant, and an optional scenario. Date and time information appearing in the period element must conform to [[ISO 8601]]. Scenarios provide further contextual information about the facts, such as whether the business values reported are actual, projected, or budgeted. * ''Units'' define the units used by numeric or fractional facts within the document, such as USD, shares. XBRL allows more complex units to be defined if necessary. Facts of a monetary nature must use a unit from the [[ISO 4217]] namespace. * ''Footnotes'' use XLink to associate one or more facts with some content. * ''References'' to XBRL taxonomies, typically through schema references. It is also possible to link directly to a linkbase. This is an example of a fictitious Dutch company's [[International Financial Reporting Standards]] (IFRS) statement instance file : <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <xbrli:xbrl xmlns:ifrs-gp="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink"> <xbrll:schemaRef xlink:href="http://www.org.com/xbrl/taxonomy" xlink:type="simple"/> <ifrs-gp:OtherOperatingIncomeTotalFinancialInstitutions contextRef="J2004" decimals="0" unitRef="EUR">38679000000</ifrs-gp:OtherOperatingIncomeTotalFinancialInstitutions> <ifrs-gp:OtherAdministrativeExpenses contextRef="J2004" decimals="0" unitRef="EUR">35996000000</ifrs-gp:OtherAdministrativeExpenses> <ifrs-gp:OtherOperatingExpenses contextRef="J2004" decimals="0" unitRef="EUR">870000000</ifrs-gp:OtherOperatingExpenses> ... <ifrs-gp:OtherOperatingIncomeTotalByNature contextRef="J2004" decimals="0" unitRef="EUR">10430000000</ifrs-gp:OtherOperatingIncomeTotalByNature> <xbrli:context id="BJ2004"> <xbrli:entity> <xbrli:identifier scheme="www.iqinfo.com/xbrl">ACME</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2004-01-01</xbrli:instant> </xbrli:period> </xbrli:context> <xbrli:context id="EJ2004"> <xbrli:entity> <xbrli:identifier scheme="www.iqinfo.com/xbrl">ACME</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:instant>2004-12-31</xbrli:instant> </xbrli:period> </xbrli:context> <xbrli:context id="J2004"> <xbrli:entity> <xbrli:identifier scheme="www.iqinfo.com/xbrl">ACME</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2004-01-01</xbrli:startDate> <xbrli:endDate>2004-12-31</xbrli:endDate> </xbrli:period> </xbrli:context> <xbrli:unit id="EUR"> <xbrli:measure>iso4217:EUR</xbrli:measure> </xbrli:unit> </xbrli:xbrl> </syntaxhighlight> === XBRL Taxonomy === An XBRL Taxonomy is a collection of taxonomy schemas and linkbases. A taxonomy schema is an [[XML schema]] document (file). Linkbases are [[XML]] documents (file) which follow the [[XLink]] specification. The schema must ultimately extend the XBRL instance schema document and typically extend other published XBRL schemas on the xbrl.org website. * ''Taxonomy schemas'' define Item and Tuple "concepts" using <[[xsd:]]element> elements. Concepts provide names for the fact and indicate whether or not it is a tuple or an item, the data type (such as monetary, numeric, fractional, or textual), and potentially more metadata. Items and Tuples can be regarded as "implementations" of concepts, or specific instances of a concept. A good analogy for those familiar with [[object oriented programming]] would be that Concepts are the classes and Items and Tuples are Object instances of those classes. This is the source of the use of the "XBRL instance" terminology. In addition to defining concepts, taxonomy schemas reference linkbase documents. Tuples instances are 1..n relationships with their parents; their metadata is simply the collection of their attributes. * ''Linkbases'' are a collection of Links, which themselves are a collection of locators, arcs, and potentially resources. Locators are elements that essentially reference a concept and provide an arbitrary label for it. In turn, arcs are elements indicating that a concept links to another concept by referencing the labels defined by the locators. Some arcs link concepts to other concepts. Other arcs link concepts to resources, the most common of which are human-readable labels for the concepts. The XBRL 2.1 specification defines five different kinds of linkbases. ** ''Label Linkbase'' ** ''Reference Linkbase'' ** ''Calculation Linkbase'' ** ''Definition Linkbase'' ** ''Presentation Linkbase'' ====Label Linkbase==== This linkbase provides human readable strings for concepts. Using the label linkbase, multiple languages can be supported, as well as multiple strings within each language. XBRL aims to become a worldwide standard for electronic business reporting. This requires taxonomies to present business data in many different languages. Therefore, it is important to be able to create an element that is assigned with labels for different languages. There may also be different labels for different purposes. All labels are stored and linked to the elements in a label linkbase. Elements defined in a schema are built to convey accounting meaning to computers. In order to make it easier for computers to process their names, they have to obey some rules. For example, the use of spaces is not allowed so 'Cash and Cash Equivalents' would be named 'CashAndCashEquivalents' . Additionally, big taxonomies such as IFRS obey specific rules of naming and labelling to ensure consistency within the schema. For example, there could be a list of words that are excluded from the names, e.g., :and:, "of" ..., or words that appear only in a particular order (i.e., 'Net' or 'Total' at the end of the label after a comma). In the label linkbase, elements are connected to human readable labels using "concept-label" arcrole. As mentioned above, elements can be assigned to labels in different languages. An example that describes definitions of labels of the IFRS element AssetsTotal in English, German and Polish is provided below. <syntaxhighlight lang="xml"> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ifrs_AssetsTotal_lbl" xml:lang="en">Assets, Total</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ifrs_AssetsTotal_lbl" xml:lang="de">Vermögenswerte, Gesamt</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ifrs_AssetsTotal_lbl" xml:lang="pl">Aktywa, Razem</label> </syntaxhighlight> To distinguish between languages, XBRL uses the XML attribute lang. Taxonomy creators may also define different labels for one element. One of the ideas of XBRL is that the information about the period and currency for which the element is reported is not contained within an element definition but is described by a context in instance documents. In financial reporting on the other hand, many terms express the date for which they are being reported, for instance Property, Plant and Equipment at the beginning of year and Property, Plant and Equipment at the end of year. XBRL allows the creation of different labels depending on the context in which an element will be used. <syntaxhighlight lang="xml"> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ifrs_AssetsTotal_lbl" xml:lang="en">Property, Plant and Equipment, Net</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="ifrs_AssetsTotal_lbl" xml:lang="en">Property, Plant and Equipment, Net, Beginning Balance</label> <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="ifrs_AssetsTotal_lbl" xml:lang="en">Property, Plant and Equipment, Net, Ending Balance</label> </syntaxhighlight> The example above shows how three different labels are assigned to one element by applying different role attributes on labels. ====Reference Linkbase==== This linkbase associates concepts with citations of some body of authoritative literature. Financial concepts appearing on business reports more often than not stem from regulatory documents issued by authorities. For example, the IFRS Taxonomy describes financial reports prepared based on IFRSs (Bound Volume).<ref>{{cite book |first1=Roger |last1=Debreceny |last2=Felden |first2=Carsten |last3=Ochocki |first3=Bartosz |first4=Maciej |last4=Piechocki |first5=Michal |last5=Piechocki |title=XBRL for interactive data : engineering the information value chain |date=2009 |publisher=Springer |isbn=978-3-642-01436-9 |page=65 |url=https://books.google.com/books?id=lCa_nMiI8j0C&pg=PA65 |url-status=live |archive-url=https://web.archive.org/web/20180426101659/https://books.google.com/books?id=lCa_nMiI8j0C&pg=PA65 |archive-date=2018-04-26 }}</ref> Elements defined by this taxonomy refer to the specific terms and concepts explained in the standards. For this reason, a taxonomy is often provided with a reference linkbase that presents relationships between elements and external regulations or standards (the other solution is to enclose documentation in label linkbase). This helps instance creators and users understand the intended meaning of each element and provides support for its inclusion in the taxonomy. The reference layer does not contain the full text of the regulations. Instead, it points to source documents by identifying their name and indicating the relevant paragraphs and clauses. This connection is created using "concept-reference" arcrole. There are several types of references that could be provided for each element. <syntaxhighlight lang="xml"> <reference xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/presentationRef" xlink:label="CashFlowsFromUsedInOperationsTotal_ref"> <ref:Name>IAS</ref:Name> <ref:Number>7</ref:Number> <ref:Paragraph>14</ref:Paragraph> </reference> <reference xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/measurementRef" xlink:label="CashFlowsFromUsedInOperationsTotal_ref"> <ref:Name>IAS</ref:Name> <ref:Number>7</ref:Number> <ref:Paragraph>18</ref:Paragraph> <ref:Subparagraph>a</ref:Subparagraph> </reference> </syntaxhighlight> The example above indicates references for Cash Flow from (Used in) Operations. First, it provides a reference to a document which explains how and where the element should be presented in terms of its placement and labeling. In IAS 7, paragraph 14 we read that the concept Cash Flows from Operating Activities exists and what it is derived from. Second, the measurement reference provides explanations about what determines the value of the element and how it should be calculated. This description can be found in IAS 7 paragraph 18.a. XBRL also allows an element to be assigned other types of references containing examples, commentaries, etc. ====Calculation Linkbase==== This linkbase associates concepts with other concepts so that values appearing in an instance document may be checked for consistency. The idea of the calculation linkbase is to improve the quality of an XBRL report. It contains definitions of basic validation rules, which apply to all instance documents referring to a particular taxonomy. A hierarchical calculation linkbase sorts all monetary elements in this way so that lower level elements sum up to or are subtracted from one another so that the upper level concept is the result of these operations. The sign of the relationship depends on the weight attribute that is assigned to the arc connecting two elements. An example is provided below. <syntaxhighlight lang="xml"> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="RevenueTotal" order="1" weight="1" use="optional"/> <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="CostOfSales" order="2" weight="-1" use="optional"/> </syntaxhighlight> The example shows that there are defined two calculation arcs providing details concerning relations between Gross profit, Revenue and Cost of Sales. In Income Statements, Gross profit is the difference between the other two. Therefore, we assign weight attribute value to "1" on the arc connecting Gross profit and Revenue and "-1" between Gross profit and Cost of Sales. The reason why there is a difference between calculation and presentation linkbases, is that the total element that stands for the summation of all others usually appears at the bottom in the financial statements whereas in the calculation linkbase it must be placed as the top concept. <pre> Presentation Calculation Assets (Presentation) Assets, Total Assets, Non-Current Assets, Non-Current +1 Assets, Current Assets, Current +1 Assets, Total </pre> There are two major rules concerning calculation relations in XBRL. Firstly, we cannot carry out operations on elements that have different values of the periodType attribute. This is often called the cross-context rule and relates to defining some elements as "For period" (duration) and others as "As of date" (instant). For example, concepts that appear on the Balance Sheet are instant: which means that their value is presented for a specified day, while elements in the Income Statement or Statement of Cash Flows are duration: because they represent actions that took place over a period of time. The problem emerges for example in the Statement of Changes in Equity or Movements in Property, Plant and Equipment where instant elements mix with duration. The solution to this problem is a formula linkbase that will provide taxonomy creators with many more functions than just simple addition or subtraction. Secondly, the double entry accounting rule requires XBRL taxonomy creators to define the credit/debit nature of monetary elements appearing in the Balance Sheets and Income Statements. This rule does not only disallow the addition of elements with opposite balance attributes—they must be subtracted—it also defines whether the numerical value contained within an element should be positive or negative. ====Definition Linkbase==== This linkbase associates concepts with other concepts using a variety of arc roles to express relations such as is-a, whole-part, etc. Arc roles can be created by those who create XBRL taxonomies or commonly used arc roles can be added to the XBRL Link Role Registry (LRR). The definition linkbase provides taxonomy creators with the opportunity to define different kinds of relations between elements. There are four standard types of relationships supported by the definition linkbase. The first one is referred to as '''general-special'''. It distinguishes between concepts that have more generic or more specific meaning. For example, ZIP code is the US representation of Postal Code which is used worldwide. Therefore, to indicate that connection, taxonomy creators define Postal Code as a general term to which there is more specialised concept ZIP code. Second available relation type is '''essence-alias'''. By using it, taxonomy creators are able to indicate that two concepts have similar meaning. For example, some airlines may want to use the term Planes to describe their main component of their PPE while other would prefer Aircraft. To state that meaning of these two is the same and that they can be used interchangeably, taxonomy creators may connect them using "essence-alias" arcrole. The third standard type of relation is called '''requires-element'''. As its name indicates, taxonomy builders use it to force instance creators to enter the value of one element, if they provide the content of another. For instance, a regulator may want to require disclosures on a particular component of Assets if it appears on the Balance Sheet. In order to achieve that, the definition linkbase defines "requires-element" relationship between them (for example, Property, Plant and Equipment, Net and Property, Plant and Equipment Disclosures). The fourth relation is '''similar-tuples'''. It resembles "essence-alias" relation but is applied for tuples. It connects two tuples that are equivalents in terms of definition (documentation from label linkbase or reference in reference linkbase) but are diverse from XML perspective i.e., do not have identical content models, for example contain different elements. One of the reasons that this type of relation was introduced is the prohibition of schema redefinition which prevents changes in a tuple's content model. ====Presentation Linkbase==== This linkbase associates concepts with other concepts so that the resulting relations can guide the creation of a user interface, rendering, or visualization. Business reports are in general prepared in the form of tables or statements or other structures. The presentation linkbase stores information about relationships between elements in order to properly organize the taxonomy content. This allows the elements to be arranged in a structure that is appropriate to represent the hierarchical relationships in particular business data. These groupings can be performed in many ways. For example, a typical Balance Sheet contains Assets, Equity and Liabilities. Assets consist of Current Assets and Non-current Assets. Current Assets are split in Inventories, Receivables and so on. The presentation linkbase, using parent-child relations organizes elements in this way and helps users find concepts they are interested in. The main drawback of a tree-like (hierarchical) structure in a presentation linkbase is that it only allows the presentation of flat lists of elements, while financial statements also contain more sophisticated reports such as Changes in Equity or Movements in Property, Plant and Equipment . The XBRL Consortium is currently working on rendering solutions that would provide for the automatic creation of such reports. This is the taxonomy schema of the above shown instance file: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="utf-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ifrs-gp="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15" xmlns:ifrs-gp-rol="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/roles" xmlns:samp="http://www.iqinfo.com/xbrl/taxonomy" targetNamespace="http://www.iqinfo.com/xbrl/taxonomy" elementFormDefault="qualified" attributeFormDefault="unqualified"> <annotation> <appinfo> <link:linkbaseRef xlink:type='simple' xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-pre-bs-liquidity-2005-05-15.xml' xlink:role='http://www.xbrl.org/2003/role/presentationLinkbaseRef' xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' /> <link:linkbaseRef xlink:type='simple' xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-pre-is-byNature-2005-05-15.xml' xlink:role='http://www.xbrl.org/2003/role/presentationLinkbaseRef' xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' /> <link:linkbaseRef xlink:type='simple' xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-cal-bs-liquidity-2005-05-15.xml' xlink:role='http://www.xbrl.org/2003/role/calculationLinkbaseRef' xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' /> <link:linkbaseRef xlink:type='simple' xlink:href='http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-cal-is-byNature-2005-05-15.xml' xlink:role='http://www.xbrl.org/2003/role/calculationLinkbaseRef' xlink:arcrole='http://www.w3.org/1999/xlink/properties/linkbase' /> </appinfo> </annotation> <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" /> <import namespace="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15" schemaLocation="http://xbrl.iasb.org/int/fr/ifrs/gp/2005-05-15/ifrs-gp-2005-05-15.xsd" /> </schema> </syntaxhighlight> XBRL's Global Ledger Framework ([[XBRL GL]]) is the only set of taxonomies that is developed and recommended by [[XBRL International]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)