uCosminexus Business Reporting Processor 開発者ガイド
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 |
数値コンテキストに対応したアイテムの追加で使用するクラスおよびインターフェースを次の表に示します。
表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 | インスタンス文書全体を表します。 |
数値コンテキストに対応したアイテムを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);
|
コーディング結果として,生成されるインスタンス文書は次のとおりです。
<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> |
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.