uCosminexus Business Reporting Processor 開発者ガイド

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

4.3.1 タクソノミー文書の読み込み

XBRL2.0に準拠したタクソノミー文書を読み込み,XBRL DOMを生成するサンプルコードについて説明します。XBRL DOMの生成時にタクソノミー文書の妥当性を検証するには,setValidating()メソッドを実行します。

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

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

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

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

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

項番 使用するクラスおよびインターフェース 説明
1 com.hitachi.xbrl.XBRLDocumentManager XBRL文書の入出力や,タクソノミー文書のキャッシュを管理します。
2 com.hitachi.xbrl.taxonomy.XBRLTaxonomyDocumentBuilderFactory XBRLTaxonomyDocumentBuilderオブジェクトを生成するためのAPIを定義します。
3 com.hitachi.xbrl.taxonomy.XBRLTaxonomyDocumentBuilder タクソノミー文書からXBRLTaxonomyDocumentオブジェクトを取得するためのAPIを定義します。
4 com.hitachi.xbrl.taxonomy.XBRLTaxonomyDocument タクソノミー文書全体を表します。

(2) サンプルコード

タクソノミー文書の読み込みのコードは次のとおりです。このサンプルコードではsetValidating()メソッドがコメントアウトされていますが,妥当性検証はデフォルトの設定で実施されるため,このサンプルコードを使用しても妥当性検証が実行されます。

/*
 * タクソノミー文書を読み込む
 */
 
// 初期化
XBRLDocumentManager.init();
/*
 * プロパティファイルを利用して初期化する場合は,ファイルの絶対パスを指定します
 * 例:
 * XBRLDocumentManager.init("C://Program Files/HITACHI/cbrp/properties/cbrp.properties");
 */
// XBRLDocumentManagerの取得
XBRLDocumentManager dm = XBRLDocumentManager.getInstance();
 
// XBRLTaxonomyDocumentBuilderFactoryの作成
XBRLTaxonomyDocumentBuilderFactory tbf =
    dm.newTaxonomyDocumentBuilderFactory();
// タクソノミー文書のパース時に妥当性検証を行う設定
// tbf.setValidating(true);
 
// XBRLTaxonomyDocumentBuilderの作成
XBRLTaxonomyDocumentBuilder tb = tbf.newTaxonomyDocumentBuilder();
 
// エラーハンドラの設定
SampleErrorHandler eh = new SampleErrorHandler();
tb.setErrorHandler(eh);
 
// エンティティリゾルバの設定
SampleEntityResolver er = new SampleEntityResolver();
tb.setEntityResolver(er);
 
// タクソノミー文書のパース
String filename = "input/sample_taxonomy1.xsd";
File[] taxonomy = { new File(filename) };
XBRLTaxonomyDocument tdoc = tb.parse(taxonomy);
 
System.out.println("タクソノミー文書のパースに成功しました。");