4.9.5 タクソノミー文書の保存

拡張したタクソノミー文書を保存するサンプルコードについて説明します。

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

(1) 使用するインターフェース

タクソノミー文書の保存で使用するインターフェースを次の表に示します。

表4-43 タクソノミー文書の保存で使用するインターフェース

項番使用するインターフェース説明
1com.hitachi.xbrl.util.XBRLDocumentWriterFactoryXBRLDocumentWriterオブジェクトを生成するためのAPIを提供します。
2com.hitachi.xbrl.util.XBRLDocumentWriterorg.w3c.Documentをストリームに書き出します。
3com.hitachi.xbrl.simple.taxonomy.SimpleTaxonomy編集できる単純なタクソノミー文書全体を表します。

(2) サンプルコード

タクソノミー文書を保存するコードは次のとおりです。

// 単純なタクソノミー文書を表すSimpleTaxonomyからorg.w3c.Documentへ変換
Document[] docs = sdoc.transform();

// XBRLDocumentWriterFactoryの作成
XBRLDocumentWriterFactory wf = dm.newDocumentWriterFactory();

// XBRLDocumentWriterの作成
XBRLDocumentWriter writer = wf.newDocumentWriter();
writer.setIndent(true);

// タクソノミースキーマを保存する
FileOutputStream schemaFile =
   new FileOutputStream("output/simple_extension_taxonomy.xsd");
writer.write(schemaFile, docs[0]);
schemaFile.close();

// ラベルリンクを保存する
FileOutputStream labelFile =
   new FileOutputStream("output/simple_extension_taxonomy_label.xml");
writer.write(labelFile, docs[1]);
labelFile.close();

このサンプルコードは,編集できるタクソノミー文書全体を表すSimpleTaxonomyオブジェクトのtransform()メソッドを使い,タクソノミー本体,ラベルリンクベースをそれぞれに対応するorg.w3c.dom.Documentオブジェクトへ変換します。変換後のDocumentオブジェクトは,XML形式のファイルに次の名称で保存します。