Solaris 一般桌上管理系統環境:進階使用者和系統管理員指南

第 13章 人工建立資料類型

建立資料類型定義的方法有兩種:

人工建立資料類型需要您編輯資料庫檔案。

本章描述如何人工建立資料類型定義。

您必須人工建立資料類型的理由

人工建立資料類型可以讓您使用所有建立於資料類型定義語法中的能力。

如果您想要使用這些資料類型的功能,您就必須人工建立資料類型:

資料類型定義的元件:條件與屬性

資料類型定義是由兩種不同的資料庫定義所構成的:

每項 DATA_ATTRIBUTES 定義至少要有一項DATA_CRITERIA 定義;DATA_ATTRIBUTES 定義可以有與其有關聯的多重 DATA_CRITERIA成對。

例如,您可以建立描述 PostScript 在「檔案管理者」中的外觀與行為的 PostScript 檔案的屬性定義。然後,您可以為 PostScript 資料類型建立兩項不同的條件- 一項以檔案名稱為基礎,而另一項以檔案內容為基礎。

有關更多的資訊,請參閱 "定義資料類型的資料條件"

人工建立資料類型:一般步驟

本節描述如何建立資料類型配置檔案。

資料類型的配置檔案

包含資料類型定義的配置檔案的需求為:

如果要建立資料類型定義

  1. 開啟現存資料庫檔案或建立新檔案。

    有關更多的資訊,請參閱前節,"資料類型的配置檔案"

  2. 使用此語法定義資料類型的資料屬性:

    	
    DATA_ATTRIBUTES data_type_name
     	{  		
             ICON 	image_name  		
             DESCRIPTION 	字串  
    	 attribute_field  		
             attribute_field  
             ...  	
            }
    

    其中:

    data_type_name-給予此資料類型的唯一名稱。

    image_name-圖像檔案的檔案名稱或路徑。使用基本名稱於此檔案。例如,對於圖像檔案 myimage.m.pmmyimage.t.pm,請使用 myimage

    attribute_field-定義資料類型的外觀或行為的欄位。

    字串-字元字串。內容將會是資料類型的關於項目輔助說明。

    請參閱 "建立個人動作與資料類型的範例"

  3. 使用此語法定義資料類型的資料條件:

    	
    DATA_CRITERIA criteria_name  
    	{  		
             DATA_ATTRIBUTES_NAME			data_type_name  
    	 criteria_field  		
             criteria_field  
    	 ...  	
            } 
    

    其中:

    criteria_name-此條件定義的唯一名稱

    data_type_name-用於 DATA_ATTRIBUTES 定義中的名稱

    criteria_field-用於定義指派檔案至此資料類型的條件的欄位

    請參閱 "定義資料類型的資料條件"

  4. 儲存資料庫檔案。

  5. 建立資料類型的圖像。

    有關更多的資訊,請參閱 "指定用於資料類型的圖像影像"

  6. 如果有需要,請建立列表於屬性定義的 ACTION(動作) 欄位中的動作。

  7. 連按兩下 Desktop_Tools 應用程式群組中的「重新載入動作」以重新載入資料庫。

建立個人動作與資料類型的範例

假定您的系統包含名為 xgif 的應用程式,此應用程式會顯示 GIF 圖片。一般而言,您藉由執行如下來執行程式:

xgif 檔案名稱

