问题标签 [xbrl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1685 浏览

xml - 使用 XPath 从 XBRL 中提取数据

我正在尝试使用 Talend Studio 中的 XPath 表达式从 XBRL 文件中提取一些数据点。我想提取所有 ShareHolderFunds 值及其相关期间的结束日期(由“ContextRef”属性引用),以及公司注册号。我正在努力建立指向期间结束日期的链接 - 目前我的代码错误地为两个 ShareHolderFund 值返回相同的结束日期。

这是我的代码 Talend Studio 的屏幕截图:

天伦工作室

这是 XBRL 的摘录:

0 投票
0 回答
242 浏览

java - Java dom4j 限定 xml 命名空间,而不是让它们保持全局

使用从互联网复制的以下代码(由以前的开发人员 - 不是我)

我试图在合并过程中重命名 XML 标签(实际上是 XBRL)属性。合并过程需要 2 个 XBRL 文档并将它们合并为一个文档。

每个预先合并的文档都由顶部的 xmlns 标记组成,给出了声明的全局范围。

每个文档的顶部是这个标题块(或类似的)

然后相关部分以易于阅读的格式在下面列出。

我们的合并代码目前不使用上面的 Java 代码来编辑命名空间,但它将使用它来解决 2 个具有相同xmlns:url标签和不同 URL 的文档之间的命名空间冲突问题。

在当前世界中,合并文档的顶部确实有标题,如上所示。

然而,

当我通过顶部显示的代码运行文档以进行重命名时,它将 xmlns 标签本身移动到相关部分(范围),我怀疑这很好,但我想知道是否有一种快速简单的方法重命名标签,以便将它们合并到新文档中。合并文档的示例如下所示。

请注意:这是一个工作问题,因此必须使数据匿名,因此请忽略 URL :)

另请注意:重命名的标签以 a_ 和 c_ 为前缀 - 这是重命名代码的目的,因此这里没有问题。只需在标签的文档中放置

抱歉,这么冗长但简而言之,我想知道的是,在通过 dom4j 重命名新文档时,是否可以保留原始 XML 文档的任何格式?

或者

为什么它对我们合并的文档这样做?

任何帮助表示赞赏。

0 投票
1 回答
1682 浏览

vba - VBA 默认命名空间错误

我正在尝试实例化 Dom 文档的 Root 节点。但是我正在命名它xbrl,这个名称位于默认命名空间中xmlns="http://www.xbrl.org/2003/instance"

根据之前的回答,MSXML在默认命名空间方面存在问题(barrowc 的回答) 。所以我不得不对我的代码进行一些修改。这些在哪里

取而代之

并且

替换为

数字60代表6.0版本

因此,当我进行这些修改时,宏可以正常工作。但现在它只在某些时候有效。当它没有时,它给了我一个

Run-time error -2147467259(80004005)':

Reference to undeclared namespace prefix:'us-gaap.'

我无法理解宏崩溃的原因, 并认为这是一个错误。

你能帮我吗?

为了完整起见,整个宏在下面提交


这也是一个奇怪而令人沮丧的注意事项,如果我根据 barrowc 给我的修改更改我的宏在更正前的状态,我现在可以看到宏有效!

0 投票
1 回答
1069 浏览

xml - 如何在 R 的 XBRL 包中获取由 xbrlDoAll 创建的列表,并将它们组织成 Excel 中可读的数据框?

我一直在尝试使用 R 中的 XBRL 包来尝试编写一个循环遍历公司并输出财务报表的函数,最好是在一个非常标准的数据框中。但是,我不明白输出。使用该函数,然后查看数据框,出现的只是最左边一列的总和,右边是各种 XML/XBRL/C++ 组件的右对齐 URL。我承认我对 XBRL 的了解很少,但我一定遗漏了一些东西。我将如何使用这个包的功能来循环和记录所有 XBRL 语句,格式化为最终用户可用的东西?

使用 pdf 指南中的示例很容易,但打印出来的结果很奇怪,我不知道如何将其放入正确的数据框中:

对此的总结给出了一堆不同行长的列表:

summary(xbrl.vars) 长度 类 模式元素 7 data.frame 列表角色 5 data.frame 列表计算 11 data.frame 列表上下文 13 data.frame 列表单元 4 data.frame 列表事实 7 data.frame 列表脚注 5 data.frame列表定义 11 data.frame 列表标签 5 data.frame 列表表示 11 data.frame 列表

这可能很简单,因为我不理解 R 中的 data.frame 列表(列表列表?data.frames 列表?)。如果是这样,我为一个愚蠢的问题道歉(由于其他原因它可能很愚蠢)。我尝试使用此问题答案底部的解决方案:list of lists with different lengths to data.frame in R。所以: xbrl.vars2<-as.data.frame(as.matrix(xbrl.vars)) 这对我来说很愚蠢,因为当行数不同时,R 如何制作矩阵?它似乎使 R 冻结。

感谢您的任何帮助。

0 投票
2 回答
512 浏览

xbrl - XBRL:通过上下文将事实与表示联系起来

据我所知,只要上下文不同,XBRL 允许 SEC 申报者对多个事实使用相同的概念。我很难理解如何为给定的roleURI(例如声明)包含/排除一个事实。我相信这种能力在某种程度上与上下文相关,但在演示文档中要求的概念与实例中的适当概念之间似乎没有明显的联系。换个方式问这个问题:

1)公司有几个roleURI(网络),也许其中之一是“ http://www.bigcompany.com/role/StatementOfIncome

