4.10.1 タクソノミー文書の読み込み
XBRL Dimensions1.0に準拠したタクソノミー文書を読み込み,XBRL DOMを生成するサンプルコードについて説明します。XBRL Dimensions1.0の場合,タクソノミー文書の読み込み時にXBRL Dimensionsのバージョンを指定する必要があります。
ここでは,検証時にエラーや警告が発生した場合のレポートを受け取り,出力するエラーハンドラと,検証時にローカルに保存したスキーマ定義を使用するエンティティリゾルバも実装します。エラーハンドラおよびエンティティリゾルバの詳細については,「4.13 エラーハンドラ」および「4.14 エンティティリゾルバ」を参照してください。
- <この項の構成>
- (1) 使用するクラスおよびインターフェース
- (2) サンプルコード
(1) 使用するクラスおよびインターフェース
タクソノミー文書の読み込みで使用するクラスおよびインターフェースを次の表に示します。
表4-44 タクソノミー文書の読み込みで使用するクラスおよびインターフェース
項番 | 使用するクラスおよびインターフェース | 説明 |
---|
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 | タクソノミー文書全体を表します。 |
5 | com.hitachi.xbrl.util.XBRLConstants | ユーザーアプリケーションで利用できる定数を定義します。 |
(2) サンプルコード
タクソノミー文書を読み込むコードは次のとおりです。
/*
* タクソノミー文書を読み込む
*/
// 初期化
XBRLDocumentManager.init();
// XBRLDocumentManagerの取得
XBRLDocumentManager dm = XBRLDocumentManager.getInstance();
// XBRLTaxonomyDocumentBuilderFactoryの作成
XBRLTaxonomyDocumentBuilderFactory tbf =
dm.newTaxonomyDocumentBuilderFactory();
// XBRLバージョンの設定
tbf.setXBRLVersion(XBRLConstants.XBRL_2_1);
tbf.setDemensionsVersion(XBRLConstants.DIMENSIONS_1_0);
// タクソノミー文書のパース時に妥当性検証を行う設定
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_xbrl_dim_taxonomy.xsd";
File[] taxonomy = { new File(filename) };
XBRLTaxonomyDocument tdoc = tb.parse(taxonomy);
System.out.println("タクソノミー文書のパースに成功しました。"); |