3.11.3 XML文書管理機能を使用した文書の管理

ここでは,XML文書管理機能を使用したXML文書の管理方法について説明します。

<この項の構成>
(1) XML文書管理機能を使用するための準備
(2) XML文書のプロパティにマッピングするプロパティ情報の取得
(3) XML文書を構造指定検索するためのインデクスデータの作成
(4) イメージファイルなど関連を持つファイルの管理

(1) XML文書管理機能を使用するための準備

まず,XMLプロパティマッピングに使用する定義ファイル類を解析して,XML文書管理機能を実行するためのCdbrXmlTranslatorオブジェクトを作成します。これには,CdbrXmlTranslatorFactoryクラスの機能を使用します。

手順を次に示します。

  1. CdbrXmlTranslatorFactory::Initializeメソッドをコールして,CdbrXmlTranslatorFactoryオブジェクトを初期化します。
    このメソッドによって,XMLプロパティマッピングに使用する定義ファイルが解析されます。
  2. CdbrXmlTranslatorFactory::CreateTranslatorメソッドをコールして,CdbrXmlTranslatorオブジェクトを作成します。
    XML文書管理機能を使用するために必要なCdbrXmlTranslatorオブジェクトを作成します。

(2) XML文書のプロパティにマッピングするプロパティ情報の取得

XMLプロパティマッピング機能を使用して,バージョンなしオブジェクトまたはバージョン付きオブジェクトに設定するプロパティの情報を取得します。

「(1)XML文書管理機能を使用するための準備」で示した手順でCdbrXmlTranslatorオブジェクトを作成した状態で,CdbrXmlTranslator::GetDmaInfoListメソッドをコールします。XMLファイルが構文解析されて,プロパティマッピングするためのDMAオブジェクト生成用の構造体(SDBR_DMAINFO構造体)が作成されます。

ここで取得した構造体は,次の時に使用します。

(3) XML文書を構造指定検索するためのインデクスデータの作成

XMLインデクスデータ作成機能を使用して,バージョンなしオブジェクトまたはバージョン付きオブジェクトの全文検索インデクスとして登録するインデクスデータを作成します。

「(1)XML文書管理機能を使用するための準備」で示した手順でCdbrXmlTranslatorオブジェクトを作成した状態で,CdbrXmlTranslator::GetDmaInfoListメソッドまたはCdbrXmlTranslator::GetIndexDataメソッドをコールします。XMLファイルが構文解析されて,インデクスデータがファイルに出力されます。このとき,フィルタリング定義ファイルの内容によって,不要なタグの情報も除去できます。

なお,GetDmaInfoListメソッドとGetIndexDataメソッドのどちらのメソッドをコールした場合も,構文解析が実行されます。XMLプロパティマッピング機能も使用する場合は,GetDmaInfoListメソッドでSDBR_DMAINFO構造体とインデクスデータを同時に作成することをお勧めします。構文解析が一度で済むため,処理時間が短縮できます。

また,すでにXML文書に登録されているコンテントからは,構造指定検索の対象になるインデクスデータを作成できません。インデクスデータは,クライアント環境にあるXMLファイル(file://で指定できるパスのファイル)を指定して作成してください。

XMLインデクスデータ作成機能で出力したインデクスデータ出力ファイルは,次の時に使用できます。

(4) イメージファイルなど関連を持つファイルの管理

DocumentBrokerでXML文書として管理できるのは,一つのファイルから構成されるXMLファイルだけです。

イメージファイルなどの外部エンティティもDocumentBrokerでまとめて管理したい場合は,文書間リレーションやコンテナを使用して管理してください。XML文書およびイメージファイルをバージョン付き文書,コンテナを構成管理コンテナとして作成すれば,XML文書とイメージファイルの構成管理もできます。

文書間リレーションについては,「3.8 文書間リレーションを設定した文書管理」を参照してください。コンテナについては,「3.9 コンテナを使用した文書管理」および「3.10 構成管理コンテナを使用した文書の構成管理」を参照してください。