uCosminexus Business Reporting Processor 開発者ガイド

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

4.12.1 インスタンス文書の読み込み

XBRL Dimensions1.0に準拠したタクソノミー文書を読み込み,XBRL DOMを生成するサンプルコードについて説明します。XBRL Dimensions1.0の場合,タクソノミー文書の読み込み時にXBRL Dimensionsのバージョンを指定する必要があります。

ここでは,検証時にエラーや警告が発生した場合のレポートを受け取り,出力するエラーハンドラと,検証時にローカルに保存したスキーマ定義を使用するエンティティリゾルバも実装します。エラーハンドラおよびエンティティリゾルバの詳細については,「4.13 エラーハンドラ」および「4.14 エンティティリゾルバ」を参照してください。

<この項の構成>
(1) 使用するクラスおよびインターフェース
(2) サンプルコード

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

インスタンス文書の読み込みで使用するクラスおよびインターフェースを次の表に示します。

表4-49 インスタンス文書の読み込みで使用するクラスおよびインターフェース

項番 使用するクラスおよびインターフェース 説明
1 com.hitachi.xbrl.XBRLDocumentManager XBRL文書の入出力や,タクソノミー文書のキャッシュを管理します。
2 com.hitachi.xbrl.instance.XBRLInstanceDocumentBuilderFactory XBRLInstanceDocumentBuilderオブジェクトを生成するためのAPIを定義します。
3 com.hitachi.xbrl.instance.XBRLInstanceDocumentBuilder インスタンス文書からXBRLInstanceDocumentオブジェクトを取得するためのAPIを定義します。
4 com.hitachi.xbrl.instance.XBRLInstanceDocument インスタンス文書全体を表します。
5 com.hitachi.xbrl.util.XBRLConstants ユーザーアプリケーションで利用できる定数を定義します。

(2) サンプルコード

インスタンス文書を読み込み,XBRL DOMを生成するコードは次のとおりです。

/*
 * 既存インスタンス文書の読み込み
 */
 
// 初期化
XBRLDocumentManager.init();
XBRLDocumentManager dm = XBRLDocumentManager.getInstance();
 
// XBRLInstanceDocumentBuilderFactoryの作成
XBRLInstanceDocumentBuilderFactory ibf =
    dm.newInstanceDocumentBuilderFactory();
 
// XBRLバージョンの設定
ibf.setXBRLVersion(XBRLConstants.XBRL_2_1);
ibf.setDimensionsVersion(XBRLConstants.DIMENSIONS_1_0);
 
// インスタンス文書のパース時に妥当性検証を行う設定
ibf.setValidating(true);
 
// XBRLInstanceDocumentBuilderの作成
XBRLInstanceDocumentBuilder ib = ibf.newInstanceDocumentBuilder();
 
// エラーハンドラの設定
SampleErrorHandler eh = new SampleErrorHandler();
ib.setErrorHandler(eh);
 
// エンティティリゾルバの設定
SampleEntityResolver er = new SampleEntityResolver();
ib.setEntityResolver(er);
 
// タクソノミー文書のパース
String filename = "input/sample_xbrl_dim_instance.xml";
XBRLInstanceDocument idoc = ib.parse(new File(filename));
 
System.out.println("インスタンス文書のパースに成功しました。");