您想要能夠以數種方法顯示 GIF 圖片:

  1. 開啟新檔案 HomeDirectory/.dt/types/GifViewer.dt 以編輯。

  2. 鍵入資料類型定義:

    	
    DATA_ATTRIBUTES Gif  	
        {  		
         DESCRIPTION		Gif影像檔案.  
         ICON 	GifIcon  
         ACTIONS  	View  	
        }  	
        DATA_CRITERIA Gif_Criteria  
         {  
         DATA_ATTRIBUTES_NAME	Gif 
         NAME_PATTERN 		*.gif  	
        }
        
  3. 鍵入 GifViewer 動作的動作定義:

    	
    ACTION GifViewer  	
       {  		
       EXEC_STRING	     	xgif% (檔案)Arg_1"查看的 Gif 檔案:"  		 
       WINDOW_TYPE		NO_STDIO  		 
       DESCRIPTION		連按兩下或定位檔案以  \  啟動 Gif 查看器。  	}

    既然定義不包括 ICON(圖像) 欄位,動作將會使用系統的內定圖像。

  4. 鍵入以下對應動作以將 GifViewer 動作連接至列於資料類型定義中的「查看」動作。使用ARG_TYPE 欄位以限制此查看動作為 Gif 類型的檔案。

    	
    ACTION View  	
       {  		
        ARG_TYPE	Gif  		
        TYPE   	MAP  
        MAP_ACTION	GifViewer
       } 
  5. 儲存檔案。

  6. 連按兩下 Desktop_Tools 應用程式群組中的「重新載入動作」以重新讀取資料庫。

定義資料類型的資料屬性

DATA_ATTRIBUTES 定義定義資料類型的外觀與行為。其指定資料類型的名稱,並提供能力以指定:

指定用於資料類型的圖像影像

使用 ICON(圖像) 欄位以指定「檔案管理者」中所使用的圖像。如果您未指定圖像影像,「檔案管理者」便只會顯示標籤。

ICON(圖像) 欄位的值可以是:

表 13-1 資料類型圖像的圖像名稱與大小

像素的大小 

位元映射名稱 

圖素映射名稱 

32 乘 32 

名稱.m.bm

名稱.m.pm

16 乘 16 

名稱.t.bm

名稱.t.pm

資料類型與動作有關聯

使資料類型與動作有關聯的方法有兩種:

依據資料類型隱藏檔案

如果檔案是隱形的資料類型,它絕不會出現在「檔案管理者」中。

使用 DATA_ATTRIBUTES 定義中的 PROPERTIES(屬性) 欄位來指定隱藏的此類型物件:

PROPERTIES				invisible

操作檔案時,指定行為

表 13-2 顯示主要由應用程式設計者所使用的 DATA_ATTRIBUTES 欄位。它們會指定當使用者執行各種不同的桌上管理系統活動時,檔案的行為要如何。

有關更多的資訊,請參閱 共用桌上管理系統環境程式設計者指南,其為設計者環境文件的一部分。

表 13-2 DATA_ATTRIBUTES 欄位與說明

欄位 

說明 

MOVE_TO_ACTION

用於如目錄的儲存區。當檔案移動至此資料類型的儲存區時,指定要執行的動作。 

COPY_TO_ACTION

用於如目錄的儲存區。當檔案複製到此資料類型的儲存區時,指定要執行的動作。 

LINK_TO_ACTION

當檔案連結至此資料類型的檔案時,指定要執行的動作。 

IS_TEXT

指定此資料類型的檔案包含可以顯示在文字方框中的文字。 

MEDIA

指定相等的 ToolTalk 媒體類型。 

MIME_TYPE

指定相等的 MIME 類型。 

X400_TYPE

指定相等的 X400 類型。 

定義資料類型的資料條件

DATA_CRITERIA 定義會定義用於將物件類型指派給檔案或目錄的條件。

您可以使用 表 13-3 中所示的物件類型的條件。

表 13-3 DATA_CRITERIA 條件與說明

條件 

說明 

檔案名稱 

檔案名稱必須符合指定的型樣。使用 NAME_PATTERN 欄位。

檔案位置 

路徑必須符合指定的型樣。使用 PATH_PATTERN 欄位。

檔案內容 

檔案內容的指定部分必須符合指定的資料。使用 CONTENT(內容) 欄位。

檔案模式  

檔案必須擁有指定的許可權(讀取、寫入、執行、目錄)。使用 MODE(模式) 欄位。

象徵性連結

類型是以物件連結的檔案為基礎。  

您可以使用一項以上的資料類型條件。但是,您不應在相同的資料類型中使用 NAME_PATTERNPATH_PATTERN 條件。

以名稱為基礎的資料類型

使用 NAME_PATTERN 欄位來指定命名需求。欄位值可包括下列通配字元:

