Setting Up XBRL Definitions in EPM
This topic provides an overview of XBRL instance document components, defines pages used, and discusses how to:
Define a namespace set
Define taxonomy
Define an Instance Header
Define a reporting entity
Define an instance report.
Define a report set.
Define XBRL units of measure.
Define context.
Pages Used to Set up Reporting Definitions
Page Name |
Definition Name |
Navigation |
Usage |
---|---|---|---|
Define Namespace Set |
XBRL_NS_SET |
|
Define XML namespaces. These will be declared in the root element of the Instance. Some namespaces are specific to XML and some to a specific taxonomy. The sets are re-usable and are referenced in the Instance template |
Define Taxonomy |
XBRL_TAXONOMY |
|
Define taxonomy attributes, including its name space and the physical location of its Schema. These attributes are used in the Instance document. |
Define Instance Header |
XBRL_INST_HDR |
|
Define an XBRL instance document header. |
Define Reporting Entity |
XBRL_ENTITY |
|
Define a reporting entity. |
Define Instance Report |
XBRL_RPT_DEFN |
|
Define a report ID. |
Define Report Set |
XBRL_RPT_SET |
|
Create Report Sets, which are a grouping of report IDs. |
Define XBRL Unit of Measure |
XBRL_UOM |
|
Create Unit of Measure (UOM) definitions for XBRL reporting. |
Define Context |
XBRL_CONTEXT |
|
Define context IDs. |
Understanding XBRL Instance Document Components
XBRL instance documents contain facts reported by a specific entity, at a specific point in time, in a specific currency using GAAP guidelines like US GAAP, IFRS, and so on.
A GAAP taxonomy document contains definitions for the accounting concepts and their relationships for a specific GAAP like US GAAP. You can visualize it as GL account definitions and its reporting tree for US GAAP. Technically, it includes an xml schema definition and other supporting xml files.
There can be several instance documents for a taxonomy document. For example, you can have two balance sheet instances (reports) for a legal reporting entity – one for year 2009 and another for year 2010. Or you could have balance sheet instances for a parent corporation and all of its subsidiaries.
XBRL instance documents are XML documents and need to be well-formed (as defined by the XML schema) and valid (as defined by the taxonomy schema).
XBRL Shell and Sample Structure
The basic "shell" of an XBRL instance document includes the following structure:
Image: XBRL Shell and Sample Structure
This diagram illustrates the structure of the basic shell of an XBRL instance document.
The following table provides an example of an XBRL instance. Table breaks separate each "shell" section.
XBRL Tag |
Description |
---|---|
<?xml version="1.0"?> |
All XML documents start with a prolog. This is an XML Identifier. This line is the required beginning line for every XML document, regardless of its type. Additional data can be inserted but this is the minimum required information. This line indicates that it is an XML document based on XML Recommendation 1.0. As a minimum, it must be included exactly as shown. |
<xbrl |
The root element is <xbrl> This is followed by namespace declarations for xml and for the taxonomy referenced in the instance document. |
xmlns="http://www.xbrl.org/2003/instance" |
This is the namespace for all XBRL instance documents. You can access the schema using this URL. (The schema defines the structure and format of their instances). |
xmlns:link="http://www.xbrl.org/2003/linkbase" |
This identifies the location of XBRL Link bases - Anything referring to the role of linkbases within XBRL is defined here and any reference to it will be prefixed with the alias, "link:" |
xmlns:xlink="http://www.w3.org/1999/xlink" |
This is the location of BASE xml link bases. It refers to the roles of link bases specified within the XLink specifications. |
xmlns:us-gaap="http://xbrl.us/us-gaap/2009-01-31" > |
This is the US GAAP Taxonomy Namespace Reference |
<link:schemaRef xlink:type="simple" xlink:href=" http://taxonomies.xbrl.us/us-gaap/2009/elts/us-gaap-std-2009-01-31.xsd"/> |
In an XBRL instance, the schemaRef element points to a taxonomy schema. Every XBRL instance must contain at least one schemaRef element. The schemaRef element must occur as a child element of an xbrl element and must occur before other children of the xbrl root element, in document order. |
<Context id="Asof_June30" > |
The context element contains information about the entity being described and the reporting period, all of which are necessary for understanding a business fact captured as an XBRL item. The context element has an attribute, ID = '"Asof_June30" in this example |
<entity> |
The entity element. |
<identifier scheme="http://www.sec.gov/">1234567890</identifier> |
The entity is identified using 2 attributes:
(The entity may also be identified using a URL for the stock exchange and the ticker symbol of the company). |
</entity> |
Closing tag. |
<period> |
The period element. |
<instant>2008-06-30</instant> |
Period type is instant and is 'As of date', June 30, 2008. |
</period> |
Closing tag. |
</Context> |
Closing tag. |
<unit> ID="usd" |
Unit Element with a ID attribute. |
<measure> ISO4217:USD </measure> |
Measure is the sub-element. The unit of measure is US dollars and takes its meaning from ISO4217. |
</unit> |
Closing tag. |
<us-gaap:AssetsCurrent decimal="INF" unitRef="usd" contextRef=" Asof_June30">727</us-gaap:AssetsCurrent > |
The element details are comprised of the following:
The element has 2 reference attributes:
727 – is the fact value for the element |
< us-gaap:liabilities precision="3" unitRef="usd" contextRef=" Asof_June30">635</ci:liabilities> |
The element details for US GAAP liabilities. |
</xbrl> |
End of instance document. Closing tag for the root element |
Define Namespace Set Page
Use the Define Namespace Set page (XBRL_NS_SET) to define XML namespaces. These will be declared in the root element of the Instance.Some namespaces are specific to XML and some to a specific taxonomy. The sets are re-usable and are referenced in the Instance template
Image: Define Namespace Set page
This example illustrates the fields and controls on the Define Namespace Set page. You can find definitions for the fields and controls later on this page.
Use this page to define the namespaces to include in a namespace set. Namespaces are declared in the root element of the Instance document. Some namespaces are specific to XML and some to a specific taxonomy. You will reference a namespace set when you define an instance header, and when you define taxonomy, so typically, you will define at least two namespace sets.
Description |
Enter the description for the namespace set, for example, US GAAP Taxonomy. |
Namespace Group Box
Complete the following fields for each namespace that you add to the Namespace grid.
Define Taxonomy Page
Use the Define Taxonomy page (XBRL_TAXONOMY) to define taxonomy attributes, including its name space and the physical location of its Schema. These attributes are used in the Instance document.
Image: Define Taxonomy page
This example illustrates the fields and controls on the Define Taxonomy page. You can find definitions for the fields and controls later on this page.
Use this page to define a taxonomy. You reference the Taxonomy ID when you define an instance header.
Define Instance Header Page
Use the Define Instance Header page (XBRL_INST_HDR) to define an XBRL instance document header.
Image: Define Instance Header page
This example illustrates the fields and controls on the Define Instance Header page. You can find definitions for the fields and controls later on this page.
This page captures the following attributes of an XBRL instance:
The root element (currently "xbrl").
The namespace set
The taxonomy ID.
You reference an instance header when you create an XBRL instance.
Define Reporting Entity Page
Use the Define Reporting Entity page (XBRL_ENTITY) to define a reporting entity.
Image: Define Reporting Entity page
This example illustrates the fields and controls on the Define Reporting Entity page. You can find definitions for the fields and controls later on this page.
Define Instance Report Page
Use the Define Instance Report page (XBRL_RPT_DEFN) to define a report ID.
Image: Define Instance Report page
This example illustrates the fields and controls on the Define Instance Report page. You can find definitions for the fields and controls later on this page.
Report ID |
Enter a unique identifier for the instance report. |
Description |
Enter the description to use for the instance report. |
The system creates an instance document for either a single report ID or a report set.
Define Report Set Page
Use the Define Report Set page (XBRL_RPT_SET) to create Report Sets, which are a grouping of report IDs.
Image: Define Report Set page
This example illustrates the fields and controls on the Define Report Set page. You can find definitions for the fields and controls later on this page.
Report Set |
Enter a unique name for the report set. |
Description |
Enter a description for the report set. |
Instance Reports Group Box
Specify the report IDs to include in this report set. You can add additional rows to include more than one report ID in the report set.
The system creates an instance document for either a single report ID or a report set.
Define XBRL Unit of Measure Page
Use the Define XBRL Unit of Measure page (XBRL_UOM) to create Unit of Measure (UOM) definitions for XBRL reporting.
Image: Define XBRL Unit of Measure page
This example illustrates the fields and controls on the Define XBRL Unit of Measure page. You can find definitions for the fields and controls later on this page.
Define Context Page
Use the Define Context page (XBRL_CONTEXT) to define context IDs.
Image: Define Context page
This example illustrates the fields and controls on the Define Context page. You can find definitions for the fields and controls later on this page.
For each context you define, complete the following fields.
The context ID within an instance is for a unique combination of entity, segment and time dimensions. Context IDs are system generated for each segment (dimension member) value, as shown in the following example.
Report Type |
Line Item |
Entity |
Segment |
Period |
Amount |
Context ID |
---|---|---|---|---|---|---|
Balance sheet |
Disposals |
ABC Corp |
As of Dec31, 2008 |
100,000 |
AsofDec31 |
|
Disclosure - Plant Property & Equipment |
Additions |
ABC Corp |
Building |
As of Dec31, 2008 |
15,000 |
AsofDec31_Building |
Disclosure - Plant Property & Equipment |
Disposals |
ABC Corp |
Building |
As of Dec31, 2008 |
20,000 |
AsofDec31_Building |
Disclosure - Plant Property & Equipment |
Disposals |
ABC Corp |
Land |
As of Dec31, 2008 |
23,000 |
AsofDec31_Land |