Solaris 公用桌面环境: 高级用户和系统管理员指南

定义数据类型的数据标准

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		Graphics file for the QS project. Double-click the \
					icon to see the graphic.  	
   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 MODE 字段逻辑运算符和描述

运算符 

说明 

!

逻辑运算符 NOT

&

逻辑运算符 AND

|

逻辑 OR

表 13-5 MODE 字段字符和描述

字符 

说明 

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_NAM		Mif  
      	NAME_PATTERN		*.mif    
      }
    
      DATA_CRITERIA Mif_Content_Criteria  
      {  	
       DATA_ATTRIBUTES_NAME		Mif  	
       CONTENT		1 string MIFFile
      }