EDMXmlMapXML定義ファイルの追加/更新/削除

機能

DocumentBrokerの使用するXML定義ファイルを追加,更新,および削除します。次に示す四つの機能を持ちます。

  1. 新規マッピング定義の追加および更新機能
    HiRDB Adapter for XMLのマッピング定義ファイルを作成します。
  2. フィルタリング定義ファイルの追加および更新機能
  3. マッピング定義一覧の表示機能
  4. 指定マッピング定義の削除機能

形式

EDMXmlMap  {  -p プロパティマッピング定義ファイル名(DPM)
             -m マッピング定義名
             -c マッピング元XMLタグ定義ファイル名(DCD)
           〔-t フィルタリング定義ファイル名(TFD)〕
           〔-u〕
           |
             -m マッピング定義名
             -t フィルタリング定義ファイル名(TFD)
           〔-u〕
           |
             -l
           |
             -d マッピング定義名
          }

オプション

-p
プロパティマッピング定義ファイル(DPM)のパス名を指定します。
-m
マッピング定義名を指定します。追加したマッピング定義を,この定義名で使用できるようになります。また,指定した定義名は,次に示すファイルのファイル名の一部として使用されます。
  • 作成するマッピング定義ファイル(XMP)
  • 複製(コピー)されるマッピング元XMLタグ定義ファイル(DCD)
  • 複製(コピー)されるフィルタリング定義ファイル(TFD)
ただし,定義名には,全角文字を指定できません。また,パス名の長さにはOSに依存した上限値があるため,指定するマッピング定義名には,ディレクトリ名と文書空間識別子および拡張子の長さも考慮して,作成するファイルがパス名の上限値を超えないように値を指定してください。なお,マッピング定義名は,HiRDB Adapter for XMLでマッピング名として使用しますので,マッピング名の規則に従った値を指定してください。
-c
使用するマッピング元XMLタグ定義ファイル(DCD)のパス名を指定します。
指定されたDCDファイルのコピーを,$DOCBROKERDIR/etc/xml_files/'文書空間識別子'_'マッピング定義名'.dcd として作成します。
-t
使用するフィルタリング定義ファイル(TFD)のパス名を指定します。
指定されたTFDファイルのコピーを,$DOCBROKERDIR/etc/xml_files/'文書空間識別子'_'マッピング定義名'.tfd として作成します。
-u
マッピング定義の上書きの実行を指定します。このオプションを指定しないと次に示す場合にはエラーになり,マッピング定義の上書きを実行できません。
  1. 同名のマッピング定義がすでにXMSファイルに登録されている場合
  2. DCDファイルの複製(コピー)時,同名のDCDファイルが出力先ディレクトリに存在する場合
  3. TFDファイルの複製(コピー)時,同名のTFDファイルが出力先ディレクトリに存在する場合
  4. 作成するXMPファイルと同名のファイルが,出力先ディレクトリに存在する場合
このオプションを指定すると上書き不可のエラーは回避できますが,上記の四つすべての条件について判定されません。このため,このオプションを指定する場合は,マッピング定義の上書きを実行しても問題がないかどうか十分注意してください。
-l
マッピング定義の一覧の表示を指定します。このオプションを指定する場合,単独で指定してください。ほかのオプションと同時に指定した場合,エラーになります。
-d
マッピングセット定義ファイル(XMS)中から削除するマッピング定義を指定します。特定のマッピング定義を削除したい場合に指定します。このオプションを指定する場合,単独で指定してください。ほかのオプションと同時に指定した場合,エラーになります。

コマンドの使用方法

このコマンドには,4種類の使用方法があります。

それぞれの方法について説明します。

新規マッピング定義を追加してマッピングセット定義を更新する場合

新規マッピング定義を追加してマッピングセット定義を更新する場合は,次に示す形式でコマンドを実行します。

形式

EDMXmlMap   -p プロパティマッピング定義ファイル名(DPM)
           -m マッピング定義名
           -c マッピング元XMLタグ定義ファイル名(DCD)
         〔-t フィルタリング定義ファイル名(TFD)〕
         〔-u〕

実行する処理
指定されたプロパティマッピング定義ファイル(DPM)を解析してマッピング定義に変換し,マッピング定義ファイル(XMP)を作成します。さらに,マッピング元XMLタグ定義ファイル(DCD)とフィルタリング定義ファイル(TFD)を登録用に名称を変更して複製(コピー)します。また,作成したマッピング定義を指定されたマッピング定義名で使用できるように,マッピングセット定義ファイル(XMS)を更新します。
コマンドが作成および参照するファイルの名称を次に示します。
  • マッピング定義ファイル(XMP)
    '文書空間識別子'_'マッピング定義名'.xmp
  • マッピング元XMLタグ定義ファイル(DCD)
    '文書空間識別子'_'マッピング定義名'.dcd
  • フィルタリング定義ファイル(TFD)
    '文書空間識別子'_'マッピング定義名'.tfd
  • マッピングセット定義ファイル(XMS)
    '文書空間識別子名'.xms
