XBRL Formula is often used to provide validation capabilities in addition to those in XBRL 2.1 to enforce an organization’s particular business rules. The XBRL Formula specification provides a standard mechanism for defining rules in an XBRL Formula linkbase that can then be applied against XBRL instance documents. Defined using if-then-else XPath expressions, XBRL Formulas can be processed to validate the data in an XBRL instance or to generate a new instance based on calculated data.
Altova provides comprehensive support for XBRL Formula in XMLSpy and RaptorXML+XBRL Server, including validation, graphical editing, formula execution, and high-performance processing.
The XBRL Taxonomy editor in XMLSpy includes a specialized tab for viewing and editing XBRL Formula definitions in a graphical manner. This visual, point-and-click approach greatly simplifies the process of defining XBRL formulas and assertions.
Context-sensitive drop-down and right-click menus offer valid choices based on the type of component being defined, and properties may also be viewed and defined via the Overview and Details entry helper windows. The Overview entry helper is used to set the default linkbase for XBRL formulas, while the Details entry helper can be used to edit the properties and content of formula components. It is also easy to make these edits directly in the Formula tab if desired.
When an XBRL Table Linkbase exists in your extension taxonomy, the table layout preview (shown in the screenshot above) allows you to easily define your formulas and assertions. If no tables are present in the required taxonomy, you can define one using the XBRL Table Linkbase editor prior to defining your XBRL Formula.
The Table Layout Preview supports the creation of fact variables in formulas or value/existence assertions. Data cells in the table include an Add fact variable icon, which you can click to add the variable to the current formula or assertion. During execution, a new fact variable containing an appropriate filter for each aspect constraint defined by the data cell is created under the selected formula or assertion.
This point-and-click interface makes it infinitely easier to define XBRL Formulas compared to defining formula linkbases by hand.