I am working on a financial application and one of the functionality is to generate XBRL (eXtensible Business Reporting Language) document. If you are familiar with XBRL instance documents, you might be aware that they typically refer to a large number of schemas. It is usually easier to generate these XBRL instances using (commecial) libraries.
Use case: Design a web form for the users to fill in the various fields.Generate a valid XBRL instance document using the user input.
Our platform: C# & .Net
My questions:
Have you used any of the (commercial) libraries? Which one would you recommend for generating 'yearly financial statements'? Altova MapForce seems to be dominant player.
A crude workaround to avoid using (commecial) libraries:
- Select a valid instance document, clear all the data and store the XBRL (XML) file as a template.
- Render the template to the user using XSLT. Collect user input and fill in the XBRL using standard XML libraries in .Net
Would you recommend this workaround? Why & why not?
Any input will be greatly appreciated :)
To create a xbrl file I would use a template to avoid to recompile the solution if I don't have to. So far, xslt have done a good job for me.
a xslt sample to produce xbrl looks like this:
Recently i have been creating big xbrl files (500+ mb size) and using xslt still does a good job time wise. Although for consuming these files, best to build and adhoc algorithm to search and find what you look for. Using xpath make it too slow, so the best is to build a tailored algorithm to get what you need.