uCosminexus Business Reporting Processor 開発者ガイド

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

4.7.2 コンテキスト要素の追加

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"とします。


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

(1) 使用するインターフェース

コンテキスト要素の追加で使用するインターフェースを次の表に示します。

表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 インスタンス文書全体を表します。

(2) サンプルコード

コンテキスト要素を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);

(3) コーディング結果

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

<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>