2) 在与此网络相关的* _pre.xml 文档部分中,该公司要求显示“收入”概念。

3) 实例文档有多个“收入”项目,每个项目都有不同的上下文,有些还有与公司子实体相关的细分。

如何确定具有特定上下文的收入项目属于 StatementOfIncome roleURI,而另一个应排除在外?

感谢您提供任何提示或资源...

0 投票
1 回答
1221 浏览

python - Arelle 使用 Python 自动化小程序将数据传输到 Excel

如果我们执行这些简单的步骤,我们将使用Arelle将 SEC EDGAR 数据库中的数据提取到 Arelle 程序中。

步骤是:

  1. 打开Arelle,然后单击打开网页文件,它是Arelle 屏幕左上角的一个图标按钮。
  2. 弹出一个名为输入 URL 的框。请提供一个包含来自安全和交易委员会的 XBRL 实例的 URL (您可以以此 URL 为例),然后单击确定。
  3. 当Arelle 完成下载(大约需要10 秒)后,请单击Arelle 屏幕左上角从末尾数第二个刻度图标按钮的比例按钮。

现在这是我想用 Python 在 Arelle 中自动化的简单过程:

  1. Arelle 中有一个名为的选项卡,Fact Table其中包含一些项目,可以通过单击它们旁边的加号将它们展开到树中。

  2. right click例如,如果您是其中之一,则无需打开其中任何一个,0110 - Statement - Consolidated Balance Sheets这是您可以去的第二个项目Copy to clipboard,然后单击Table

  3. 现在请按+Excel选择Cell A1并粘贴数据Ctrl V

摘要:我想要的只是在 Python 中自动执行此操作。

感谢您的关注。

0 投票
2 回答
2184 浏览

python - 在python中解析xbrl文件

我正在研究一个 xml 解析器。目标是解析多个不同的 xml 文件,其中前缀和标签保持一致,但名称空间发生变化

因此,我正在尝试:

  • 解析 xml 而<prefix:tags>不用命名空间解析(替换)前缀。前缀在文档之间保持不变。
  • 自动加载命名空间,以便标识符 ( <prefix:tag>) 可以替换为正确的命名空间。
  • 只需按标签解析xml

我试过了xml.etree.ElementTree

我还看了看,lxml 我没有在 lxml 中找到任何可以帮助我的XMLParser配置选项,尽管在这里我可以阅读作者建议lxml应该能够自动为我收集命名空间的答案。

有趣的是,parsed_file = etree.XML(file)失败并出现错误:

我想解析的文件的一个例子是here

0 投票
0 回答
292 浏览

c - Arelle 定位比率提取命令,我无法理解在文档中找到(~2pages)

我们在 Arelle 中使用命令行操作时的基本命令是

前提是我们安装cmdfolderarelle。

我投入了大量资源,但我找不到文档(大约 2 页)中是否有可以输出比率(例如当前比率)或指标(例如收入)的命令,而不必下载列中的所有数据并过滤数据。我必须承认我无法理解文档中的某些命令。

我正在做的下载数据是:

  • -f是提取数据的命令,然后是data网络中的位置
  • -v是验证data被拉出的命令
  • --facts将数据保存在HTML指定文件中directory
  • factListColsColumns我选择拥有的(我在上面的命令中获取所有可用的列)。

教程绝对为零。

Arelle 只能在上面运行Python 3并且可以下载而不会产生麻烦,只需遵循这些快速简单的步骤。

0 投票
1 回答
2691 浏览

c# - 从 XBRL schemaRef 解析 XML 模式

我正在尝试验证 XBRL 文档,但我有点迷茫。XBRL 是荷兰公司税提交分类法的(简化)示例。这是 XBRL:

我使用以下代码加载 XSD 并验证文档:

这会产生以下错误消息:

文档验证失败:命名空间“ http://www.xbrl.org/2003/instance ”中的元素“xbrl”在命名空间“ http://www.nltaxonomie.nl/8.0/basis/ ”中具有无效的子元素“SoftwarePackageName” bd/items/bd-algemeen '. 预期的可能元素列表:命名空间“http://www.xbrl.org/2003/instance”中的“项目、元组、上下文、单元”以及命名空间“ http://www.xbrl.org 中的“footnoteLink” /2003/链接库'。

显然 SchemaSet.Compile 无法找到所有相关的 XSD(此处直接链接到主 XSD )。几个小时以来,我一直在尝试不同的方式来加载架构和解析文档,但我不确定如何解决这个问题。

我也尝试用Gepsio阅读文档。Gepsio 加载文档,但未在文档中找到任何事实,因此看起来荷兰分类模式的结构是这里的问题。

0 投票
3 回答
1711 浏览

xml - Problems using BaseX GUI

I am trying to navigate through an instance by using XPath. I am providing below an excerpt of the original instance:

I am aware that the root element has a namespace inside. I am using BaseX GUI. According to previous help my root element is {http://xbrl.org/2003/instance}xbrl!

However when i am trying it on an XPath expression like this:

and i hit Execute Query i am getting:

What am i doing wrong? Also i have been advised to use:

I am inputting this command from the GUI and i input the command here (do i input the declaration command here?):

enter image description here

BUT i am still getting the same error message as seen above. What must i do with the illegal name: xml?

EDIT_1

wst says use Q with Clark Notation:

--> If i hit run it executes with no error. However instead of getting the root element in the Result pane on BaseX as i get it with this command:

I get nothing; why that? Also how do i declare a namespace?