3.5.2 記述形式

プロパティ情報ファイルは複数のセクションから構成されます。各セクションは複数のエントリで構成されます。プロパティ情報ファイル中に同じエントリが指定されていてもチェックしません。

セクション内に同一のプロパティに対する記述が複数ある場合,プロパティの取得はできますが,オブジェクトを作成するときおよびプロパティを設定するときには実行メソッドでエラーになります。プロパティ以外のエントリの場合は,最初に記述されているエントリを有効とします。

セクションとエントリは,次のように記述します。

記述形式は次のとおりです。

[<セクション名>]
(
 (<プロパティ>)...
 〔 link=<コンテインメントの種別> 〕
 〔 mode=<構成管理モード種別> 〕
 〔 { url=<ファイルパス指定>
   | directory= <ディレクトリパス指定>
            〔 files[<ファイル数>]={ <ファイル指定> } 〕 } 〕
 〔 mime='<MIME名>' 〕
 〔 filelink_famname= <コンテント登録先FAM名> 〕
 〔 filelink_contentpath= <コンテント登録先パス指定> 〕
 〔 reference_type= <リファレンス種別> 〕
 〔 reference_contentbasepath= <コンテント格納先ベースパス指定> 〕
 〔 reference_contentpath= <コンテント格納先パス指定> 〕
)

<プロパティ> ::= { <プロパティ設定> | <プロパティ取得> }
<プロパティ設定> ::= { <Scalar型プロパティ設定> |
                       <VariableArray型プロパティ設定> }
<Scalar型プロパティ設定> ::= <プロパティ名>=<値>
<VariableArray型プロパティ設定> ::=
                   <プロパティ名>[<配列数>][<構成要素プロパティ数>]=
                   { <構成要素プロパティ設定> }
<構成要素プロパティ設定> ::=
   { <構成要素プロパティ名>=<値>〔,<構成要素プロパティ名>=<値>〕 }
<プロパティ取得> ::= <プロパティ名>
<値> ::= { <Boolean型プロパティ値> |
           <Integer32型プロパティ値> |
           <String型プロパティ値> }
<Boolean型プロパティ値> ::= { TRUE | FALSE | UNKNOWN }
<Integer32型プロパティ値> ::= <任意の10進数>
<String型プロパティ値> ::= '<任意の文字列>'
<コンテインメントの種別> ::= { DCR | RCR | VCR }
<構成管理モード種別> ::= { FLOATING | FIX }
 
<サブジェクト種別用プロパティ> ::=
 <サブジェクト種別用プロパティ名>={ USR | GRP | SYS }
<サブジェクト種別用プロパティ名> ::= dbrProp_SubjectType
<パーミッション種別用プロパティ設定> ::=
 <パーミッション種別用プロパティ名>=<パーミッション>
<パーミッション> ::={ NONE | CP | <パーミッション論理和> }
<パーミッション論理和> ::=
 { <パーミッション種別> | <パーミッション論理和> |
    <パーミッション種別> }
