Solaris 共通デスクトップ環境 プログラマーズ・ガイド

データの基準とデータの属性

データ型検査は、次の 2 つの部分から成ります。

データ基準の属性は、次のとおりです (アルファベット順)。

データの基準を使用頻度が高いものから順に表 9-1 に示します。

表 9-1 データの基準 (使用頻度順)

基準 

説明 

使用例 

DATA_ATTRIBUTES_NAME

このデータ型の名前。この値は、データ属性テーブルの中の record_name です。

POSTSCRIPT 

NAME_PATTERN

このデータに一致するファイル名を記述するシェル・パターン照合表現。デフォルトは空の文字列で、照合の際にファイル名のパターンを無視することを意味します。 

*.ps

CONTENT

ファイル・ユーティリティが使用し、マジック・ファイルの開始、型、および値のフィールドとして解釈される 3 つの値。詳細は、file(1) のマニュアル・ページを参照してください。デフォルトは空のフィールドで、照合の際に内容を無視することを意味します。一致する型の例としては、文字列、バイト、ショート、ロング、およびファイル名があります。

0 string !%

MODE

stat 構造体のモード・フィールドに一致する 0 〜 4 文字の文字列。詳細は、stat(2) のマニュアル・ページを参照してください。最初の文字は、次のとおりです。

 

d は、ディレクトリに一致します。

s は、ソケットに一致します。

l は、シンボリック・リンクに一致します。

f は、通常ファイルに一致します。

b は、ブロック・ファイルに一致します。

c は、文字型特殊ファイルに一致します。

f&!x

 

 

 

次の文字は、最初または後続の文字にできます。 

 

r は、ユーザ、グループ、またはその他の読み取り権ビットが設定されたファイルに一致します。

w は、ユーザ、グループ、またはその他の書き込み権ビットが設定されたファイルに一致します。

x は、ユーザ、グループ、またはその他の実行あるいはディレクトリ検索のアクセス権ビットが設定されているファイルに一致します。

 

 

 

たとえば、frwMODE フィールドは、読み取り可能または書き込み可能な通常ファイルに一致します。x は、実行可能なビットまたは検索ビットが設定されたファイルに一致します。

デフォルトは空のフィールドで、照合の際にモードを無視することを意味します。 

 

PATH_PATTERN

このデータに一致する絶対パス名を記述するシェル・パターン照合式。デフォルトは空の文字列で、照合の際にパス・パターンを無視することを意味します。 

