Arelle output document naming

116 views
Skip to first unread message

scott dixon

unread,
Jul 5, 2024, 10:18:43 AMJul 5
to Arelle-users

I have a question about the output we’re currently getting from Arelle (24.1).

Linked below is an image, where the top two Explorer instances (labeled 1 and 2) are showing files with identical file contents, but different file names contained within. We ran both files through Arelle, and for some reason, on the left (#1) Arelle picked Ex99 for the _htm.xml output file name (shown below it), and for the input file on the right, it used the 6k for the output _htm.xml filename (again, shown in the image below it). 


I’m not sure if I’ve provided enough info, but my question is this:  What controls the naming of this file in the output?  Is there a way to override that file name (pass in a value)?

https://drive.google.com/file/d/18n4X1lqG2VbjGB_dVZV6yigz7wVZgM50/view?usp=sharing

Austin Matherne

unread,
Jul 9, 2024, 6:06:40 AMJul 9
to Arelle-users
Hi Scott,

I can't speak to how the SEC is handling this within their plugin (Structu...@sec.gov may be able to provide more help), but I believe they're using the inlineXbrlDocumentSet plugin to output the instance doc. You can try using the `--save-instance` option to control the filename.

Kind regards,
Austin Matherne

scott dixon

unread,
Jul 9, 2024, 12:32:30 PMJul 9
to Arelle-users
Will look into it. Thank you for the reply.

Tou Vue

unread,
Jul 10, 2024, 1:06:39 PMJul 10
to Arelle-users
Thanks Austin for the suggestion.  I work with Scott.  I tried the suggestion in various combinations but received the following error: "arelleCmdLine: error: no such option: --save-instance"

Our original call: ./arelleCmdLine -f vjetbeforeSecPreview.zip -r output --validate --plugins EdgarRenderer --disclosureSystem efm-pragmatic --logFile serviceDeubg.log --debugMode --collectProfileStats --excelXslt=

Modified calls that I tried; all receiving the " arelleCmdLine: error: no such option: --save-instance" error:
1) ./arelleCmdLine -f vjetbeforeSecPreview.zip -r output --validate --plugins EdgarRenderer --disclosureSystem efm-pragmatic --logFile serviceDeubg.log --debugMode --collectProfileStats --excelXslt= --save-instance
2) ./arelleCmdLine -f vjetbeforeSecPreview.zip -r output --validate --plugins "EdgarRenderer|inlineXbrlDocumentSet" --save-instance --disclosureSystem efm-pragmatic --logFile serviceDeubg.log --debugMode --co
llectProfileStats --excelXslt=
3) ./arelleCmdLine -f vjetbeforeSecPreview.zip -r output --validate --plugins "EdgarRenderer|inlineXbrlDocumentSet" --file '[{"ixDocumentSet":[{"file":test.xml}]}]' --save-instance --disclosureSystem efm-pragmatic --logFile serviceDeubg.log --debugMode --collectProfileStats --excelXslt=

Am I missing any additional parameters?

Thanks,
Tou

Austin Matherne

unread,
Jul 11, 2024, 3:50:19 AMJul 11
to Arelle-users
My apologies, the argument is `--saveInstance` not `--save-instance`.

Tou Vue

unread,
Jul 18, 2024, 6:50:26 PMJul 18
to Arelle-users
Hi Austin,

Scott emailed the SEC structured data team you suggested and we got a response back stating that we should specify the files as follows:
[{"ixds":[{"file":"6K-20240703x6K.htm","attachmentDocumentType":"6-K"},{"file":"Ex99-20240703xEx99.htm","attachmentDocumentType":"EX-99"}]}]

We tried it and succeeded to limited degree.  It works when we use it directly with arelleCmdLine (we tried both from Linux and the latest download from Windows).  However, it fails when we made the same request to the Arelle web server.

Thanks in advance for any suggestions you have.

Here's what we did (example in Linux, but we also tried it with the latest Arelle Windows download and got the same result):

Calling arelleCmdLine from CLI (Succeeds)
Step 1) We extracted the input zip file (containing the .xsd, _cal.xml, _def.xml, etc. files) to a subdirectory.
root@17fca65a1496:/arelle_cgi# unzip -d vjetbeforeSecPreview vjetbeforeSecPreview.zip
Archive:  vjetbeforeSecPreview.zip
  inflating: vjetbeforeSecPreview/Ex99-20240703xEx99.htm
  inflating: vjetbeforeSecPreview/Ex99-20240703xEx99001.jpg
  inflating: vjetbeforeSecPreview/6K-20240703.xsd
  inflating: vjetbeforeSecPreview/6K-20240703x6K.htm
  inflating: vjetbeforeSecPreview/6K-20240703_cal.xml
  inflating: vjetbeforeSecPreview/6K-20240703_def.xml
  inflating: vjetbeforeSecPreview/6K-20240703_lab.xml
  inflating: vjetbeforeSecPreview/6K-20240703_pre.xml

