我已经开始探索 Arelle 的 XBRL 解析。我通过java调用Arelle的webservice Api来获取它可以生成的各种视图/输出,比如facts、factTable、pre等。
在我想要的最终输出中,我需要事实文件中的所有字段以及预文件中的一些细节。我已经编写了我的 Java 代码来执行此操作,但我被卡住了,因为我不知道如何从事实导航到 pre。如何组合这些输出?这些观点是如何相关的,在什么属性上?
事实通过概念名称(从XML角度看 QName,从开放信息模型角度看 SQName)与表示相关,例如us-gaap:Assets
.
端点是一个扁平的facts
事实列表,每个事实都有一个概念名称,而pre
端点将由其名称标识的概念组织在一个层次结构中。
下图说明了使用csv作为输出的映射。在JSON中,对于fact和pre,概念名称都在一个name
字段中。在XML中,它们位于一个name
属性中。对于 Java,这需要解析XML或JSON以构建适当的对象并从那里获取。
(此示例取自此 SEC 文件)