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の場合,読み込み範囲の指定には次の方法があります。両方を同時に指定することもできます。
XBRL2.1のインスタンス文書を解析する場合,次の順番でDTSが読み込まれます。
インスタンス文書を解析する場合のDTSの読み込み範囲を次の図に示します。
図2-8 インスタンス文書を解析する場合のDTSの読み込み範囲(XBRL2.1の場合)
この図は,インスタンス文書のxsi:schemaLocation属性に,「タクソノミー本体2」および「タクソノミー本体3」が指定されている例です。インスタンス文書の<link:linkbaseRef>要素には,「リンクベース5」への参照が指定されています。
この例では,「リンクベース1」が参照している「タクソノミー本体4」,および「タクソノミー本体4」が参照している「リンクベース4」がDTSに含まれます。
XBRL2.1のタクソノミー文書だけを解析する場合,基点となるタクソノミー本体をすべて指定する必要があります。
タクソノミー文書を解析する場合のDTSの読み込み範囲を次の図に示します。
図2-9 タクソノミー文書を解析する場合のDTSの読み込み範囲(XBRL2.1の場合)
この図は,「タクソノミー本体2」を指定した場合の例です。「リンクベース1」から参照されている「タクソノミー本体4」,および「タクソノミー本体4」から参照されている「リンクベース4」が読み込まれます。この例では,「タクソノミー本体3」は読み込まれません。「タクソノミー本体3」をDTSに含めたい場合,「タクソノミー本体2」および「タクソノミー本体3」を指定する必要があります。
DTSに含めないXMLスキーマ定義をあらかじめ登録する方法について説明します。
タクソノミー文書は,<xsd:import>要素を使用して拡張されるため,通常は<xsd:import>要素で参照されるタクソノミー本体はすべてDTSとして読み込まれます。しかし,<xsd:import>要素は,タクソノミー本体だけでなく,XMLスキーマ定義を指定するためにも使用されます。XMLスキーマ定義は,タクソノミー本体の定義や検証には必要ですが,インスタンス文書の操作には必要ありません。
このような,インスタンス文書の操作に必要のないXMLスキーマ定義をあらかじめ登録することで,不要なXMLスキーマの読み込みを避けられます。
DTSとして読み込む文書の最大数を指定する方法について説明します。
XBRL2.1の場合,XBRL2.0の場合に比べて,DTSに含まれるタクソノミー文書の範囲が広くなります。また,リンクベースから参照されるタクソノミー本体もDTSとして読み込まれるため,同じ階層を構成する文書数がXBRL文書の内容によって異なります。そのため,XBRL2.1の場合は,読み込む文書の最大数を指定することで,読み込み範囲を指定できます。指定した上限値に達した場合,エラーとなり,処理が中断されます。