【问题标题】:Identifying XBRL Documents识别 XBRL 文档
【发布时间】:2015-09-02 04:57:45
【问题描述】:

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

我想,也许通过读取文档的前几个字节,我们可以识别文档是否是 xbrl。假设在 xbrl 文档中,xbrl 的前几个字节(没有 xml 声明)总是以“xbrl”或“xbrli:xbrl”开头

假设 XBRL 文档由文档的根标记定义为“xbrl”或“xbrli:xbrl”是否安全?或者有没有更好的方法来识别 xbrl 文档而无需解析整个文档?

谢谢!

【问题讨论】:

    标签: xml validation xbrl


    【解决方案1】:

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

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

    1. 检查xmlns:prefix="http://www.xbrl.org/2003/instance" 和根<prefix:xbrl ...>
    2. 检查xmlns="http://www.xbrl.org/2003/instance" 和根<xbrl ...>

    也许,您会找到一个有效的正则表达式来匹配这些。关键是,你不能假设前缀总是 none 或 xbrli。

    安全的方法是使用 SAX 解析器(它不会解析整个文档)。例如看这个问题:Determine root Element during SAX parsing

    【讨论】:

    • 谢谢,我已经设法使用 SAXParser 检索根元素并检查根元素是否是文档的有效 XBRL 元素(即检查 xmlns 和根是否是 。但目前遇到在找到根元素后停止解析的问题。我按照提供的链接进行操作,该链接还包含指向当前随时停止解析的解决方案的链接,并且非常反对抛出一个例外只是为了停止解析......
    • sincreadys:如果对您有帮助,请将回复标记为答案是礼貌的。
    • 为我的无知道歉。我已将回复标记为答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多