<パーミッション種別用プロパティ名> ::={ dbrProp_EveryonePermission |
                                        dbrProp_OwnerPermission |
                                        dbrProp_PrimaryGroupPermission |
                                        dbrProp_UserPermission |
                                        dbrProp_Permission
<パーミッション種別> ::={ PRP | PWP | PRC | PWC | PL | PV | PD }
 
<ファイルパス指定> ::={ NONE | DBRSVCONTENT | '<ファイルURL>' }
<ファイルURL> ::= <"file:"で始まるURL>
<ディレクトリパス指定> ::={ NONE | '<ディレクトリURL>' }
<ディレクトリURL> ::= <"file:"で始まるURL>
 
<ファイル数> ::= <任意の10進数>
<ファイル指定> ::= { edmProp_RetrievalName = '<ファイル名>',
                   〔 edmProp_ComponentType = '<コンポーネント種別>' 〕 }, ...
<ファイル名> ::= <任意の文字列>
<コンポーネント種別> ::= <任意の文字列>
<コンテント登録先FAM名> ::='<任意の文字列>'
<コンテント登録先パス指定> ::='<任意の文字列>'
<コンテント格納先ベースパス指定> ::='<任意の文字列>'
<コンテント格納先パス指定> ::='<任意の文字列>'
<リファレンス種別> ::={ NONE | RELATIVE }
 
注※ dbrProp_ACLプロパティまたはdbrProp_SACLプロパティの場合だけ指定します。

記述形式に関する注意事項
filesエントリ,<VariableArray型プロパティ設定>,<構成要素プロパティ設定>および<ファイル指定>で示した波括弧({ })は文字として記述してください。
また,<パーミッション論理和>で示したストローク(|)のうち,2番目のストローク(「<パーミッション論理和> | <パーミッション種別>」の「|」)は,文字として記述してください。
そのほかの波括弧({ })は,ストローク(|)で区切られた項目から一つを選択することを意味します。

次に,セクションと各エントリについて説明します。

<この項の構成>
(1) セクション名
(2) プロパティエントリ
(3) linkエントリ
(4) modeエントリ
(5) urlエントリ
(6) directoryエントリ
(7) filesエントリ
(8) mimeエントリ
(9) filelink_famnameエントリ
(10) filelink_contentpathエントリ
(11) reference_typeエントリ
(12) reference_contentbasepathエントリ
(13) reference_contentpathエントリ
(14) 値の記述方法

(1) セクション名

プロパティ情報ファイルには,プロパティ値を設定または取得するオブジェクトを構成するDMAオブジェクトの,クラスまたはそのサブクラスのクラス名をセクション名として,128バイト以内の半角文字列で記述します。セクション名として記述するクラス名は,クラス定義情報ファイルに記述されている必要があります。セクションは,一つ以上のエントリで構成されます。セクションを構成するエントリについて次に示します。

(2) プロパティエントリ

エントリ名には,セクション名に指定したクラスに定義されているプロパティのうち,値を設定または取得するプロパティの名前を128バイト以内の半角文字列で記述します。プロパティの基本単位および種類(用途)によって記述形式が異なります。

(a) Scalar型プロパティ

プロパティの値を設定する場合と取得する場合とで記述形式が異なります。

(b) VariableArray型プロパティ

プロパティの基本単位がVariableArray型でデータ型がObject型のプロパティについても,プロパティの値を設定する場合と取得する場合とで記述形式が異なります。

(c) パーミッション種別設定用プロパティ

パーミッション種別用プロパティ名とパーミッションを指定します。

(d) サブジェクト種別用プロパティ

アクセス制御機能を使用する場合の,dbrProp_ACLプロパティまたはdbrProp_SACLプロパティを設定するときに記述します。なお,dbrProp_ACLプロパティおよびdbrProp_SACLプロパティの構成要素として指定するdbrProp_Subjectプロパティ,dbrProp_SubjectTypeプロパティおよびdbrProp_Permissionプロパティは,必ず三つ一組で指定してください。

記述例を次に示します。

<記述例>
dbrProp_SubjectType=USR

(3) linkエントリ

オブジェクトを作成するコマンドの実行時に-Tオプションを指定する場合は,設定するコンテインメントの種別を記述します。セクション(クラス)ごとに,DCR(直接型のコンテインメント),RCR(参照型のコンテインメント)またはVCR(構成管理型のコンテインメント)のどれかを記述してください。

<記述例>
link=RCR

(4) modeエントリ

linkエントリにコンテインメントの種別としてVCRを指定した場合に,構成管理モード種別を指定します。FLOATING(FLOATINGモードの場合)またはFIX(FIXモードの場合)のどちらかを記述してください。

<記述例>
mode=FLOATING

(5) urlエントリ

シングルファイル文書またはリファレンスファイル文書を作成する場合は,登録するファイルのファイルパス,または「NONE」を指定します。なお,「NONE」を指定した場合,登録ファイルなしの文書が作成されます。

リファレンスファイル管理機能を使用する場合,このエントリに「NONE」を指定すると,reference_typeエントリは,「NONE」を指定したものと仮定されます。

File Link連携機能を使用する場合,ファイルサーバにファイルまたはディレクトリを登録するときは,登録するファイルまたはディレクトリのパスを指定します。ファイルサーバ上に登録されているコンテントを指定して文書を作成するときは,このエントリに「DBRSVCONTENT」を指定して,filelink_contentpathエントリに,文書の作成に使用するファイルサーバ上のコンテントのパスを指定します。登録ファイルなしの文書を作成するときは,「NONE」を指定します。なお,このエントリに「DBRSVCONTENT」を指定して,filelink_contentpathエントリの指定を省略するとエラーになります。

ファイルパスは,URL形式で記述します。値はシングルクォート(')で囲んで記述します。例えば,UNIXの場合に「/tmp/create.doc」を文書に登録したいときは,「file:///tmp/create.doc」をシングルクォート(')で囲んで記述します。Windowsの場合に「c:¥temp¥create.doc」を文書に登録したいときは,「file:///c:¥temp¥create.doc」をシングルクォート(')で囲んで記述します。

<記述例>
シングルファイル文書およびリファレンスファイル文書を作成する場合の記述例を示します。
(UNIXの場合)
url='file:///tmp/create.doc'
(Windowsの場合)
url='file:///c:¥temp¥create.doc'
 
File Link連携機能でクライアントのコンテント(ファイル)を指定して文書を作成する場合の記述例を示します。
(UNIXの場合)
url='file:///tmp/create.doc'
(Windowsの場合)
url='file:///c:¥temp¥create.doc'
 
File Link連携機能でクライアントのコンテント(ディレクトリ)を指定して文書を作成する場合の記述例を示します。
(UNIXの場合)
url='file:///tmp'
(Windowsの場合)
url='file:///c:¥temp'
 
File Link連携機能で,ファイルサーバ上に登録されているコンテントを指定して文書を作成する場合の記述例を示します。
url='DBRSVCONTENT'

(6) directoryエントリ

マルチファイル文書を作成する場合に,登録するファイルが格納されているディレクトリパス,または「NONE」を指定します。なお,「NONE」を指定した場合,登録ファイルなしのマルチファイル文書が作成され,filesエントリの指定は無効になります。

ディレクトリパスは,URL形式で記述してください。値はシングルクォート(')で囲んで記述します。例えば,UNIXの場合に「/tmp」にマルチファイル文書として登録するファイルが格納されているときは,「file:///tmp」をシングルクォート(')で囲んで記述します。Windowsの場合に「c:¥temp」にマルチファイル文書として登録するファイルが格納されているときは,「file:///c:¥temp」をシングルクォート(')で囲んで記述します。

<記述例>
UNIXの場合の記述例を示します。
directory='file:///tmp'
 
Windowsの場合の記述例を示します。
directory='file:///c:¥temp'

なお,directoryエントリに値を指定して,filesエントリの指定を省略した場合,directoryエントリに指定したディレクトリ下にあるすべてのファイルが,マルチファイル文書の登録対象になります。ただし,この場合は,コンポーネント種別を指定できません。登録対象になるのは,directoryエントリに指定したディレクトリの直下に格納されているファイル,シンボリックリンクおよび隠しファイルです。directoryエントリに指定したディレクトリの下位ディレクトリに格納されたファイルは,登録対象になりません。

(7) filesエントリ

マルチファイル文書を作成する場合に,マルチファイル文書として登録するファイル数,ファイル名およびコンポーネント種別を指定します。

それぞれの値の記述形式を次に示します。

登録するファイルが複数ある場合は,一つのファイルに対するファイル名およびコンポーネント種別の指定ごとにコンマ(,)で区切って記述します。ファイル数に指定した値と,ファイル名およびコンポーネント種別の数が一致しない場合はエラーになります。

記述例を次に示します。

<記述例>
記述例では,次に示す二つのファイルを登録することが前提となっています。
 
ファイル1
  • ファイル名:foo
  • コンポーネント種別:body
ファイル2
  • ファイル名:bar
  • コンポーネント種別:fig-1
files[2]=
{
{ edmProp_RetrievalName = 'foo' , edmProp_ComponentType = 'body' } ,
{ edmProp_RetrievalName = 'bar' , edmProp_ComponentType = 'fig-1' }
}

(8) mimeエントリ

文書を作成する場合に,登録するファイルの表現形式を「クラス/サブクラス」形式のMIME名で記述してください。値はシングルクォート(')で囲んで記述します。例えば,HTML文書の場合,MIME名には「text/html」をシングルクォート(')で囲んで指定します。

<記述例>
mime='text/html'

(9) filelink_famnameエントリ

File Link連携機能を使用する場合に,コンテントの登録先となるファイルサーバのFAM名を,シングルクォート(')で囲んで記述します。

このエントリは次のどちらかの場合に指定してください。

なお,このエントリの指定を省略した場合,実行環境制御ファイルのFileLinkセクションの,DefaultFAMNameエントリに指定されたFAM名のファイルサーバを使用します。

<記述例>
filelink_famname='fam01'

(10) filelink_contentpathエントリ

File Link連携機能を使用する場合に,クライアントのコンテントを指定して文書を作成するときは,ファイルサーバ上の登録先ディレクトリのパスを指定します。また,ファイルサーバ上に登録されているコンテントを指定して文書を作成するときは,使用するファイルサーバ上のコンテントのパスを指定します。

このエントリは次のどちらかの場合に指定してください。

クライアントのコンテントを指定して文書を作成するとき,およびファイルサーバ上に登録されているコンテントを指定して文書を作成するときのエントリの指定方法を次に示します。

クライアントのコンテントを指定して文書を作成するとき
ファイルサーバ上の登録先ディレクトリのパスを,シングルクォート(')で囲んで記述します。ディレクトリの末尾にはデリミタ「/」(UNIXの場合)または「¥」(Windowsの場合)を記述します。登録するコンテントは,urlエントリで指定します。
エントリに指定した登録先ディレクトリが存在しない場合,ディレクトリが作成され,コンテントが登録されます。ただし,デリミタ「/」(UNIXの場合)または「¥」(Windowsの場合)を記述しない場合,コンテント名称の自動生成を行わない(実行環境制御ファイルで,FileLinkセクションの FileNamingModeエントリに「Specify」を指定している)環境で,このエントリに指定したディレクトリがファイルサーバ上に存在するとエラーになり,存在しないとディレクトリは作成しないで,このエントリに指定した名称でコンテントが登録されます。
なお,このエントリの指定を省略した場合,実行環境制御ファイルのFileLinkセクションの,DefaultContentPathエントリに指定されたディレクトリにコンテントが登録されます。
<記述例>
UNIXの場合に,コンテントの登録先ディレクトリが,「/dir01/data」の下位にある「area1」ディレクトリのときの記述例を次に示します。
指定形式の種別指定例
フルパス指定filelink_contentpath = '/dir01/data/area1/'
エイリアス指定filelink_contentpath = 'DATA/area1/'
(「/dir01/data」のエイリアス名が「DATA」のとき)
 
Windowsの場合に,コンテントの登録先ディレクトリが,「c:¥dir01¥data」の下位にある「area1」ディレクトリのときの記述例を次に示します。
指定形式の種別指定例
フルパス指定filelink_contentpath = 'c:¥dir01¥data¥area1¥'
エイリアス指定filelink_contentpath = 'DATA¥area1¥'
(「c:¥dir01¥data」のエイリアス名が「DATA」のとき)
ファイルサーバ上に登録されているコンテントを指定して文書を作成するとき
ファイルサーバ上のコンテントのパスを指定します。値はシングルクォート(')で囲んで記述します。
なお,ファイルサーバ上に登録されているコンテントを指定して文書を作成するとき,このエントリの指定は省略できません。また,このとき,urlエントリに,「DBRSVCONTENT」を指定してください。
<記述例>
UNIXの場合に,文書の作成に使用するコンテントが,「/dir01/data/area1」の下位にある「file.jpg」の場合の記述例を次に示します。
指定形式指定例
フルパス指定filelink_contentpath = '/dir01/data/area1/file.jpg'
エイリアス指定filelink_contentpath = 'DATA/area1/file.jpg'
のとき(「/dir01/data」のエイリアス名が「DATA」のとき)
 
Windowsの場合に,文書の作成に使用するコンテントが,「c:¥dir01¥data¥area1」の下位にある「file.jpg」の場合の記述例を次に示します。
指定形式指定例
フルパス指定filelink_contentpath = 'c:¥dir01¥data¥area1¥file.jpg'
エイリアス指定filelink_contentpath = 'DATA¥area1¥file.jpg'
(「c:¥dir01¥data」のエイリアス名が「DATA」のとき)

(11) reference_typeエントリ

リファレンスファイル管理機能を使用する場合の,コンテントの格納先とリファレンス種別を指定します。リファレンス種別には,「NONE」または「RELATIVE」を指定してください。ただし,urlエントリの指定が「NONE」の場合,このエントリは「NONE」を指定したものと仮定されます。

このエントリの指定は次の場合に有効になります。

「NONE」を指定した場合,コンテントがなく,コンテントロケーションを管理しないオブジェクトが作成されます。このエントリの指定が「NONE」で,urlエントリの指定が「NONE」以外のとき,urlエントリの指定は無効となります。

「RELATIVE」を指定した場合,コンテントの格納先をファイルシステム上の領域とし,コンテントロケーションを相対パスで管理するオブジェクトが作成されます。

<記述例>
reference_type = RELATIVE

(12) reference_contentbasepathエントリ

リファレンスファイル管理機能を使用する場合に,コンテント格納先ベースパスをシングルクォート(')で囲んで記述します。

このエントリの指定は次の場合に有効になります。

このエントリには,リファレンスファイル文書の格納先となるディレクトリの基点となるパスを指定します。例えば,urlエントリで指定したコンテントを,「/drv01/dir01/userdir」ディレクトリの下位にある「user01」ディレクトリに格納する場合,「user01」ディレクトリの基点となるパスとして,「/drv01/dir01/userdir」をシングルクォート(')で囲んで指定します。このエントリの指定の末尾に,パスのデリミタ「/」(UNIXの場合)または「¥」(Windowsの場合)を記述する必要はありません。

このエントリに指定したコンテント格納先ベースパスは,コンテント格納先パスと結合して絶対パスとして使用されます。ContentLocationプロパティには次に示すパスが格納されます。

aaaa/bbbb/cccc

aaaa:コンテント格納先パス

bbbb:DocumentBrokerがコンテントを管理するためのディレクトリ

cccc:ファイル名

注※
次に示すどちらかのファイル名が設定されます。
  • 登録ファイル名(DocumentSpace構成定義ファイルのReferenceStorageModeエントリにOriginを指定した場合)
  • DocumentBrokerが指定するファイル名(DocumentSpace構成定義ファイルのReferenceStorageModeエントリにDivideを指定した場合)

Windowsの場合,コンテント格納先ベースパスにUNC形式のパスを使用することもできます。例えば,「server01」というマシンのネットワーク上で共有しているフォルダ「share」をコンテント格納先ベースパスに指定する場合は,「¥¥server01¥share」をシングルクォート(')で囲んで指定します。

<記述例>
reference_contentbasepath = '/drv01/dir01/userdir'

(13) reference_contentpathエントリ

リファレンスファイル管理機能を使用する場合に,コンテント格納先ベースパスからの相対パスで,コンテント格納先パスをシングルクォート(')で囲んで記述します。

リファレンス種別が「NONE」の場合,このエントリの指定は無効となります。また,このエントリを省略すると,コンテント格納先ベースパスディレクトリの下位にコンテントが格納されます。

このエントリには,reference_contentbasepathで指定したコンテント格納先ベースパスからの相対パスで,コンテントの格納先とするディレクトリを指定します。例えば,urlエントリで指定したコンテントを,reference_contentbasepathで指定した「/drv01/dir01/userdir」ディレクトリの下位にある「user01」ディレクトリに格納する場合,コンテントの格納先とするディレクトリとして,「user01」をシングルクォート(')で囲んで指定します。このエントリの指定の先頭に,パスのデリミタ「/」(UNIXの場合)または「¥」(Windowsの場合)を記述する必要はありません。

このエントリに指定したコンテント格納先パスは,コンテント格納先ベースパスと結合して絶対パスとして使用されます。ContentLocationプロパティには次に示すパスが格納されます。

aaaa/bbbb/cccc

aaaa:コンテント格納先パス

bbbb:DocumentBrokerがコンテントを管理するためのディレクトリ

cccc:ファイル名

注※
次に示すどちらかのファイル名が設定されます。
  • 登録ファイル名(DocumentSpace構成定義ファイルのReferenceStorageModeエントリにOriginを指定した場合)
  • DocumentBrokerが指定するファイル名(DocumentSpace構成定義ファイルのReferenceStorageModeエントリにDivideを指定した場合)
<記述例>
reference_contentpath = 'user01'

(14) 値の記述方法

値を設定するプロパティのデータ型によって記述形式が異なります。

(a) Boolean型プロパティの値

「TRUE」,「FALSE」または「UNKNOWN」のどれかを記述します。

<記述例>
usrProp_IsReadOnly=TRUE
(b) Integer32型プロパティの値

任意の10進数を-2,147,483,648~2,147,483,647の間で記述します。

<記述例>
usrProp_State=1
(c) String型プロパティの値

1,039バイト以内の任意の文字列をシングルクォート(')で囲んで記述します。

<記述例>
usrProp_Title='Document'

空文字列を指定する場合は,シングルクォート(')を二つ続けて記述します。

<記述例>
usrProp_Title=''

シングルクォート(')を文字列として指定する場合は,文字列を囲むシングルクォート(')とは別にシングルクォート(')を二つ続けて記述します。

<記述例>
usrProp_Title='user''s container'