バージョンアップ
EXCELアドインツールをバージョンアップしました。→TeCA WEB
と言っても、機能的な変更はなく、ただのバグフィックスだけです。それも1箇所だけ。
今日はそのバグの内容を説明したいと思います。
タクソノミからラベルリンクを全て集める、というfunctionがあります。そのfunctionは、「ファイルからラベルリンクを抜き出して集める」というのを、タクソノミの全ファイル(数十〜数千)をループでまわしながら行っています。このループの中で、ファイルのURIに"label"という文字列が含まれていないものはスキップするようにしていました。EDINETタクソノミ/TDnetタクソノミのラベルリンクベースのファイル名には「label」というのが必ず含まれているからね。
しかし、IFRSの2011年版タクソノミに見落としがありました。「http://xbrl.ifrs.org/taxonomy/2011-03-25/deprecated/depr-lab_ifrs-en_2011-03-25.xml」というURIのファイルがあり、これがラベルリンクベースなのですが、"label" がURIに含まれていません。そのため、このリンクベースに定義されているラベルが漏れてしまっていたのです。
そこで、スキップの判定条件を "label" から "lab" に修正しました。これで、漏れなくラベルを集められるようになって、晴れて新バージョンリリースとなりました。
実はラベルリンクベースファイルのURIに"label"とか"lab"という文字列が含まれているのは“たまたま”なんです。XBRLの仕様上の規約があるわけではないんです。本当は全てのファイルを開いてXMLをパースして、ラベルリンクベースかどうかをチェックしないといけないんです。
でもそんなことをしてると、処理時間が耐え難いくらい長くなるから、大半のファイルはURIだけで判断して中身も見ないで飛ばしちゃってるわけです。
また新しいタクソノミが出てきたら、今回と同じような修正をしなければいけなくなるかもしれません。でも、それがパフォーマンスを得るために必要な代償なんです。