识别XBRL文档

时间:2015-09-02 04:57:46

标签: xml validation xbrl

在阅读了有关XBRL验证之后,添加到正在进行的工作计划中将是一个很棒的功能。但是,由于性能的限制,我无法将整个文档读入系统进行验证,因为大量文档可能会流入系统进行处理,或者文档本身可能很大。

我想,也许通过阅读文档的前几个字节,我们可以确定文档是否是xbrl。假设在xbrl文档中,xbrl的前几个字节(没有xml声明)将始终以" xbrl"开头。或" xbrli:xbrl"

可以安全地假设,XBRL文档由文档的根标签定义为" xbrl"或" xbrli:xbrl"?或者是否有更好的方法来识别xbrl文档而无需解析整个文档?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设这是不安全的。但是,如果95%的命中率对你来说足够好,那就好了。

如果您明确检查前缀,那将几乎100%安全:

  1. 检查xmlns:prefix="http://www.xbrl.org/2003/instance"和根<prefix:xbrl ...>
  2. 检查xmlns="http://www.xbrl.org/2003/instance"和根<xbrl ...>
  3. 也许,你会发现一个有效的正则表达式来匹配那些。关键是,您不能假设前缀始终为none或xbrli。

    安全的方法是使用SAX解析器(不解析整个文档)。例如,请参阅此问题:Determine root Element during SAX parsing