XML変換機能を用いたアプリケーションは、以下の流れで処理を行います。
各クラスおよびメソッドの詳細については、“付録K StudioまたはApworksを利用したアプリケーション開発”を参照してください。
注意
変換データ量が多い場合には、Java実行環境のヒープ領域が不足する場合があります。その場合には、Java実行環境のヒープサイズを大きくすることで回避できます。
Java実行環境のヒープサイズは、Javaコマンドのオプションで指定することにより変更できます。
Javaコマンドの実行例を以下に示します。
例
Javaアプリケーション(AppClass)のJavaヒープサイズの最大サイズを256MBに設定する場合
Java -Xmx256m AppClass
データベースからXML文書に変換する場合の処理手順を、以下に示します。
データベースへの接続
データベースへの接続要求を行い、接続を確立します。
ResultSetオブジェクトの作成
SQLによりデータベース検索を行い、ResultSetオブジェクトを取得します。
注意
XML変換機能は、スクロール可能なResultSetオブジェクトを対象としています。
JDBCで、Statementオブジェクトを作成する場合、ResultSetクラスの定数にTYPE_FORWORD_ONLYを指定すると、XML変換機能はResultSetにデータがない旨のエラーを出力します。
この場合、TYPE_SCROLL_SENSITIVEまたはTYPE_SCROLL_INSENSITIVEを指定してください。
GeneratorMapオブジェクトの作成
マッピングルールファイルを指定し、GeneratorMapオブジェクトを作成します。
XMLGeneratorオブジェクトの作成
XMLGeneratorオブジェクトを作成します。
DocumentFountainオブジェクトの作成
XMLGeneratorオブジェクトの文書生成メソッドcreateDocumentFountain()を呼び出します。その際、引数として、ResultSetオブジェクトおよびGeneratorMapオブジェクトのほかに、出力形式および出力形式に応じた必要な情報を指定します。その結果、DocumentFountainオブジェクトが生成され、アプリケーションに返却されます。
なお、DocumentFountainオブジェクトから取り出すXML文書の出力形式は、この時点で決定されます。
出力時の文字コードの設定
アプリケーションから、DocumentFountainオブジェクトの文字コードの設定メソッドsetEncoding()を呼び出し、生成されるXML文書の文字コードを指定します。
文字コードを指定しない場合は、“UTF-8”が指定されたとみなします。
XML文書の出力
DocumentFountainオブジェクトの文書取出しメソッドgetXMLDocument()を呼び出し、以下のいずれかの形式でXML文書を受け取ります。
String
Stream
ファイル
DOMツリー
SAX
なお、1つのResultSetオブジェクトから複数のXML文書を生成する場合は、文書取出しメソッドgetXMLDocument()を複数回呼び出すことで、順にXML文書が生成され、アプリケーションに返却されます。
CSVファイルからXML文書に変換する場合の処理手順を、以下に示します。
CSVSourceオブジェクトの作成
指定されたCSVファイル名から、CSVSourceオブジェクトを作成します。
CSVファイル情報の設定
作成したCSVSourceオブジェクトに対して、以下の設定を行います。
文字コードの設定
設定内容に基づいてCSVファイルを読み込み、読み込まれたCSVファイルの内容をString型に変換します。
文字コードを指定しない場合は、システムのデフォルトエンコーディングが指定されたとみなします。
区切り文字の設定
CSVファイル内で使用される区切り文字を設定します。
カンマ(,)、タブ(\t)、空白( )を指定可能です。
デフォルトは、カンマ(,)です。
引用符文字の設定
CSVファイル内で使用される引用符文字を設定します。
単一引用符(\’)、二重引用符(\”)を指定可能です。
デフォルトは、引用符文字は設定されません。
区切り文字、引用符文字、「\」のデータ記述方法の設定
区切り文字、引用符文字、「\」をデータとして記述する方法を設定します。
デフォルトは、各文字の前に「\」を付加する方法です。
null表現の文字を設定
CSVファイル内で使用されるnull値を表現する文字を設定します。
空白文字以外の表示可能な文字列を指定可能です。
デフォルトは、空文字("")です。
列名の設定
CSVファイル内の1行目を列名とするか否かを設定します。
デフォルトは、「列名としない」です。
データ保持方法の設定
CSVResultSet内でのデータ保持方法を設定します。
保持方法は以下の2種類のいずれかから選択します。
シーケンシャルに読み込む
メモリ消費が少ないが、処理性能が悪い場合があります。
メモリ上に展開する
処理性能が良いが、メモリを多く消費する場合があります。
デフォルトは、「シーケンシャルに読み込む」です。
CSVResultSetオブジェクトの作成
作成したCSVSourceオブジェクトから、CSVResultSetを取得します。
GeneratorMapオブジェクトの作成
マッピングルールファイルを指定し、GeneratorMapオブジェクトを作成します。
XMLGeneratorオブジェクトの作成
XMLGeneratorオブジェクトを作成します。
DocumentFountainオブジェクトの作成
XMLGeneratorオブジェクトの文書生成メソッドcreateDocumentFountain()を呼び出します。その際、引数として、ResultSetオブジェクトおよびGeneratorMapオブジェクトのほかに、出力形式および出力形式に応じた必要な情報を指定します。その結果、DocumentFountainオブジェクトが生成され、アプリケーションに返却されます。
なお、DocumentFountainオブジェクトから取り出すXML文書の出力形式は、この時点で決定されます。
出力時の文字コードの設定
アプリケーションから、DocumentFountainオブジェクトの文字コードの設定メソッドsetEncoding()を呼び出し、生成されるXML文書の文字コードを指定します。
文字コードを指定しない場合は、“UTF-8”が指定されたとみなします。
XML文書の出力
DocumentFountainオブジェクトの文書取出しメソッドgetXMLDocument()を呼び出し、以下のいずれかの形式でXML文書を受け取ります。
String
Stream
ファイル
DOMツリー
SAX
なお、1つのResultSetオブジェクトから複数のXML文書を生成する場合は、文書取出しメソッドgetXMLDocument()を複数回呼び出すことで、順にXML文書が生成され、アプリケーションに返却されます。
注意
CSVファイルに格納されているデータについて
XML変換機能の対応するCSV形式については、“H.8 XML変換機能の対応するCSV形式”を参照してください。