我正在开发一个财务应用程序,其中一项功能是生成 XBRL(可扩展商业报告语言)文档。如果您熟悉 XBRL 实例文档,您可能会意识到它们通常引用大量模式。使用(商业)库生成这些 XBRL 实例通常更容易。
用例:设计一个 Web 表单供用户填写各个字段。使用用户输入生成有效的 XBRL 实例文档。
我们的平台:C# & .Net
我的问题:
您使用过任何(商业)库吗?您会推荐哪一个来生成“年度财务报表”? Altova MapForce 似乎是主导者。
避免使用(商业)库的粗略解决方法:
- 选择一个有效的实例文档,清除所有数据并将 XBRL (XML) 文件存储为模板。
- 使用 XSLT 将模板呈现给用户。使用 .Net 中的标准 XML 库收集用户输入并填写 XBRL
您会推荐此解决方法吗?为什么&为什么不?
任何输入将不胜感激:)
最佳答案
现在,我使用第二种方法的变体。多亏了标准 XML 库(在我的例子中是 C libxml),我有一个模板,我用数据解析和填充它。
拥有模板的想法有助于生成有效的 XBRL,但我认为 XSLT 非常复杂,而且通常有局限性,我更喜欢使用真正的编程语言(在我的例子中是 python,但也可以是 C# .net)
在商业工具方面:
- 我从未使用过 Altova。
- Invoke 非常擅长在实例中映射数据,而且速度非常快。
第三种方法是使用 XML 库仅以编程方式生成 XBRL 实例。 XBRL 毕竟是 XML。
关于xml - 以编程方式生成 XBRL 文档 : Use a template or a library?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033282/