3.2.1 文書を表すクラスの概要

ここでは,CdbrDocumentクラスとCdbrVersionableDocumentクラスの概要について説明します。

<この項の構成>
(1) CdbrDocumentクラスの概要
(2) CdbrVersionableDocumentクラスの概要
(3) CdbrVersionableDocumentオブジェクトとCdbrDocumentオブジェクトの関係

(1) CdbrDocumentクラスの概要

CdbrDocumentクラスの概要について説明します。

(a) 機能

バージョンなし文書は,CdbrDocumentクラスを基にしたオブジェクトとして作成します。

このクラスは,CdbrContainableクラスのサブクラスであり,コンテナの包含要素となる機能を継承しています。

(b) CdbrDocumentクラスを構成するDMAオブジェクト

CdbrDocumentクラスを構成するDMAオブジェクトの種類を次に示します。

DMAオブジェクトについての詳細は,「付録A DMAオブジェクトの概要」を参照してください。

CdbrDocumentクラスのオブジェクトとDMAオブジェクトの関係について次の図に示します。

図3-12 CdbrDocumentクラスのオブジェクトとDMAオブジェクトの関係

[図データ]

なお,この構成は,シングルファイル文書の場合です。マルチファイル文書,リファレンスファイル文書またはFile Link文書の場合は,DMAオブジェクトの構成が異なります。詳細については,それぞれ「3.5 文書のマルチファイル管理」,「3.6 文書のリファレンスファイル管理」および「3.7 File Link連携機能を使用した文書管理」を参照してください。

(2) CdbrVersionableDocumentクラスの概要

CdbrVersionableDocumentクラスの概要について説明します。

(a) 機能

バージョン付き文書は,CdbrVersionableDocumentクラスを基にしたオブジェクトとして作成します。

このクラスは,CdbrVersionableクラスのサブクラスであり,CdbrVersionableクラスのバージョン管理機能を継承しています。したがって,CdbrVersionableDocumentオブジェクトは,バージョンを管理できます。

CdbrVersionableDocumentオブジェクトでは,複数のバージョンをまとめて一つの文書として扱います。文書のバージョン管理については,「3.3 文書のバージョン管理」を参照してください。

また,このクラスは,CdbrContainableクラスのサブクラスであり,CdbrContainableクラスのコンテナの包含要素となる機能も継承しています。

(b) CdbrVersionableDocumentクラスを構成するDMAオブジェクト

CdbrVersionableDocumentクラスを構成するDMAオブジェクトの種類を次に示します。Renditionオブジェクト,ContentTransferオブジェクトについては,CdbrDocumentクラスと同様です。

DMAオブジェクトについての詳細は,「付録A DMAオブジェクトの概要」を参照してください。

CdbrVersionableDocumentクラスのオブジェクトとDMAオブジェクトの関係について次の図に示します。

図3-13 CdbrVersionableDocumentクラスのオブジェクトとDMAオブジェクトの関係

[図データ]

なお,この構成は,シングルファイル文書の場合です。マルチファイル文書,リファレンスファイル文書またはFile Link文書の場合は,DMAオブジェクトの構成が異なります。詳細については,それぞれ「3.5 文書のマルチファイル管理」,「3.6 文書のリファレンスファイル管理」および「3.7 File Link連携機能を使用した文書管理」を参照してください。

(3) CdbrVersionableDocumentオブジェクトとCdbrDocumentオブジェクトの関係

ここでは,CdbrVersionableDocumentオブジェクトとCdbrDocumentオブジェクトの関係について説明します。CdbrVersionableDocumentオブジェクトとして作成されたバージョン付き文書は,それぞれのバージョンに対応する複数のCdbrDocumentオブジェクト(バージョンなし文書)を包含しています。

次の図に,CdbrVersionableDocumentオブジェクトとCdbrDocumentオブジェクトの関係について示します。CdbrVersionableDocumentオブジェクトとして作成された文書は,二つのバージョンを持っています。

図3-14 CdbrVersionableDocumentオブジェクトとCdbrDocumentオブジェクトの関係

[図データ]

CdbrVersionableDocumentオブジェクトの個々のバージョンは,CdbrDocumentオブジェクトに対応しています。このため,CdbrVersionableDocumentクラスを基に作成したCdbrVersionableDocumentオブジェクトの個々のバージョンに対して,CdbrDocumentクラスの機能を使用して操作することができます。また,CdbrDocumentオブジェクトに接続した状態から,自身を1バージョンとしているCdbrVersionableDocumentオブジェクトをたどって,CdbrVersionableDocumentクラスの機能を使用して操作することもできます。

例えば,バージョン付き文書を全文検索したい場合,実際に全文検索の対象となるコンテントは個々のバージョンごとに存在するため,検索は個々のバージョンに対応するCdbrDocumentオブジェクトが対象になります。検索結果としてはCdbrDocumentオブジェクトのトップオブジェクトであるDocVersionオブジェクト(dmaClass_DocVersionクラスのサブクラスを基に作成したDMAオブジェクト)のプロパティ(OIIDなど)が取得できます。しかし,DocVersionオブジェクトのOIIDではバージョン付き文書であるCdbrVersionableDocumentオブジェクトに接続できません。このため,全文検索で取得したCdbrDocumentオブジェクト(バージョンなし文書)を更新し,それをCdbrVersionableDocumentオブジェクト(バージョン付き文書)の新しいバージョンとして追加したい場合などには,次のような手順でCdbrVersionableDocumentオブジェクトに接続してください。

CdbrDocumentオブジェクトのOIIDを基にCdbrVersionableDocumentオブジェクトに接続する手順
  1. 検索で取得したDMAオブジェクトのDocVersionオブジェクトのOIIDを指定して,CdbrDocument::SetOIIDメソッドをコールし,CdbrDocumentオブジェクトに接続します。
  2. CdbrDocument::GetVersionableListメソッドまたはCdbrDocument::GetVersionableListAndLockメソッドによって,接続したCdbrDocumentオブジェクトを1バージョンとして管理しているCdbrVersionableDocumentオブジェクトのOIIDを取得します。
    これによって,1.で接続したCdbrDocumentオブジェクトを1バージョンとするCdbrVersionableDocumentオブジェクトのトップオブジェクトである,DMAオブジェクトのConfigurationHistoryオブジェクトのOIIDが取得できます。
  3. 2.で取得したDMAオブジェクトのConfigurationHistoryオブジェクトのOIIDを指定して,CdbrVersionableDocumentオブジェクトに接続します。