Step 2) From within the unzipped subdirectory, we ran the command: 
root@17fca65a1496:/arelle_cgi# cd vjetbeforeSecPreview
root@17fca65a1496:/arelle_cgi/vjetbeforeSecPreview# ../arelleCmdLine -f '[{"ixds":[{"file":"6K-20240703x6K.htm","attachmentDocumentType":"6-K"},{"file":"Ex99-20240703xEx99.htm","attachmentDocumentType":"EX-99"}]}]' -r output --validate --plugins EdgarRenderer --disclosureSystem efm-pragmatic --logFile serviceDebug.log --debugMode --collectProfileStats --excelXslt=

Result) We got the file set with the file names we expected.
root@17fca65a1496:/arelle_cgi/vjetbeforeSecPreview# ls -la output/
total 2156
drwxr-xr-x 2 root root    4096 Jul 18 21:44 .
drwxr-xr-x 3 root root    4096 Jul 18 21:44 ..
-rw-r--r-- 1 root root  173005 Jul 18 21:44 6K-20240703x6K.htm
-rw-r--r-- 1 root root  167045 Jul 18 21:44 6K-20240703x6K.zip
-rw-r--r-- 1 root root  252801 Jul 18 21:44 6K-20240703x6K_htm.xml
-rw-r--r-- 1 root root 1324004 Jul 18 21:44 Ex99-20240703xEx99.htm
-rw-r--r-- 1 root root    5653 Jul 18 21:44 Ex99-20240703xEx99001.jpg
-rw-r--r-- 1 root root   15461 Jul 18 21:44 FilingSummary.htm
-rw-r--r-- 1 root root   25025 Jul 18 21:44 FilingSummary.xml
-rw-r--r-- 1 root root   49477 Jul 18 21:44 MetaLinks.json
-rw-r--r-- 1 root root   25713 Jul 18 21:44 R1.htm
-rw-r--r-- 1 root root  100998 Jul 18 21:44 R9999.htm
-rw-r--r-- 1 root root   25801 Jul 18 21:44 RenderingLogs.htm
-rw-r--r-- 1 root root     978 Jul 18 21:44 Show.js
-rw-r--r-- 1 root root    2833 Jul 18 21:44 report.css
root@17fca65a1496:/arelle_cgi/vjetbeforeSecPreview#

Request to the Arelle web server (Fails with error)
Step 1) Start the Arelle web server:
root@0a84f55fcbd5:/arelle_cgi# ./arelleCmdLine --webserver 0.0.0.0:8080
Bottle v0.13-dev server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

Step 2) Send the following request along with the zip file:
localhost:8080/rest/xbrl/validation?efm-pragmatic&media=zip&plugins=EdgarRenderer&copyInlineFilesToOutput=true&excelXslt=&collectProfileStats&debugMode=true&logFile=TouDebug.log&file='[{"ixds":[{"file":"6K-20240703x6K.htm","attachmentDocumentType":"6-K"},{"file":"Ex99-20240703xEx99.htm","attachmentDocumentType":"EX-99"}]}]'

(Note regarding step 2: For the file parameter, I tried double quotes and without quotes, instead of the single quotes, but the result was the same.)

Result) We got an error from the Arelle web server stating:  AttributeError: 'NoneType' object has no attribute 'rpartition'
Here is the full Arelle web server output:
root@0a84f55fcbd5:/arelle_cgi# ./arelleCmdLine --webserver 0.0.0.0:8080
Bottle v0.13-dev server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

172.17.0.1 - - [18/Jul/2024 20:17:48] "GET /about HTTP/1.1" 200 2370
172.17.0.1 - - [18/Jul/2024 20:17:48] "GET /images/arelle32.gif HTTP/1.1" 200 1207
Traceback (most recent call last):
  File "/Arelle/arelle/webserver/bottle.py", line 1000, in _handle
  File "/Arelle/arelle/webserver/bottle.py", line 2016, in wrapper
  File "/Arelle/arelle/CntlrWebMain.py", line 354, in validation
  File "/Arelle/arelle/CntlrWebMain.py", line 375, in runOptionsAndGetResult
AttributeError: 'NoneType' object has no attribute 'rpartition'
172.17.0.1 - - [18/Jul/2024 20:18:57] "POST /rest/xbrl/validation?efm-pragmatic&media=zip&plugins=EdgarRenderer&copyInlineFilesToOutput=true&excelXslt&collectProfileStats&debugMode=true&logFile=TouDebug.log&file='%5B%7B%22ixds%22%3A%5B%7B%22file%22%3A%226K-20240703x6K.htm%22,%22attachmentDocumentType%22%3A%226-K%22%7D,%7B%22file%22%3A%22Ex99-20240703xEx99.htm%22,%22attachmentDocumentType%22%3A%22EX-99%22%7D%5D%7D%5D' HTTP/1.1" 500 1164
Reply all
Reply to author
Forward
0 new messages