uCosminexus Business Reporting Processor 開発者ガイド

[目次][用語][索引][前へ][次へ]

4.5.2 脚注リンクの追加

4.5.1 インスタンス文書の読み込み」で読み込んだXBRL2.0に準拠するインスタンス文書のXBRL DOMに,脚注リンクを追加するサンプルコードについて説明します。

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

<link:footnoteArc>要素では,一つのリンクを双方向で表現する必要があるため,ロケータ(<link:loc>要素)からリソース(<link:footnote>要素)へのアーク,およびリソース(<link:footnote>要素)からロケータ(<link:loc>要素)へのアークの両方が必要です。

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

ここでは,非数値アイテムに日本語と英語の脚注リンクを追加します。二つの脚注リンクを追加するので,リソースおよびアークが2要素ずつ追加されます。

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

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

項番 名称 要素/属性
1 nonNumericContext 属性 NNC01
2 hi:note 要素 This is a sample!

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

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

項番 属性名
1 xlink:type resource
2 xlink:label dst_point_ja dst_point_en
3 xml:lang ja en

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

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

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

要素名 属性名
<link:loc>要素 xlink:type locator
xlink:label src_point
xlink:href ITM01
<link:footnoteArc>要素
(<link:loc>要素から<link:footnote>要素へのアーク)
xlink:type arc
xlink:from (locatorで設定されたlabel:src_point)
xlink:to (footnoteで設定されたlabel:dst_point_ja)
(footnoteで設定されたlabel:dst_point_en)
xlink:arcrole http://www.xbrl.org/linkprops/arc/fact-footnote
xlink:show replace
xlink:actuate onRequest
<link:footnoteArc>要素
(<link:footnote>要素から<link:loc>要素へのアーク)
xlink:type arc
xlink:from (footnoteで設定されたlabel:dst_point_ja)
(footnoteで設定されたlabel:dst_point_en)
xlink:to (locatorで設定されたlabel:src_point)
xlink:arcrole http://www.xbrl.org/linkprops/arc/footnote-fact
xlink:show replace
xlink:actuate onRequest

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


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

(1) 使用するクラスおよびインターフェース

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

表4-19 脚注リンクの追加で使用するクラスおよびインターフェース

項番 使用するクラスおよびインターフェース 説明
1 com.hitachi.xbrl.instance.XBRLFootnote 脚注を表します。
2 com.hitachi.xbrl.instance.XBRLInstanceElement インスタンス文書に記述される要素を表します。
3 com.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/2003/XBRL", "note");
 
// 最初の要素に脚注を追加して関連づける
XBRLInstanceElement element = elist.get(0);
element.addFootnote(footnote_ja);
element.addFootnote(footnote_en);

(3) コーディング結果

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

<link:footnoteLink xlink:type="extended">
 <link:footnote xlink:label="src_point" xlink:type="resource" xml:lang="ja">
    これは脚注リンクです。</link:footnote>
 <link:loc xlink:href="#ITM01" xlink:label="dst_point_ja" xlink:type="locator" />
 <link:footnoteArc xlink:actuate="onRequest"
    xlink:arcrole="http://www.xbrl.org/linkprops/arc/footnote-fact"
    xlink:from="src_point" xlink:show="replace" xlink:to="dst_point_ja"
    xlink:type="arc" />
 <link:footnoteArc xlink:actuate="onRequest"
    xlink:arcrole="http://www.xbrl.org/linkprops/arc/fact-footnote"
    xlink:from="dst_point_ja" xlink:show="replace" xlink:to="src_point"
    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 xlink:actuate="onRequest"
    xlink:arcrole="http://www.xbrl.org/linkprops/arc/footnote-fact"
    xlink:from="dst_point_en" xlink:show="replace" xlink:to="dst_point_ja"
    xlink:type="arc" />
 <link:footnoteArc xlink:actuate="onRequest"
    xlink:arcrole="http://www.xbrl.org/linkprops/arc/fact-footnote"
    xlink:from="dst_point_ja" xlink:show="replace" xlink:to="dst_point_en"
    xlink:type="arc" />
</link:footnoteLink>