XBRL Defaults
Defaults are a powerful way to assign values to attributes in the XBRL component without having explicit mapping connections to all of them. For example, if you assign a constant unit identifier to the attribute unitRef of the monetaryItemType item within the Defaults hierarchy (as shown in the following screen shot), this assigns the default to every monetary XBRL item unit identifier, except where its input is mapped explicitly by some other value. The screen shot below also illustrates the use of the default value for the xml:lang attribute which defines the language of a footnote.
By default, the "Defaults" node is visible in a new XBRL component; however, you can hide it if you do not need to map to Defaults. You can display the "Defaults" node at the root level (for the whole XBRL document), or for individual nodes at any hierarchical level of the XBRL component. Note that, since Defaults can be defined at any level in the XBRL structure, different subtrees can have different default values.
You can also map to aspect value defaults from the table linkbase, if your XBRL component uses the table linkbase view instead of the presentation/definition linkbase views. In the screen shot below, the xbrli:unit, xbrli:identifier and xbrli:period elements are aspect value defaults that you can use when mapping to XBRL tables.
To display the "Defaults" node for a particular item:
1. | Right-click the item for which you want to display the default units, and select XBRL | Show defaults. (Alternatively, click the Show Context Menu ( ) button if available for the node, and then click Show Defaults.) |
This inserts a Defaults item to which you can connect your own default values for the various item types.
Replacing or de-activating a default value
If a default value has been defined for some concept attribute, e. g. decimals, it is possible to remove this setting locally for each concept, by using the function set-empty. For more information about functions, see Functions.
In the example mapping below, the set-empty function "deactivates" the default value "-6" for the monetary item "Segment Reporting Information, Revenue". This item will now be reported with the precision of "2" mapped to the "precision" attribute, while the other item, "Segment Reporting Information, Operating Income Loss" will be reported with the default decimals value of "-6".
Consequently, in the mapping output, these two items would look as illustrated below:
<us-gaap:SegmentReportingInformationRevenue contextRef="ctx1" unitRef="USD" precision="2">23000988</us-gaap:SegmentReportingInformationRevenue> |
Context handling
The hierarchical structure within XBRL components allows automatic context handling. The generation of the xbrli:context in XBRL output instances is done automatically when reporting related concepts.
The value of the attribute id of a specific context in an XBRL instance is the value of the attribute contextRef in each related XBRL concept. MapForce automatically numbers all created contexts in an output instance.
Customization is possible by assigning text as a prefix into the node "context id (prefix)" under "generated ids".
For example, mapping the constant value "context_" as a default prefix creates consecutive context-ids in the output instance having the values "context_1", "context_2", "context_3", and so on.
If no default value is defined, MapForce will create all context-ids with the prefix "ctx_".
If the output XBRL instance contains footnotes, the related concepts must have concept IDs to link to the automatically generated footnote links. These attributes are automatically generated. The item "concept id (prefix)" can be mapped to determine such a prefix.
If the prefix is not mapped within the XBRL component, MapForce will create all concept IDs with the prefix "fact_".