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

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

XBRL2.1の場合,XBRL2.1仕様で明記されたDTSの範囲すべてが読み込まれます。また,XBRL2.0の場合と大きく異なる点は,リンクベースで<link:loc>要素などを使用して参照されたタクソノミー本体やリンクベースも,DTSとして読み込まれることです。

DTS読み込み時に参照される要素と属性の一覧を次の表に示します。

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

XBRL文書種別参照される要素と属性読み込まれるXBRL文書
インスタンス文書<link:schemaRef>要素のxlink:href属性タクソノミー本体
<link:linkbaseRef>要素のxlink:href属性リンクベース
<link:roleRef>要素のxlink:href属性タクソノミー本体
<link:arcroleRef>要素のxlink:href属性タクソノミー本体
タクソノミー本体(タクソノミー文書)<xsd:import>要素のschemaLocation属性タクソノミー本体
<xsd:include>要素のschemaLocation属性タクソノミー本体
<link:linkbaseRef>要素のxlink:href属性リンクベース
リンクベース(タクソノミー文書)<link:loc>要素のxlink:href属性タクソノミー本体またはリンクベース
<link:roleRef>要素のxlink:href属性タクソノミー本体
<link:arcroleRef>要素のxlink:href属性タクソノミー本体

ここでは,各XBRL文書の読み込み範囲と,その指定方法について説明します。

XBRL2.1の場合,読み込み範囲の指定には次の方法があります。両方を同時に指定することもできます。

<この項の構成>
(1) インスタンス文書を解析する場合
(2) タクソノミー文書を解析する場合
(3) 読み込み範囲の指定方法-読み込まないXMLスキーマ定義を登録する
(4) 読み込み範囲の指定方法-読み込む文書の最大数を指定する

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

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

  1. XBRL2.1で新しく追加された<link:schemaRef>要素,<link:roleRef>要素,および<link:arcroleRef>要素を基に,タクソノミー本体が読み込まれます。
  2. タクソノミー本体の<xsd:import>要素をたどり,タクソノミー文書全体(DTS)が読み込まれます。
  3. リンクベースで,<link:loc>要素などを使用してタクソノミー本体やリンクベースが参照されていた場合,参照先のタクソノミー本体やリンクベースもDTSの一部として読み込まれます。

インスタンス文書を解析する場合のDTSの読み込み範囲を次の図に示します。

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

[図データ]

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

この例では,「リンクベース1」が参照している「タクソノミー本体4」,および「タクソノミー本体4」が参照している「リンクベース4」がDTSに含まれます。

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

XBRL2.1のタクソノミー文書だけを解析する場合,基点となるタクソノミー本体をすべて指定する必要があります。

タクソノミー文書を解析する場合のDTSの読み込み範囲を次の図に示します。

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

[図データ]

この図は,「タクソノミー本体2」を指定した場合の例です。「リンクベース1」から参照されている「タクソノミー本体4」,および「タクソノミー本体4」から参照されている「リンクベース4」が読み込まれます。この例では,「タクソノミー本体3」は読み込まれません。「タクソノミー本体3」をDTSに含めたい場合,「タクソノミー本体2」および「タクソノミー本体3」を指定する必要があります。

(3) 読み込み範囲の指定方法-読み込まないXMLスキーマ定義を登録する

DTSに含めないXMLスキーマ定義をあらかじめ登録する方法について説明します。

タクソノミー文書は,<xsd:import>要素を使用して拡張されるため,通常は<xsd:import>要素で参照されるタクソノミー本体はすべてDTSとして読み込まれます。しかし,<xsd:import>要素は,タクソノミー本体だけでなく,XMLスキーマ定義を指定するためにも使用されます。XMLスキーマ定義は,タクソノミー本体の定義や検証には必要ですが,インスタンス文書の操作には必要ありません。

このような,インスタンス文書の操作に必要のないXMLスキーマ定義をあらかじめ登録することで,不要なXMLスキーマの読み込みを避けられます。

DTSとして読み込まれないXMLスキーマ定義
次に示す名前空間に属するXMLスキーマ定義はDTSに含まれないため,登録する必要はありません。
XBRLのスキーマ定義(XBRL2.0の場合)
  • http://www.xbrl.org/2001/instance
  • http://www.xbrl.org/2001/XLink/xbrllinkbase
XBRLのスキーマ定義(XBRL2.1の場合)
  • http://www.xbrl.org/2003/instance
  • http://www.xbrl.org/2003/linkbase
  • http://www.xbrl.org/2003/XLink
XML Schemaのスキーマ定義
  • http://www.w3.org/1999/xlink
  • http://www.w3.org/2001/XMLSchema-instance
  • http://www.w3.org/2001/XMLSchema
  • http://www.w3.org/XML/1998/namespace
指定するプロパティ
DTSとして読み込まないXMLスキーマ定義を登録するには,次のプロパティに,XMLスキーマ定義の名前空間を指定します。デフォルトはなし(null)です。
cbrp.parse.DTS.ignoringSchemas
プロパティの指定方法については,「4.16.1 プロパティの指定方法と優先順位」を参照してください。

(4) 読み込み範囲の指定方法-読み込む文書の最大数を指定する

DTSとして読み込む文書の最大数を指定する方法について説明します。

XBRL2.1の場合,XBRL2.0の場合に比べて,DTSに含まれるタクソノミー文書の範囲が広くなります。また,リンクベースから参照されるタクソノミー本体もDTSとして読み込まれるため,同じ階層を構成する文書数がXBRL文書の内容によって異なります。そのため,XBRL2.1の場合は,読み込む文書の最大数を指定することで,読み込み範囲を指定できます。指定した上限値に達した場合,エラーとなり,処理が中断されます。

指定するプロパティ
DTSとして読み込む文書の最大数を指定するには,次のプロパティに文書の最大数を指定します。デフォルトは0(無制限)です。
cbrp.parse.DTS.maxDocuments
プロパティの指定方法については,「4.16.1 プロパティの指定方法と優先順位」を参照してください。