2.5.5 DTSの拡張読み込み(XBRL2.1の場合)

XBRL2.1の場合でリンクベースの遅延読み込みをするとき,参照したリンクベースから,さらに新しいタクソノミー本体やリンクベースが見つかり,拡張されていくことがあります。そのため,タクソノミー本体やリンクベースの読み込み順序によって,つまりユーザーアプリケーションがXBRL DOMを操作する順序によって,メソッドの実行結果が異なることがあります。

この場合,DTSの拡張読み込みのプロパティであらかじめ参照するタクソノミー本体を指定することで,XBRL DOMの操作順序に関係なく,常に同じ結果を得ることができます。

<この項の構成>
(1) 読み込まれる範囲
(2) 拡張読み込みの指定方法

(1) 読み込まれる範囲

DTSの拡張読み込みを指定した場合に読み込まれる範囲の例として,ラベルリンクを参照するときに読み込まれる範囲を次の図に示します。この例では,リンクベースの遅延読み込みをして,DTSの拡張読み込みに「タクソノミー本体2」を指定していることを想定しています。

図2-11 ラベルリンクを参照するときに読み込まれる範囲

[図データ]

この例では,DTSの拡張読み込みのプロパティで「タクソノミー本体2」を指定しているため,「タクソノミー本体2」も1回目の読み込み時にDTSとして読み込まれます。この状態でラベルリンクを参照した場合,「ラベルリンク1」および「ラベルリンク2」の両方が参照できます。

なお,DTSの拡張読み込みのプロパティを指定しない場合,DTSとして読み込まれる文書は「タクソノミー本体1」だけです。この状態でラベルリンクを参照した場合,「ラベルリンク1」だけが参照できます。「ラベルリンク2」は参照できません。

(2) 拡張読み込みの指定方法

拡張読み込みをする場合,次のプロパティを指定します。デフォルトはnull(拡張読み込みをしない)です。

cbrp.parse.DTS.externalSchemaRefs

また,このプロパティを使用すると,インスタンス文書から記述が漏れているタクソノミー本体を,DTSの一部として読み込むこともできます。ただし,このプロパティで指定したタクソノミー本体は,アプリケーション内で扱うすべてのXBRL文書で常に読み込まれますので,DTSの構成を把握した上で必要なタクソノミー本体を指定してください。

プロパティの指定方法については,「4.16.1 プロパティの指定方法と優先順位」を参照してください。