XBRL2.1に準拠したタクソノミー文書を読み込み,XBRL DOMを生成するサンプルコードについて説明します。XBRL DOMの生成時にタクソノミー文書の妥当性を検証するには,setValidating()メソッドを実行します。また,XBRL2.1の場合,タクソノミー文書の読み込み時にXBRLのバージョンを指定する必要があります。
ここでは,検証時にエラーや警告が発生した場合のレポートを受け取り,出力するエラーハンドラと,検証時にローカルに保存したスキーマ定義を使用するエンティティリゾルバも実装します。エラーハンドラおよびエンティティリゾルバの詳細については,「4.13 エラーハンドラ」および「4.14 エンティティリゾルバ」を参照してください。
タクソノミー文書の読み込みで使用するクラスおよびインターフェースを次の表に示します。
表4-20 タクソノミー文書の読み込みで使用するクラスおよびインターフェース
項番 | 使用するクラスおよびインターフェース | 説明 |
---|---|---|
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 | ユーザーアプリケーションで利用できる定数を定義します。 |
タクソノミー文書を読み込むコードは次のとおりです。
/* |
さらに,cbrp.parse.validate.full-checkingプロパティを使えば,XBRL 2.1 Conformance Suite 1.0に示されたすべての検証を実行できます。ただし,このプロパティはcbrp.parse.validateプロパティがtrueの場合だけ有効です。
この検証では,関係ネットワーク上に禁止されているサイクル(循環など)がないかなど,多くの処理時間やメモリリソースを要する検証を実行します。信頼できるタクソノミー文書に対してはこの検証は必要ありませんが,新規作成したタクソノミー文書がXBRL2.1に完全に適合しているか検証したい場合などに有効です。
この検証を実行するには,次の内容をコードに追加してください。
//タクソノミー文書パース時に完全な妥当性検証を実施する |