-
Notifications
You must be signed in to change notification settings - Fork 16
Additional taxonomy processing
Once the link bases have been processed, there is further processing required for each role in the taxonomy. Each role of the presentation link base (now a hierarchy of nodes) needs further processing:
1) Assign hypercubes to presentation link base nodes
As this sounds, hypercubes are assigned to primary items in the presentation hierarchy. Of course there may be nested primary items with different hypercubes and all this needs to be taken into account.
As the nodes are processed, they are assigned a ‘nodeclass’ which identified the node as ‘simple’, ‘dimensional’ or ‘primaryitem’. This is useful when creating reports.
2) Prune assigned hypercubes
Removes all nodes that are flagged with the 'nodeclass' 'dimensional' as these are not useful for reporting purposes.
3) Create hierarchy paths
The final step processing the presentation hierarchy is to generate a 'paths' index for each node (see above). Performance is paramount but traversing a node hierarchy to find the right one to associate with instance element values is time consuming. Instead an array is created, indexed by the node label, the contents of which are the paths to the node containing the label. The same label may appear in nodes in different parts of the presentation hierarchy so the 'paths' array is an array of arrays.
'my_presentation_label' = array(
'\part1\part2\my_presentation_label',
'\part3\part7\my_presentation_label'
)
With this index, it is possible to iterate over the elements in an instance document and find the path(s) that denote where in a hierarchy, for example a presentation link base hierarchy, the value should appear. The identified path string can be parsed to create a set of parts that can allow reporting code to find the applicable nodes directly.
Creating this index does increase the size of the compiled taxonomy significantly but the benefit is a one-time action that has a dramatic effect on the performance of report creation.
Overriding the presentation linkbase
Sometimes the presentation linkbase contains errors or is incomplete. For example, in the UK GAAP taxonomy, the address line information in the Entity-Information or the list of third party roles in the General-Purpose-Contact-Information role is incorrect. The XBRL class includes the function 'getProxyPresentationNodes' function that can be overridden in descendent classes, such as XBRL_UK_GAAP to add and remove nodes and locators.
Copyright © 2021 and later years Lyquidity Solutions Limited
- About us
- Purpose
- XBRL support
- Road Map
- Why PHP?
- Contributing
- License
- Reference links
- Case Study
- Digital Financial Reporting
- Digital Financial Reporting examples
Overview
Class and function reference
Compiled taxonomy structure
Common arrays
Compiling
Compiling
Processing linkbases
Additional taxonomy processing
Extension taxonomies
Compiled taxonomy folder
How do I...?
Navigate a node tree
Find a node in a tree
Find elements in a taxonomy
Load an instance document
Find elements in an instance
Create a simple report
Create a comparison report
Example custom report
Work with dimensions
Sign and Verify
Validate
Change the logging
Capture validation information