uCosminexus Business Reporting Processor 開発者ガイド
XBRL2.1に準拠したインスタンス文書のXBRL DOMに,コンテキスト要素を追加するサンプルコードについて説明します。コンテキスト要素を追加する場合,コンテキスト要素の子要素(entity,periodなど)を作成する必要があります。
ここで説明するサンプルコードでは,次の内容のコンテキスト要素を追加します。表中の「名称」欄のインデントは,コーディング結果のインデントを示しています。
表4-24 コンテキスト要素
| 項番 | 名称 | 要素/属性 | 値 |
|---|---|---|---|
| 1 | コンテキストID | 属性 | C01 |
| 2 | 時期 | 要素 | 2004-03-31 |
| 3 | エンティティ(組織) | 要素 | − |
| 4 | 識別子 | 要素 | SAMP |
| 5 | スキーム | 属性 | http://www.hitachi.co.jp/2004/XBRL |
| 6 | セグメント | 要素 | − |
| 7 | prefecture※ | 要素 | Tokyo |
(凡例)−:値を持つことができません。
注※ "prefecture"の名前空間URIは"http://www.hitachi.com/2004/XBRL"とします。
コンテキスト要素の追加で使用するインターフェースを次の表に示します。
表4-25 コンテキスト要素の追加で使用するインターフェース
| 項番 | 使用するインターフェース | 説明 |
|---|---|---|
| 1 | com.hitachi.xbrl.types.XBRLDateUnion | XBRLのデータ型dateUnionを表します。 |
| 2 | com.hitachi.xbrl.instance.XBRLPeriod | 時期要素を表します。 |
| 3 | com.hitachi.xbrl.instance.XBRLIdentifier | 識別子要素を表します。 |
| 4 | com.hitachi.xbrl.instance.XBRLSegment | セグメント要素を表します。 |
| 5 | com.hitachi.xbrl.instance.XBRLEntity | エンティティ要素を表します。 |
| 6 | com.hitachi.xbrl.instance.XBRLContext | コンテキスト要素を表します。 |
| 7 | com.hitachi.xbrl.instance.XBRLContext2 | XBRL2.1のコンテキスト要素を表します。 |
| 8 | com.hitachi.xbrl.instance.XBRLInstanceDocument | インスタンス文書全体を表します。 |
コンテキスト要素をXBRL DOMに追加するコードは次のとおりです。
// period要素の作成
XBRLDateUnion date = new XBRLDateUnion("2004-03-31");
XBRLPeriod period = idoc.createPeriod(date);
// identifier要素の作成
XBRLIdentifier identifier =
idoc.createIdentifier(
"http://www.hitachi.com/2004/XBRL",
"SAMP");
// segment要素の作成
XBRLSegment segment = idoc.createSegment();
// segment要素に対応するorg.w3c.dom.Elementの取得
Node container = segment.getContainerNode();
// インスタンス文書に対応するorg.w3c.dom.Documentの取得
Document doc = (Document) idoc.getW3CDOMNode();
// prefecture要素の作成
Element prefecture =
doc.createElementNS(
"http://www.hitachi.com/2004/XBRL",
"prefecture");
prefecture.appendChild(doc.createTextNode("Tokyo"));
// segment要素の子要素にprefecture要素を追加
container.appendChild(prefecture);
// entity要素の作成
XBRLEntity entity = idoc.createEntity(identifier, segment);
// コンテキストの作成
XBRLContext2 context = idoc.createContext(entity, period, null);
// インスタンス文書にコンテキストを追加
idoc.addContext((XBRLContext) context);
|
コーディング結果として,生成されるインスタンス文書は次のとおりです。
<xbrli:context id="C01">
<xbrli:entity>
<xbrli:identifier
schema="http://www.hitachi.com/2004/XBRL">SAMP</xbrli:identifier>
<xbrli:segment>
<prefecture xmlns="http://www.hitachi.com/2004/XBRL">Tokyo</prefecture>
</xbrli:segment>
</xbrli:entity>
<xbrli:period>
<xbrli:instant>2004-03-31</xbrli:instant>
</xbrli:period>
</xbrli:context>
|
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.