【问题标题】:python-xbrl module gives error message: "The xbrl file is empty!"python-xbrl 模块给出错误消息:“xbrl 文件为空!”
【发布时间】:2017-07-13 07:34:27
【问题描述】:

我是 Python 和编程语言的初学者,正在尝试使用 python-xbrl 模块解析 XBRL 文件。

我正在按照此模块 (https://pypi.python.org/pypi/python-xbrl) 的说明来解析 .xml 文件

但是一些.xml 文件给出了这个错误信息:

xbrl 文件为空!

以下是我的 Python 代码,HelloWorld.xml 不会给出错误消息,而 Novartis-2002-11-15.xml 会给出。


from xbrl import XBRLParser, GAAP, GAAPSerializer

xbrl_parser = XBRLParser()

xbrl1 = xbrl_parser.parse(open("HelloWorld.xml"))

print(xbrl1)

xbrl2 = xbrl_parser.parse(open("Novartis-2002-11-15.xml"))

print(xbrl2)

Novartis-2002-11-15.xml 下载自 https://www.xbrl.org/taxonomy/int/fr/ias/ci/pfs/2002-11-15/samples.htm

你有什么想法吗? 任何意见将不胜感激。

【问题讨论】:

    标签: python xml xbrl


    【解决方案1】:

    文档Novartis-2002-11-15.xml 包含一个对应于旧版(公共工作草案)XBRL 的实例。特别是,此文件中的根元素是已弃用的 group 元素。 python-xbrl 发现它是空的,因为它需要一个根 xbrl 元素,如最新的 XBRL 2.1 recommendation 中所指定。

    <group 
       xmlns='http://www.xbrl.org/2001/instance'
       xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
       xmlns:iso4217='http://www.xbrlSolutions.com/taxonomies/iso4217/2002-06-30'
       xmlns:iascf-pfs='http://www.xbrl.org/taxonomy/int/fr/ias/ci/pfs/2002-11-15'
       xmlns:novartis='http://www.xbrl.org/taxonomy/int/fr/ias/pfs/2002-11-15/Novartis-2002-11-15'
       xsi:schemaLocation='
                 http://www.xbrlSolutions.com/taxonomies/iso4217/2002-06-30 http://www.xbrlSolutions.com/taxonomies/iso4217/2002-06-30/iso4217.xsd 
                 http://www.xbrl.org/taxonomy/int/fr/ias/ci/pfs/2002-11-15 ias-ci-pfs-2002-11-15-WINDOW.xsd 
                 http://www.xbrl.org/taxonomy/int/fr/ias/pfs/2002-11-15/Novartis-2002-11-15 Novartis-2002-11-15.xsd 
       '>
      ...
    </group>
    

    此外,当时的上下文有不同的元素名称 (numericContext),并且持续时间的定义也不同:

     <numericContext id='Group2001ForPeriod' precision='18' cwa='true'>
         <entity>
            <identifier scheme='http://www.novartis.com/group'>Novartis Group</identifier>
         <segment>
    
         </segment>
         </entity>
         <period>
            <duration>P1Y</duration>
            <endDate>2001-12-31</endDate>
         </period>
         <unit>
            <measure>iso4217:CHF</measure>
         </unit>
         <scenario><novartis:scenarioType>actual</novartis:scenarioType></scenario>
      </numericContext>
    

    在最终推荐中,这些元素被称为context

    我建议尝试阅读一些提交给 EDGAR 系统的真实文件,因为这些文件是一致的。例如,最新的年报可以在here找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多