uCosminexus Business Reporting Processor 開発者ガイド
XBRL Dimensions1.0に準拠したインスタンス文書のXBRL DOMにプライマリー・アイテムを追加するサンプルコードについて説明します。
ここでは,プライマリー・アイテムとディメンジョンの関係を検証してからプライマリー・アイテムをインスタンス文書へ追加するサンプルコードについて説明します。インスタンス文書全体の検証については,「4.12 既存のインスタンス文書の参照と検証(XBRL Dimensions1.0の場合)」を参照してください。
なお,「4.11.2(3) コーディング結果」で示すコーディング結果のコンテキスト要素には「4.11.1 多次元データを含んだコンテキスト要素の追加」で追加したコンテキストが記述されています。
プライマリー・アイテムの追加で使用するクラスおよびインターフェースを次の表に示します。
表4-48 プライマリー・アイテムの追加で使用するクラスおよびインターフェース
| 項番 | 使用するクラスおよびインターフェース | 説明 |
|---|---|---|
| 1 | com.hitachi.xbrl.instance.XBRLContext2 | XBRL2.1のコンテキスト要素を表します。 |
| 2 | com.hitachi.xbrl.instance.XBRLContext | コンテキスト要素を表します。 |
| 3 | com.hitachi.xbrl.instance.XBRLInstanceDocument | インスタンス文書全体を表します。 |
| 4 | com.hitachi.xbrl.types.XBRLDecimals | 数値アイテムのdecimals属性値を表します。 |
| 5 | com.hitachi.xbrl.instance.XBRLInstanceItem | アイテムを表します。 |
| 6 | com.hitachi.xbrl.instance.XBRLInstanceElement | インスタンス文書の要素を表します。 |
| 7 | com.hitachi.xbrl.instance.XBRLDOMException | XBRL DOMの例外を表します。 |
プライマリー・アイテムをXBRL DOMに追加するコードは次のとおりです。
// コンテキストの作成
XBRLContext2 context = idoc.createContext(entity, period, null);
// インスタンス文書にコンテキストを追加
idoc.addContext((XBRLContext) context);
/*
* ここから数値アイテムの作成
*/
// decimals属性値の作成
XBRLDecimals decimals = new XBRLDecimals("0");
// 数値アイテム - NumbersOfSales要素 - の作成
XBRLInstanceItem salesItem =
idoc.createNumericItem(
"http://www.hitachi.com/2008/XBRL/dim/sample",
"NumbersOfSales",
context,
unit,
null,
decimals);
// 数値アイテムに値を設定
salesItem.setValue((Object) salesValue);
try {
// 妥当性検証
if (salesItem.validateDimensions()) {
// インスタンス文書に数値アイテムを追加
idoc.appendChildElement((XBRLInstanceElement) salesItem);
} else {
System.out.println("アイテムとコンテキストの組み合わせは正しくありません。");
}
} catch (XBRLDOMException de) {
de.printStackTrace();
}
}
}
|
コーディング結果として,生成されるインスタンス文書は次のとおりです。
<xbrli:unit id="U01">
<xbrli:measure>iso4217:JPY</xbrli:measure>
</xbrli:unit>
<xbrli:context id="C01">
<xbrli:entity>
<xbrli:identifier
schema="http://www.hitachi.com/2008/XBRL">SAMP</xbrli:identifier>
<xbrli:segment>
<xbrldi:explicitMember dimension="p0:DistDim">p0:Tokyo</xbrldi:explicitMember>
<xbrldi:explicitMember dimension="p0:ProductDim">p0:LC</xbrldi:explicitMember>
</xbrli:segment>
</xbrli:entity>
<xbrli:period>
<xbrli:instant>2008-09-30</xbrli:instant>
</xbrli:period>
</xbrli:context>
<xbrli:context id="C02">
<xbrli:entity>
<xbrli:identifier
schema="http://www.hitachi.com/2008/XBRL">SAMP</xbrli:identifier>
<xbrli:segment>
<xbrldi:explicitMember dimension="p0:DistDim">p0:Tokyo</xbrldi:explicitMember>
<xbrldi:explicitMember dimension="p0:ProductDim">p0:Plasma</xbrldi:explicitMember>
</xbrli:segment>
</xbrli:entity>
<xbrli:period>
<xbrli:instant>2008-09-30</xbrli:instant>
</xbrli:period>
</xbrli:context>
<p0:NumbersOfSales contextRef="C01" unitRef="U01" decimals="0">10000000</p0:NumbersOfSales>
<p0:NumbersOfSales contextRef="C02" unitRef="U01" decimals="0">8000000</p0:NumbersOfSales>
|
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.