これらのXML定義ファイルは,次に示すディレクトリに格納されます。
$DOCBROKERDIR/etc/xml_files
登録済みのマッピング定義を使用した場合,この登録済みのマッピング定義を更新します。この時点で,TFDファイルを指定しない場合は,TFDファイルは登録済みのファイルが継続して使用されます。
実行例
コマンドの実行例を説明します。
$DOCBROKERDIR/etc/xml_files の下に「MAPPING.dpm」という名称のDPMファイルと「BASE.dcd」という名称のDCDファイルを格納し,「SAMPLE」というマッピング定義名でコマンドを実行します。
  • この場合,新規に作成されるのは'文書空間識別子'_SAMPLEという名前を持つDCDファイルとXMPファイルの組です。
  • 作成したマッピング定義を使用するには,クライアント環境に「文書空間識別子」のプリフィクスの付いたXMSファイル,XMPファイル,およびDCDファイルを複製(コピー)する必要があります。
コマンドの指定形式を次に示します。
コマンドの指定形式

EDMXmlMap  -p $DOCBROKERDIR/etc/xml_files/SAMPLE.dpm
          -m SAMPLE
          -c $DOCBROKERDIR/etc/xml_files/BASE.dcd

このコマンドの実行によって作成されるファイルを次の表に示します。

表7-10 コマンドの実行によって作成されるファイル

コマンドの実行状態コマンド実行前コマンド実行後
ディレクトリに格納されるファイル
  • MAPPING.dpm
  • BASE.dcd
  • '文書空間識別子'.xms
  • MAPPING.dpm
  • BASE.dcd
  • '文書空間識別子'_SAMPLE.dcd(複製)
  • '文書空間識別子'_SAMPLE.xmp(作成)
  • '文書空間識別子'.xms(更新)

なお,これらのファイルは次のディレクトリに格納されます。

$DOCBROKERDIR/etc/xml_files/

 

フィルタリング定義ファイルを追加してマッピング定義を更新する場合

既存のマッピング定義にフィルタリング定義ファイル(TFD)を追加してマッピング定義を更新する場合,次に示す形式でコマンドを実行します。

形式

EDMXmlMap  -m マッピング定義名
          -t フィルタリング定義ファイル名(TFD)
        〔-u〕

実行する処理
指定されたフィルタリング定義ファイル(TFD)の複製(コピー)が,出力先のディレクトリに,'文書空間識別子'_'マッピング定義名'.tfdというファイル名で作成されます。この処理は,TFDファイルがない登録済みのマッピング定義にTFDファイルを追加したり,登録済みのTFDファイルだけを更新したりする場合に実行します。
なお,指定されたマッピング定義がマッピングセット定義ファイル(XMS)に登録されていない場合は,エラーになります。

 

マッピング定義を一覧表示する場合

すでにマッピングセット定義ファイル(XMS)に登録されているマッピング定義の一覧を表示する場合,次に示す形式でコマンドを実行します。

形式

EDMXmlMap   -l

実行する処理
マッピングセット定義ファイル(XMS)を参照して,登録されているマッピング定義の情報を一覧表示します。表示される情報を次に示します。
  • マッピング定義名
  • マッピング定義の追加および更新日時
  • マッピング定義使用クラス名(dmaClass_ConfigurationHistoryクラスのサブクラス)
  • マッピング定義使用クラス名(dmaClass_DocVersionクラスのサブクラス)
  • フィルタリング定義ファイル(TFD)の有無
有効なマッピング定義が登録されていない場合には,一覧表示されないで,警告メッセージが出力されます。
実行結果
このコマンドオプションを指定して,コマンドを実行した結果を次の図に示します。

図7-1 マッピング定義の一覧表示

[図データ]
  • 表示は,すべて左寄せで出力されます。
  • 更新日時のあとに4カラム空けて,TFDファイルの有無の情報を出力します(「Exist」か「NotExist」のどちらかを出力します)。
  • マッピング定義名が26カラムを超える場合には,マッピング定義名をすべて出力したあと,4カラム空けて更新日時を続けて出力します。そのあと,4カラム空けてTFDファイルの有無を出力します。
  • クラス名は,50カラムを超えてもそのまま出力します。
  • dmaClass_ConfigurationHistoryクラス,またはdmaClass_DocVersionクラスのサブクラスのマッピング定義が登録されていなければ,「-」(マイナス記号)を出力します。

 

マッピング定義を削除する場合

登録済みのマッピング定義を使用できないように,マッピング定義一覧から指定マッピング定義を削除する場合,次に示す形式でコマンドを実行します。

形式

EDMXmlMap   -d  削除するマッピング定義名

実行する処理
指定されたマッピング定義がマッピングセット定義ファイル(XMS)に登録されていれば,その定義情報を削除します。この場合,$DOCBROKERDIR/etc/xml_filesに存在する,次に示す名称のファイルを削除します。
  • '文書空間識別子'_'マッピング定義名'.xmp
  • '文書空間識別子'_'マッピング定義名'.dcd
  • '文書空間識別子'_'マッピング定義名'.tfd
なお,指定されたマッピング定義が存在しない場合,エラーになります。
また,登録済みのマッピング定義からフィルタリング定義ファイル(TFD)だけを削除することはできません。

注意事項