Yesterday I had a posting to my blog Consistent Semantics Leads to Automated Renderings Across XBRL Taxonomies which showed 14 different renderings of XBRL instance information, all created from only XBRL instance and XBRL taxonomy information.
Here is a document which walks you trough how the renderings are actually created. This document can be quite helpful in both rendering XBRL instance information and understanding were you might be creating rendering problems within your XBRL taxonomy.
I broke the process down into two primary steps:
- Going from an XBRL instance to Info Sets.
- Going from the Info Sets to the rendering.
I am not going to cover step 1 here. That is extremely complex, requires an XBRL processor, and any XBRL processor can generate these Info Sets or something like them with the required information. Proof of that is that one XBRL processor that I know about already does.
I am going over going from the Info Sets to the actual renderings. I show you how that is done, you can see how it works, and more people will be able to relate to this becuase it does not even use XML but rather I use a relational database, in my case Microsoft Access.
There is important information in the "Bottom Line" of that document, this is helpful to those creating XBRL taxonomies. I summarize that information here:
- When you create an XBRL taxonomy it is important to articulate the function of an XBRL network, an XBRL Dimensions hypercube, and the relation between XBRL networks and hypercubes. Not doing so causes ambiguity to those extending the XBRL taxonomy.
- Inconsistencies between XBRL presentation, calculation, and definition linkbases causes serious problems when one tries to use the information.
- Presentation relations are not necessary to articulate an information model, the information model can be figured out by looking at the information within the XBRL taxonomy. Therefore, it is easy to test taxonomy extensions to see if an information model is being followed.
Finally, just as the FINREP taxonomy helped me to see that you don't need a presentation linkbase to understand a taxonomy's information model. It can help, but software can do a better job of detecting a good or bad information model. Likewise, you don't need a bunch of stuff thrown into a taxonomy to paint a logical model. XBRL has a logical model. I did not use to think this, but this exercise helped me to realize this. While the little things I used to put into a presenation linkbase help a human see the information model and logical model, as long as the information model is logical and consistent, the data being pulled out will be usable. If the information being pulled out of an XBRL instance is not logical and consistent, there is a strong possiblity that the underlying taxonomy is poorly created. An XBRL taxonomy is basically a schema, similar to a relational database schema.