uCosminexus Business Reporting Processor 開発者ガイド
XBRL2.1に準拠したインスタンス文書を読み込み,XBRL DOMを生成します。タクソノミー文書はインスタンス文書内で指定されているため,タクソノミー文書をプログラムで明示的に指定する必要はありません。インスタンス文書のXBRL DOMと同時にタクソノミー文書のXBRL DOMも生成されます。ただし,XBRLのバージョンの指定は必要です。
ここでは,検証時にエラーや警告が発生した場合のレポートを受け取り,出力するエラーハンドラと,検証時にローカルに保存したスキーマ定義を使用させるエンティティリゾルバも実装します。エラーハンドラおよびエンティティリゾルバの詳細については,「4.13 エラーハンドラ」および「4.14 エンティティリゾルバ」を参照してください。
インスタンス文書の読み込みで使用するクラスおよびインターフェースを次の表に示します。
表4-34 インスタンス文書の読み込みで使用するクラスおよびインターフェース
| 項番 | 使用するクラスおよびインターフェース | 説明 |
|---|---|---|
| 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 | ユーザーアプリケーションで利用できる定数を定義します。 |
インスタンス文書を読み込み,XBRL DOMを生成するコードは次のとおりです。
/*
* 既存インスタンス文書の読み込み
*/
// 初期化
XBRLDocumentManager.init();
XBRLDocumentManager dm = XBRLDocumentManager.getInstance();
// XBRLInstanceDocumentBuilderFactoryの作成
XBRLInstanceDocumentBuilderFactory ibf =
dm.newInstanceDocumentBuilderFactory();
// XBRLバージョンの設定
ibf.setXBRLVersion(XBRLConstants.XBRL_2_1);
// XBRLInstanceDocumentBuilderの作成
XBRLInstanceDocumentBuilder ib = ibf.newInstanceDocumentBuilder();
// エラーハンドラの設定
SampleErrorHandler eh = new SampleErrorHandler();
ib.setErrorHandler(eh);
// エンティティリゾルバの設定
SampleEntityResolver er = new SampleEntityResolver();
ib.setEntityResolver(er);
// インスタンス文書のパース
String filename = "input/sample_instance1_xbrl_2_1.xml";
XBRLInstanceDocument idoc = ib.parse(new File(filename));
System.out.println("インスタンス文書のパースに成功しました。");
|
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.