*/mysubdir /*

LINK_NAME

dtdtsfile(4) のマニュアル・ページを参照してください。

LINK_PATH

dtdtsfile(4) のマニュアル・ページを参照してください。

データ型の一般的な属性のいくつかをアルファベット順に示します。

これらのデータの属性を使用頻度が高い順に表 9-2 に示します。

表 9-2 データの属性 (使用頻度順)

基準 

説明 

使用例 

DESCRIPTION

人間が読める形式で書かれたデータの説明。このフィールドが NULL か、データ属性レコードに含まれていない場合は、データ属性名が使用されます。

This is a PostScript page description. 

ICON

このデータに対して使用されるアイコン名。このフィールドが NULL か、データ属性レコードに含まれていない場合は、標準のアイコンが使用されます。アイコンの命名の詳細は、dtdtsfile(4) のマニュアルページを参照してください。

Dtps

PROPERTIES

このデータの属性を示すキーワード。有効な値は、見える場合と見えない場合があります。このフィールドが NULL か、データ属性レコードに含まれていない場合は、可視属性とみなされます。これは、ファイルをユーザから完全に隠したい場合に使用します。

invisible

ACTIONS

このデータに対して実行できるアクションのリスト。このリストは、この型のオブジェクトに対してユーザに提示されるアクションのアクション・テーブル内の名前を参照します。このフィールドが NULL か、データ属性レコードに含まれていない場合は、どのアクションも使用できません。

Open,Print

NAME_TEMPLATE フィールド

 

この型のデータの新規ファイル作成に使用される文字列。文字列は、ファイル名と共に 1 つの引き数として sprintf(3) に渡されます。デフォルトは空です。このフィールドをデータ抽出条件テーブルの NAME_PATTERN フィールドと比較してみてください。テンプレートは %s.c など、特定のファイルを作成するために使用されますが、パターンは *.c などのファイルを検索するために使用されます。

%s.ps

IS_EXECUTABLE フィールド

このデータ型をアプリケーションとして実行できることをユーザに知らせる文字列論理値。IS_EXECUTABLE に true が設定されている場合 (DtDtsIsTrue() 参照)、データは実行可能です。このフィールドが NULL かデータ属性レコードに含まれていない、または true に設定されていない場合は、データは実行可能ではないとみなされます。

true 

MOVE_TO_ACTION

オブジェクトが現在のオブジェクトに移動されるときに実行されるアクション名 

FILESYSTEM_MOVE

COPY_TO_ACTION

オブジェクトが現在のオブジェクトにコピーされるときに実行されるアクション名 

FILESYSTEM_COPY

LINK_TO_ACTION

オブジェクトが現在のオブジェクトにリンクされるときに実行されるアクション名 

FILESYSTEM_LINK

IS_TEXT

このデータ型がテキスト・エディタまたはテキスト・ウィジェットでの操作 (表示または編集) に適していることをユーザに知らせる文字列論理値。データが本来はテキストである場合や、ユーザに対してテキスト形式で表示される場合、IS_TEXT フィールドには true が設定されます (DtDtsIsTrue() 参照)。その基準は、データが人間の言語から成るものか、手動で生成および管理されているか、テキスト・エディタでの表示と編集が可能か、構造体と書式の情報をまったく (あるいはごくわずかしか) ないかどうかという点から決定されます。

詳細な例については、表 9-3 を参照してください。

 

IS_TEXT フィールドが true の場合、データはアプリケーションから直接表示できます。すなわち、アプリケーションは XmText などのテキスト編集ウィジェットにデータを直接読み込むことができます。

 

MEDIA フィールド

MEDIA ネーム・スペース名は、データそのものの形式について記述します。MEDIA 名は、ICCCM 選択ターゲットとして使用され、データ型レコードの MEDIA フィールドで名前が付けられ、ToolTalk メディア交換メッセージの型パラメータの中で使用されます。

 

MEDIA ネーム・スペースは、ICCCM によって定義された選択ターゲット・アトムのネーム・スペースのサブセットです。データ書式を指定する選択ターゲットは、すべて有効な MEDIA 名です。有効な MEDIA 名は選択ターゲットとして直接使用できます。データ書式ではなく、選択の属性 (たとえば、LIST_LENGTH) や発生する副作用 (たとえば、DELETE) を指定する選択ターゲットもあります。これらの属性選択ターゲットは、MEDIA ネーム・スペースの一部ではありません。

POSTSCRIPT

MIME_TYPE

MEDIA は、デスクトップ内部にあり、データ型を表す一意の名前です。ただし、外部の他の命名組織もネーム・スペースを設定しています。MIME RFC で述べられている Multipurpose Internet Message Extensions (MIME)は、そのような外部登録の 1 つであり、デスクトップ・メール・プログラムのための標準的なネーム・スペースです。

application/postscript

X400_TYPE

X.400 型は、構造は MEDIA 型に似ていますが、異なる規則を使用して書式化され、異なる命名組織を持ちます。

1 2 840 113556 3 2 850

INSTANCE_ICON フィールド

データのインスタンスのために使用されるアイコン名で、通常は %name%.icon などの値 (dtdtsfile(4) のマニュアル・ページの「バグ」も参照)。INSTANCE_ICON が設定されている場合は、アプリケーションは ICON の代わりに使用しなければなりません。このフィールドが NULL か、データ属性レコードに含まれていない場合は、ICON フィールドが使用されます。

/myicondir/%name%.bm

DATA_HOST

DATA_HOST 属性は、*.dt ファイルのデータ属性テーブルに追加できるフィールドではありませんが、テーブルから属性を読み込むアプリケーションに返すことができます。データ型検査サービスはこの属性を自動的に追加して、データ型の読み込み元のホスト・システムを示します。このフィールドが NULL か、データ属性レコードに含まれていない場合、データ型はローカル・システムから読み込まれています。

 

IS_TEXT フィールドは、MIME_RFC で述べられている MIME コンテント・タイプである MIME_TYPE フィールドのテキスト属性とは異なります。MIME コンテント・タイプから、データがテキスト文字とバイト値のどちらで作成されているかがわかります。データがテキスト文字で作成され、データに text/* というラベルが付けられている場合、IS_TEXT フィールドはテキスト形式でユーザに表示するのに適したデータかどうかを判別します。

さまざまな MIME_TYPE属性での IS_TEXTの使用例を表 9-3 に示します。

表 9-3 IS_TEXT 属性の例

説明と MIME_TYPE 属性 

IS_TEXT 値 

ASCII でコード化された人間の言語 (MIME_TYPE text/plain)

IS_TEXT true

*EUC、JIS、Unicode、または ISO ラテン文字セットにコード化された人間の言語 (MIME-TYPE text/plain; charset=XXX)

IS_TEXT true

カレンダ・アポイント (MIME_TYPE text/plain)

IS_TEXT false

ハイパーテキスト・マークアップ言語 (HTML) (MIME_TYPE text/html)

IS_TEXT true

PostScript (MIME_TYPE application/postscript)

IS_TEXT false

C プログラム・ソース (C_SRC) (MIME_TYPE text/plain)

IS_TEXT true

ビットマップとピックスマップ (XBMXPM) (MIME_TYPE text/plain)

IS_TEXT false

デスクトップ・アプリケーション・ビルド・サービスのためのプロジェクトまたはモジュール・ファイル (MIME_TYPE text/plain)

IS_TEXT false

シェル・スクリプト (MIME_TYPE text/plain)

IS_TEXT false

uuencode(1) によって生成されたコード化テキスト (MIME_TYPE text/plain)

IS_TEXT false

*MIME_TYPE text/plain

IS_TEXT false

データ型属性の詳細は、dtdtsfile(4) のマニュアル・ページを参照してください。