Hitachi

HiRDB XML拡張機能 HiRDB XML Extension Version 10


5.4.6 XMLデータ変換コマンド(phdxmlcnv)によるESIS-B形式データの生成

この節では,XML変換ライブラリの提供するコマンドを使ったESIS-B形式データ生成について説明します。

〈この項の構成〉

(1) 機能

XMLデータから,ESIS-B形式のデータを作成します。

(2) 形式

phdxmlcnv -h ESIS-B形式データ変換定義ファイル 
          -e エラー情報出力ファイル
          -m 変換後データ文字コード種別
         [-r]

(3) 引数

-h ESIS-B形式データ変換定義ファイル

変換前のXMLデータ,出力先ファイル名を定義した,定義ファイル名を指定します。

このファイル形式の詳細については,「(7)ESIS-B形式データ変換定義ファイルの項目」を参照してください。

-e エラー情報出力ファイル

XMLデータ変換中にエラーが発生した場合,変換に失敗したXMLデータとエラー要因を出力するファイル名を指定します。このとき,エラー情報の文字コードは,-mの指定値に合わせて出力されます。

エラー要因については,「(6)エラー要因とリターンコード」を参照してください。

-m 変換後データ文字コード種別

変換後のデータの文字コード種別を指定します。この文字コード種別は,変換後のデータ(ESIS-B形式ファイル)を登録するHiRDBの文字コードに合わせて指定します。ただし,文字コード種別がUS-ASCIIの場合は,文字コードがsjis,ujis,utf-8のHiRDBに登録できます。

指定できる文字コード種別を次に示します。

  • SJIS_MS

  • SJIS_JIS

  • SJIS

  • UTF_8_MS

  • UTF_8_JIS

  • EUC_JP

  • US_ASCII

注※

「SJIS」と指定した場合,実行環境として使用しているJavaのバージョンによって「SJIS_MS」と「SJIS_JIS」のどちらかで認識されます。Cosminexus Developer's Kit for Javaでは「SJIS_JIS」として認識します。

-r

同じ名称のファイルがすでに登録されている場合は,新しいファイルに置き換えます。

引数に指定するファイル名およびディレクトリ名に使用できる文字は,半角文字の英数字および記号です。使用できる記号を次に示します。

Windowsで引数のパス名に空白を含めたい場合は,前後を引用符(”)で囲んでください。

(4) 実行時の設定

XMLデータ変換コマンドを使用するための環境変数の設定について説明します。

(a) UNIXの場合

環境変数名

PDDIR

指定値
HiRDB運用ディレクトリ

HiRDB/Run Time,またはHiRDB/Developer's Kitでphdxmlcnvコマンドを使用する場合は,環境変数PDDIRの代わりに環境変数PDXMLCNVPATHに次の値を指定します。

PDXMLCNVPATH=/opt/HiRDB/client/lib

なお,PDDIRとPDXMLCNVPATHが同時に指定されている場合はPDXMLCNVPATHの値が優先されます。

(b) Windowsの場合

環境変数名

PATH

指定値
Cosminexusのインストールフォルダ\jdk\bin
環境変数名

PHD_XMLCNV_COSMINEXUS_PATH

指定値
Cosminexusのインストールフォルダ
環境変数名

PDDIR

指定値

HiRDB運用ディレクトリ

HiRDB/Run Time,またはHiRDB/Developer's Kitでphdxmlcnvコマンドを使用する場合は,環境変数PDDIRの代わりに環境変数PDXMLCNVPATHに次の値を指定します。

PDXMLCNVPATH=HiRDB/Run Time,HiRDB/Developer's Kitインストールディレクトリ\utl

なお,PDDIRとPDXMLCNVPATHが同時に指定されている場合はPDXMLCNVPATHの値が優先されます。

(c) UNIX,Windows共通

EJB クライアントアプリケーションとしてXMLデータ変換コマンド(phdxmlcnv)を動作させるため,ユーザ定義ファイルの作成,および環境変数を設定することを推奨します。これによってトラブルシュート用の情報が出力され,障害調査に使用できます。なお,この設定を省略した場合でも,XMLデータ変換コマンドは動作します。

環境変数名

PHD_XMLCNV_CONFPATH

指定値

EJB クライアントアプリケーション用のユーザ定義ファイル格納ディレクトリパス

EJB クライアントアプリケーション用のユーザ定義ファイルを次に示します。

  • usrconf.cfg

  • usrconf.properties

各ファイルを次の説明に従って作成してください。

■ usrconf.cfgファイルの定義内容

次の定義を記述してください。

ejb.client.log.directory=<log_directory_base>
ejb.client.ejb.log=<log_directory_name>
ejb.client.log.stdout.enabled=false
add.jvm.arg=-XX:-HitachiOutOfMemoryAbort

定義内容

説明

<log_directory_base>

ログファイルの出力先ディレクトリを絶対パスで指定します。

<log_directory_name>

