uCosminexus Business Reporting Processor 開発者ガイド

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

4.7.5 数値アイテムの追加

XBRL2.1に準拠したインスタンス文書に,コンテキスト要素に対応する数値アイテムを追加するサンプルコードについて説明します。

ここでは,「4.7.2 コンテキスト要素の追加」で追加したコンテキスト要素に属し,かつ「4.7.3 単位要素の追加」で追加した単位要素に属する,次に示す数値アイテムを追加します。

表4-30 数値アイテムの値

項番 名称 追加するアイテムとその値
hi:assets hi:currentAssets hi:investmentsAndAdvances
1 contextRef C01 C01 C01
2 unitRef U01 U01 U01
3 precision 10 10 10
4 100,000 50,000 20,000
<この項の構成>
(1) 使用するクラスおよびインターフェース
(2) サンプルコード
(3) コーディング結果

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

数値コンテキストに対応したアイテムの追加で使用するクラスおよびインターフェースを次の表に示します。

表4-31 数値コンテキストに対応したアイテムの追加で使用するクラスおよびインターフェース

項番 使用するクラスおよびインターフェース 説明
1 com.hitachi.xbrl.types.XBRLPrecision 数値アイテムのprecision属性に指定する値を表します。
2 com.hitachi.xbrl.instance.XBRLInstanceItem アイテムを表します。
3 com.hitachi.xbrl.instance.XBRLContext2 XBRL2.1のコンテキスト要素を表します。
4 com.hitachi.xbrl.instance.XBRLUnit2 XBRL2.1の単位要素を表します。
5 com.hitachi.xbrl.instance.XBRLInstanceElement インスタンス文書に記述される要素を表します。
6 com.hitachi.xbrl.instance.XBRLInstanceDocument インスタンス文書全体を表します。

(2) サンプルコード

数値コンテキストに対応したアイテムをXBRL DOMに追加するコードは次のとおりです。

// precision属性値の作成
XBRLPrecision precision = new XBRLPrecision("10");
 
// 数値アイテム - assets要素 - の作成
XBRLInstanceItem numericItem1 =
    idoc.createNumericItem(
        "http://www.hitachi.com/2004/XBRL",
        "assets",
        context,
        unit,
        precision,
        null);
// 数値アイテム - currentAssets要素 - の作成
XBRLInstanceItem numericItem2 =
    idoc.createNumericItem(
        "http://www.hitachi.com/2004/XBRL",
        "currentAssets",
        context,
        unit,
        precision,
        null);
// 数値アイテム - investmentsAndAdvances要素 - の作成
XBRLInstanceItem numericItem3 =
    idoc.createNumericItem(
        "http://www.hitachi.com/2004/XBRL",
        "investmentsAndAdvances",
        context,
        unit,
        precision,
        null);
 
// 数値アイテムに値を設定
BigDecimal v1 = new BigDecimal(100000);
BigDecimal v2 = new BigDecimal(50000);
BigDecimal v3 = new BigDecimal(20000);
 
numericItem1.setValue((Object) v1);
numericItem2.setValue((Object) v2);
numericItem3.setValue((Object) v3);
 
// インスタンス文書に数値アイテムを追加
idoc.appendChildElement((XBRLInstanceElement) numericItem1);
idoc.appendChildElement((XBRLInstanceElement) numericItem2);
idoc.appendChildElement((XBRLInstanceElement) numericItem3);

(3) コーディング結果

コーディング結果として,生成されるインスタンス文書は次のとおりです。

<hi:assets contextRef="C01" unitRef="U01" precision=10>100000</hi:assets>
<hi:currentAssets contextRef="C01" unitRef="U01" precision=10>50000</hi:currentAssets>
<hi:investmentsAndAdvances contextRef="C01" unitRef="U01" precision=10>20000</hi:investmentsAndAdvances>