2.5.1 DTSの読み込み範囲と指定方法(XBRL2.0の場合)

XBRL2.0の場合の,DTSの読み込み範囲と,読み込み範囲の指定方法について説明します。

DTS読み込み時には,XBRL文書に記載されている属性値を基に,参照先のXBRL文書が読み込まれます。DTS読み込み時に参照される要素と属性の一覧を次の表に示します。

表2-3 DTS読み込み時に参照される要素と属性の一覧(XBRL2.0の場合)

XBRL文書種別参照される要素と属性読み込まれるXBRL文書
インスタンス文書<xbrli:group>要素のxsi:schemaLocation属性タクソノミー本体
<link:linkbaseRef>要素のxlink:href属性リンクベース
タクソノミー文書<xsd:import>要素のschemaLocation属性タクソノミー本体
<link:linkbaseRef>要素のxlink:href属性リンクベース

次に,各XBRL文書の読み込み範囲とその指定方法を説明します。

<この項の構成>
(1) インスタンス文書を解析する場合
(2) タクソノミー文書を解析する場合
(3) 読み込み範囲の指定方法

(1) インスタンス文書を解析する場合

XBRL2.0のインスタンス文書を解析する場合,次の順番でDTSが読み込まれます。

  1. ルート要素である<xbrli:group>要素のxsi:schemaLocation属性値を基に,タクソノミー本体が読み込まれます。
  2. タクソノミー本体の<xsd:import>要素をたどり,参照先のタクソノミー本体が読み込まれます。
    タクソノミー本体が,n階層から成るタクソノミー本体の場合,基底タクソノミー文書までが読み込まれます。
  3. タクソノミー本体に<link:linkbaseRef>要素が記述されていた場合,参照先のリンクベースが読み込まれます。
  4. インスタンス文書に<link:linkbaseRef>要素が記述されていた場合,参照先のリンクベースもDTSの一部として読み込まれます。

また,XBRL Internationalによって提供されるXMLスキーマ定義では,リンクベースの定義に使用する<link:linkbase>要素の子要素に,リンクベースの参照に使用する<link:linkbaseRef>要素を記述できます。しかし,uCosminexus Business Reporting Processorでは,<link:linkbase>要素の子要素として<link:linkbaseRef>要素が記述されていた場合,警告を通知します。DTSに含めることはできません。

インスタンス文書を解析する場合のDTSの読み込み範囲を次の図に示します。なお,XBRL2.0の仕様ではDTSの範囲が明記されていないため,XBRL2.1で明記されたDTSの範囲と比較して,説明します。

図2-5 インスタンス文書を解析する場合のDTSの読み込み範囲(XBRL2.0の場合)

[図データ]

この図は,インスタンス文書のxsi:schemaLocation属性に,「タクソノミー本体2」および「タクソノミー本体3」が指定されている例です。インスタンス文書の<link:linkbaseRef>要素には,「リンクベース5」への参照が指定されています。

この例では,「タクソノミー本体2」の基底タクソノミー文書である「タクソノミー本体0」,および「タクソノミー本体0」が参照している「リンクベース0」が読み込まれます。ただし,「リンクベース1」が参照している「タクソノミー本体4」は,DTSには含まれません。

(2) タクソノミー文書を解析する場合

XBRL2.0のタクソノミー文書だけを解析する場合,基点となるタクソノミー本体をすべて指定する必要があります。基点となるタクソノミー本体とは,DTSの読み込み時に出発点となるタクソノミー本体のことです。

タクソノミー文書を解析する場合のDTSの読み込み範囲を次の図に示します。なお,XBRL2.0の仕様ではDTSの範囲が明記されていないため,XBRL2.1で明記されたDTSの範囲と比較して,説明します。

図2-6 タクソノミー文書を解析する場合のDTSの読み込み範囲(XBRL2.0の場合)

[図データ]

この図は,「タクソノミー本体2」を読み込んだ場合の例です。この例では,「タクソノミー本体3」は読み込まれません。「タクソノミー本体3」をDTSに含めたい場合,「タクソノミー本体2」および「タクソノミー本体3」を基点となるタクソノミー本体として指定する必要があります。

(3) 読み込み範囲の指定方法

タクソノミー文書は,複数の階層に拡張できます。通常は,タクソノミー文書が複数の階層に拡張されている場合,いちばん基となった基底タクソノミー文書までが読み込まれます。

しかし,多くの階層に拡張されたタクソノミー文書を読み込むには,大量のメモリやリソースが必要になります。また,初めて読み込むDTSが予想以上に多くの階層から構成されていてメモリが不足するおそれもあります。

このため,読み込むタクソノミー文書の階層の上限を指定できます。指定した上限値に達した場合,エラーとなり,処理が中断されます。

階層の数え方
タクソノミー文書の階層は,インスタンス文書が参照するタクソノミー文書から基底タクソノミー文書までを数えます。
2階層まで読み込む指定をした場合,次の図に示す範囲が読み込まれます。

図2-7 DTSとして読み込むタクソノミー文書の階層の数え方

[図データ]
この例では,基底タクソノミー文書は「タクソノミー本体0」になりますが,「タクソノミー本体0」は第3階層であるためDTSとして読み込まれません。
なお,リンクベース3は,インスタンス文書からの拡張なので,タクソノミー文書の階層には含まれません。
指定するプロパティ
タクソノミー文書を読み込む階層の上限を指定するには,次のプロパティに階層の最大数を指定します。デフォルトは2です。
cbrp.parse.maxTaxonomyExtension
プロパティの指定方法については,「4.16.1 プロパティの指定方法と優先順位」を参照してください。