ejb.client.log.directoryキーに指定したディレクトリ下の,EJBクライアントアプリケーションが出力するメッセージログ出力先ディレクトリ名を指定します。

注意事項
  • <log_directory_base>,および<log_directory_name>以外は固定です。

  • ログファイルは,<log_directory_base>+<log_directory_name>のディレクトリ下に作成されます。

  • <log_directory_base>,および<log_directory_name>に指定するディレクトリには,XMLデータ変換コマンドを実行するユーザのアクセス権が必要です。

  • 複数のXMLデータ変換コマンドを同時に実行する場合,それぞれログ出力が異なる内容のユーザ定義ファイルを作成し,PHD_XMLCNV_CONFPATH設定値を各定義ファイル格納ディレクトリパスに設定してください。

  • 指定値については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

■ usrconf.propertiesファイルの定義内容

usrconf.propertiesファイルには,ログファイルの出力量を指定します。デフォルトでのログファイル出力量は数十MBです。ログファイルの出力量を変更する場合は,次の定義を記述してください。

ejbserver.logger.channels.define.<チャネル名>.filenum=<file_num>
ejbserver.logger.channels.define.<チャネル名>.filesize=<file_size>

定義内容

説明

<file_num>

ログファイル面数を指定します。

<file_size>

1面あたりのログファイルサイズを指定します。

<チャネル名>

次のどれかを指定できます。

  • ClientMessageLogFile

  • ClientExceptionLogFile

  • ClientMaintenanceLogFile

  • EJBContainerLogFile

  • UserOutLogFile

  • UserErrLogFile

注意事項
  • usrconf.propertiesファイルは,デフォルトでも十分な情報を取得できます。デフォルトでXMLデータ変換コマンドを実行する場合,0バイトの空ファイルとしてusrconf.propertiesファイルを作成してください。

  • 指定値については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(5) 環境変数によるESIS-B形式データ生成時の設定変更

次の表に示す環境変数を定義することによりXML変換時の設定を変更してESIS-B形式データを生成することができます。

環境変数に正しくない値を設定しているとphdxmlcnvコマンド実行時にエラ−となります。

表5‒3 phdxmlcnvコマンド実行時に指定できる環境変数一覧

環境変数名

設定可能な値

(括弧内はデフォルト値)

説明

PHD_XMLCONVERTER_VALIDATE

ON/OFF(OFF)

変換するXMLデータに対して妥当性検証を行います。

PHD_XMLCONVERTER_EXTERNAL_ENTITY

ON/OFF(ON)

変換するXMLデータ内で指定している解析対象外部エンティティをESIS-B形式データに含めます。

PHD_XMLCONVERTER_XMLSCHEMA

ON/OFF(OFF)

変換するXMLデータに対してXMLSchemaによる妥当性検証を行います。

PHD_XMLCONVERTER_REGULAR_FOR_TEXT

ON/OFF(ON)

XMLデータ内のタグ間のテキストを正規化します。

PHD_XMLCONVERTER_ORIGINAL_XML

ON/OFF(ON)

原文を保持します。

(6) エラー要因とリターンコード

コマンド実行時にエラーが発生した場合は,次に示す原因が考えられます。

phdxmlcnvコマンドのリターンコードを次の表に示します。

表5‒4  phdxmlcnvコマンドのリターンコード

リターンコード

要因

0

正常終了

1

一部のXMLで変換を失敗

-1

上記要因以外でエラー終了

環境が正しく設定されていない場合,上記以外のリターンコードが出力されるときがあります。

(7) ESIS-B形式データ変換定義ファイルの項目

ESIS-B形式データ変換定義ファイルの項目を次の表に示します。

表5‒5  ESIS-B形式データ変換定義ファイルの項目

項目

指定内容

省略可否

変換前XMLデータ絶対パス名

変換するXMLデータファイル名を絶対パスで指定します。

不可

変換後データ格納先ファイル名

変換後のESIS-B形式データを格納するファイル名を絶対パスで指定します。

不可

フィルタ情報定義ファイル名

変換するXMLデータに対して,XML構造によるフィルタリングを行う場合は,フィルタ情報定義ファイル名を絶対パスで指定します。

指定例を次に示します。

指定例
/users/xmldoc/xml1.xml,/users/outdoc/outdoc1
/users/xmldoc/xml2.xml,/users/outdoc/outdoc2,/users/filter1.txt
/userx/xmldoc/xml3.xml,/users/outdoc/outdoc3,/users/filter2.txt
:
:

(8) メモリ不足の対処

XMLデータ変換コマンド(phdxmlcnv)実行中にメモリ不足が発生した場合,次の環境変数名を指定して,XMLデータ変換コマンド(phdxmlcnv)が使用できるメモリを増やしてください。

環境変数名

PHD_XMLCNV_MAXMEM

指定値

2〜システムで利用できる仮想メモリ量(単位:MB)

指定値の目安
max ( 64,XMLファイルの最大サイズ[MB]×100)

(9) 注意事項