4.8.2 脚注リンクの追加

XBRL2.1に準拠したインスタンス文書のXBRL DOMに脚注リンクを追加します。

脚注リンクの構成要素は,ロケータ,リソース,アークから成り立ちます。それぞれ,<link:loc>要素,<link:footnote>要素,<link:footnoteArc>要素(<link:loc>要素から<link:footnote>要素へのアーク)を使用して記述します。

uCosminexus Business Reporting Processorでは,リソース(<link:footnote>要素)を生成して関連づける要素に登録すると,ロケータ(<link:loc>要素)とアーク(<link:footnoteArc>要素)も自動で追加されます。

ここでは,「4.8.1 インスタンス文書の読み込み」で読み込んだXBRL2.1に準拠したインスタンス文書のXBRL DOMに,日本語と英語の脚注リンクを追加します。二つの脚注リンクを追加するので,リソースおよびアークが2要素ずつ追加されます。

脚注リンクを追加する非数値アイテム<hi:note>要素の値を次の表に示します。

表4-35 脚注リンクを追加する非数値アイテムの値

項番名称要素/属性
1contextRef属性C01
2hi:note要素This is a sample!
3コンテキストID属性NNI01

追加する<link:footnote>要素を次の表に示します。

表4-36 追加する<link:footnote>要素

項番属性名
1xlink:typeresource
2xlink:labeldst_point_jadst_point_en
3xml:langjaen

<link:footnote>要素の値は日本語(ja)「これは脚注リンクです。」,英語(en)「This is a footnote-link.」とします。

追加される<link:loc>要素,および<link:footnoteArc>要素要素を次の表に示します。

表4-37 追加される<link:loc>要素,および<link:footnoteArc>要素

要素名属性名
<link:loc>要素xlink:typelocator
xlink:labelsrc_point
xlink:hrefNNI01
<link:footnoteArc>要素
(<link:loc>要素から<link:footnote>要素へのアーク)
xlink:typearc
xlink:from(locatorで設定されたlabel:src_point)
xlink:to(footnoteで設定されたlabel:dst_point_ja)
(footnoteで設定されたlabel:dst_point_en)
xlink:arcrolehttp://www.xbrl.org/2003/arcrole/fact-footnote

注※ xlink:href属性では,インスタンス文書の本文中の要素をidまたはxpointer(Xpath方式)で指し示す必要があります。


<この項の構成>
(1) 使用するインターフェース
(2) サンプルコード
(3) コーディング結果

(1) 使用するインターフェース

脚注リンクの追加で使用するインターフェースを次の表に示します。

表4-38 脚注リンクの追加で使用するインターフェース

項番使用するインターフェース説明
1com.hitachi.xbrl.instance.XBRLFootnote脚注を表します。
2com.hitachi.xbrl.instance.XBRLInstanceElementインスタンス文書に記述されている要素を表します。
3com.hitachi.xbrl.instance.XBRLInstanceDocumentインスタンス文書全体を表します。

(2) サンプルコード

インスタンス文書のXBRL DOMに脚注リンクを追加するコードは次のとおりです。

// 脚注の作成(日本語)
XBRLFootnote footnote_ja = idoc.createFootnote("ja", null, null);
footnote_ja.setValue("これは脚注リンクです。");
// 脚注の作成(英語)
XBRLFootnote footnote_en = idoc.createFootnote("en", null, null);
footnote_en.setValue("This is a footnote-link.");

// すべてのnote要素(アイテム)を取得
List<XBRLInstanceElement> elist =
   idoc.getElements("http://www.hitachi.com/2004/XBRL", "note");

// 最初の要素に脚注を追加して関連づける
XBRLInstanceElement element = elist.get(0);
element.addFootnote(footnote_ja);
element.addFootnote(footnote_en);

(3) コーディング結果

コーディング結果として,生成される脚注リンクは次のとおりです。

<link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/xlink" xlink:type="extended">
 <link:footnote xlink:label="dst_point_ja" xlink:type="resource" xml:lang="ja">
   これは脚注リンクです。</link:footnote>
 <link:loc xlink:href="#NNI01" xlink:label="src_point" xlink:type="locator" />
 <link:footnoteArc order="1"
   xlink:arcrole=http://www.xbrl.org/2003/arcrole/fact-footnote
   xlink:from="src_point" xlink:to="dst_point_ja" xlink:type="arc" />
 <link:footnote xlink:label="dst_point_en" xlink:type="resource"
   xml:lang="en">This is a footnote-link.</link:footnote>
 <link:footnoteArc order="1"
   xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
   xlink:from="src_point" xlink:to="dst_point_en" xlink:type="arc" />
</link:footnoteLink>