What elements are included in XBRL?
One of the best ways to get to know a new metadata scheme is to dive in and look at the specific elements. XBRL is simply not that simple. XBRL is more than just a metadata scheme. It is a framework for developing standardized taxonomies that can be used to create metadata for specific business reporting needs. So before we look at elements, we have to understand the basic structure of XBRL.
XBRL consists of the following:
-Instance document. This is the actual XBRL marked-up document.
-Taxonomies. Basically, a document of concept definitions, or a dictionary. In terms of metadata terminology we used in class, the taxonomy document provides the semantics for a particular XBRL instance document. The taxonomies also define hierarchies of concepts. If necessary, a taxonomy could describe one item in more than one language. The taxonomy itself is extensible, that is, a user can split one item into two different items (i.e., instead of just "sales," “equipment sales” and “consumables sales” could be used).
-Linkbases. Unlike the taxonomies which define the elements (called "items" in XBRL), linkbases are documents that define various relationship between items. The five types of linkbases are reference, label, definition, calculation, and presentation.
The instant document, taxonomies and linkbases are all connected using an XML linking standard called xlink.
XBRL was developed primarily by accountants as a way of standardizing business reporting. As such, GAAP (generally accepted accounting principles) are the standard types of elements we find in XBRL taxonomies. Let's look at an example of XBRL. The following excerpt comes from the 8-K (a "current report" companies must file to announce to shareholders any major event or change between the quarterly and annual reports) SEC filing of Comcast Corp:
[Note: spaces have been added around the brackets to show the code]
< unit id="USD" >
< measure>iso4217:USD
< /unit >
< !--Tuple Section-- >
< usfr-pte:TreasuryStock >
< usfr-pte:TreasuryStockDescription contextRef="Context3" >
Treasury stock, 243,640,500 Class A common shares and 47,289,843 Class A Special common shares
< /usfr-pte:TreasuryStockDescription >
< usfr-pte:TreasuryStockValue contextRef="Context3" unitRef="USD" decimals="INF" >-7517000000< /usfr-pte:TreasuryStockValue >
< /usfr-pte:TreasuryStock >
< usfr-pte:TreasuryStock >
< usfr-pte:TreasuryStockDescription contextRef="Context6" >
Treasury stock, 243,640,500 Class A common shares and 47,289,843 Class A Special common shares
< /usfr-pte:TreasuryStockDescription >
< usfr-pte:TreasuryStockValue contextRef="Context6" unitRef="USD" decimals="INF" >-7517000000< /usfr-pte:TreasuryStockValue >
< /usfr-pte:TreasuryStock >
< usfr-pte:PreferredStock >
< usfr-pte:PreferredStockDescription contextRef="Context3" >
Preferred stock authorized 20,000,000 shares; issued, zero
< /usfr-pte:PreferredStockDescription >
< usfr-pte:PreferredStockValue contextRef="Context3" unitRef="USD" decimals="INF">0
< usfr-pte:PreferredStockSharesAuthorized contextRef="Context3" unitRef="Shares" decimals="INF">20000000
< usfr-pte:PreferredStockSharesIssued contextRef="Context3" unitRef="Shares" decimals="INF">0
< /usfr-pte:PreferredStock >
Some things to point out. First of all, the term "tuple" refers to a set of items that are grouped together. In this case, the tuple refers to a number of different Treasury Stocks. Also, notice how XBRL allows references to international standards. In this case, US currency is used and the ISO4217 is the value for the "measure" attribute. Additional elements in this example include "Preferred Stock," "Preferred Stock Description," "Preferred Stock Shares Issued," etc. We can see from this small example how specific XBRL can be in terms of elements used. If we were to look instead at an XBRL instance document for a cash-flow statement or some other financial statement we would see an entirely different set of elements (i.e. revenue, EBITDA). One key element that we do not see in this particular example is reporting period, usually two date values. Time period for financial information is essential and a key element in XBRL.
Just one final word about taxonomies, as they are the key extensible item in XBRL that individual companies can use to create an appropriate XBRL instance documents. The whole point of XBRL is to standardize reporting. If everyone went off willy-nilly creating their taxonomies, the standardization would not work. So "XBRL International" has established "approved taxonomies" that comply with XBRL guidelines for that type of taxonomy, as well as with the XBRL specification itself. "Acknowledged taxonomies" also exist, but only comply with the XBRL specification, not the guidelines established for that kind of taxonomy. When creating a taxonomy, a user may want to consult the official guide to the
XBRL Taxonomy Recognition process.