?-符合任何單一字元

*-符合任何順序的字元(包括空字串)

[cc...]-符合括弧中所附的任何字元(c

[c-c]-符合由 cc

範圍中的任何字元範例

以位置為基礎的資料類型

使用 PATH_PATTERN 欄位來指定路徑。您可以使用與 NAME_PATTERN 相同的通配字元。

例如,以下的資料類型使用以路徑為基礎的條件。

DATA_ATTRIBUTES Project_Graphics  
     {  	
      DESCRIPTION			QS   計畫的圖形檔案。連按兩下 \ 
              圖像來看圖形。  	
      ICON    QSgraphics  
      }  
       DATA_CRITERIA Project_Graphics_Criteria  
      {  
       DATA_ATTRIBUTES_NAME			Project_Graphics  
       PATH_PATTERN				*/projects/QS/graphics/*  
      }

以名稱與位置為基礎的資料類型

如果要建立同時以檔案名稱與位置兩者為基礎的資料類型,請將名稱包含於 PATH_PATTERN 值中。您無法在相同的條件定義中同時使用 NAME_PATTERNPATH_PATTERN

範例

使用檔案模式為類型條件

使用 MODE(模式) 欄位來指定所需的許可權。

模式條件通常用於以名稱為基礎、以位置為基礎或以內容為基礎的資料類型的組合中。它們允許您將資料類型限制為檔案或目錄,或指定所需的讀取、寫入與執行許可權。

MODE(模式) 欄位可包括邏輯運算子(表 13-4)與字元(表 13-5)。

表 13-4 模式欄位邏輯運算子與說明

運算子 

說明 

!

邏輯運算子NOT(否)

&

邏輯運算子AND(及)

|

邏輯或

表 13-5 模式欄位字元與說明

字元 

說明 

f

資料類型只應用於檔案 

d

資料類型只應用於目錄 

r

檔案可由任何使用者讀取 

w

檔案可由任何使用者寫入 

x

檔案可由任何使用者執行 

l

檔案為連結 

特定模式的內定值為模式沒有關係。

範例

以內容為基礎的資料類型

使用 CONTENT(內容) 欄位以指定以檔案內容為基礎的資料類型。以內容為基礎的資料類型可以在以名稱或位置為基礎的資料類型組合中使用。

類型可以以檔案的字串或數值內容為基礎。檔案中的第一個位元組為數字 0。

如果要建立具有數項獨立條件的資料類型

您可以建立具有數項獨立條件的資料類型-也就是說,如果檔案符合條件之一(或兩者),就會被指派至資料類型。

  1. 建立資料類型的 DATA_ATTRIBUTES 定義。

  2. 建立每項條件的 DATA_CRITERIA 定義。

    使用 DATA_ATTRIBUTES_NAME 欄位將每項條件連接至相同的 DATA_ATTRIBUTES 定義。

    例如,下列定義會建立 Mif 資料類型。類型是以名稱或內容為基礎。

    DATA_ATTRIBUTES Mif 
      {  
       ICON		    Frame  	
       ACTION_LIST     Open, Print  
      }  
       DATA_CRITERIA Mif_Name_Criteria  
      { 
       DATA_ATTRIBUTES_NAME				Mif  
       NAME_PATTERN		                	*.mif  
      }  
       DATA_CRITERIA Mif_Content_Criteria  
      {  
       DATA_ATTRIBUTES_NAME		Mif  	
       CONTENT			1 string MIFFile  
      }

建立本土化的資料類型

資料類型的搜尋路徑包括語言相依的位置。桌上管理系統使用 LANG 的值來決定搜尋資料類型的位置。

本土化資料類型的位置

本土化的資料類型定義必須放在動作搜尋路徑沿途的正確語言相依目錄中。

內定搜尋路徑為:

如果要本土化資料類型

  1. 在合適的語言相依目錄中建立檔案(例如,在/etc/dt/appconfig/types/japanese 中)。

  2. 將資料類型定義複製到語言相依的配置檔案。

  3. 本土化資料類型定義中的一個或多個欄位。