La definición de DATA_CRITERIA
establece los criterios utilizados para asignar un tipo de objeto a un archivo o directorio.
Para los tipos de objeto se pueden utilizar los criterios mostrados en la tabla Tabla 13-3.
Tabla 13-3 Criterios y descripciones de DATA_CRITERIA
Se puede utilizar más de un criterio para un tipo de datos. Sin embargo, no debe utilizar los criterios NAME_PATTERN y PATH_PATTERN en el mismo tipo de datos.
Utilice el campo NAME_PATTERN para especificar los requisitos de nombre. El valor del campo puede incluir los siguientes caracteres comodín:
? -- coincide con cualquier carácter único
* -- coincide con cualquier secuencia de caracteres (incluso una cadena nula)
[cc...] -- coincide con cualquiera de los caracteres ( c) entre corchetes
[c-c]-- coincide con cualquiera de los caracteres del rango c a c
La siguiente definición de tipo de datos crea un tipo de datos basado en el nombre de archivo. Éste debe comenzar con QS y acabar con .doc.
DATA_ATTRIBUTES QS_Doc { DESCRIPTION Este archivo contiene un documento para \ el proyecto QS. ICON Word_Doc ACTIONS Open } DATA_CRITERIA QS_Doc_Criteria { NAME_PATTERN QS*.doc DATA_ATTRIBUTES_NAME QS_Doc }
La siguiente definición crea un tipo de datos para directorios llamados Demo_ n, donde n es un número de 0 a 9.
DATA_ATTRIBUTES Demo_directory { DESCRIPTION Es un directorio. Haga doble clic para abrirlo. ICON Demo ACTIONS OpenInPlace,OpenNewView } DATA_CRITERIA Demo_directory_criteria { NAME_PATTERN Demo_[0-9] MODE d DATA_ATTRIBUTES_NAME Demo_directory }
Utilice el campo PATH_PATTERN para especificar la ruta. Puede usar los mismos caracteres comodín que en NAME_PATTERN.
Por ejemplo, el siguiente tipo de datos utiliza un criterio basado en la ruta.
DATA_ATTRIBUTES Project_Graphics { DESCRIPTION Archivo gráfico para el proyecto QS. Haga doble clic en \ el icono para ver el gráfico. ICON QSgraphics } DATA_CRITERIA Project_Graphics_Criteria { DATA_ATTRIBUTES_NAME Project_Graphics PATH_PATTERN */projects/QS/graphics/* }
Para crear un tipo de datos basado en el nombre y la ubicación, incluya el nombre en el valor de PATH_PATTERN. No se puede utilizar NAME_PATTERN y PATH_PATTERN en la misma definición de criterios.
El tipo de datos Archivos_Fuente_QS definido a continuación se aplica a todos los archivos llamados appn.c, donde n= 1 a 9, ubicados en subdirectorios de */projects/QS.
DATA_ATTRIBUTES QS_Source_Files { ... } DATA_CRITERIA QS_Source_Files_Criteria { PATH_PATTERN */projects/QS/*/app[1-9].c DATA_ATTRIBUTES_NAME QS_Source_Files }
El siguiente tipo de datos se aplica a todos los archivos del directorio /doc/project1 llamados chnn.xxx, donde n es de 0 a 9, y xxx es cualquier sufijo del nombre de archivo de tres caracteres.
DATA_ATTRIBUTES ChapterFiles { DESCRIPTION Archivo de capítulo para el documento del proyecto. ICON chapter ACTIONS Edit,Print } DATA_CRITERIA Chapter_Criteria { PATH_PATTERN /doc/project1/ch[0-9][0-9].??? DATA_ATTRIBUTES_NAME ChapterFiles }
Utilice el campo MODE para especificar los permisos necesarios.
Los criterios de modalidad se suelen utilizar en combinación con criterios de nombre, ubicación o contenido. Permiten limitar un tipo de datos a un archivo o directorio, o especificar los permisos de lectura, escritura y ejecución requeridos.
El campo MODE puede incluir operadores lógicos (tabla Tabla 13-4 ) y caracteres (tablaTabla 13-5).
Tabla 13-4 Operadores lógicos en el campo MODE y descripciones
Operador |
Descripción |
---|---|
! | |
& | |
| |
Tabla 13-5 Caracteres en el campo MODE y descripciones
Carácter |
Descripción |
---|---|
El tipo de datos sólo es aplicable a archivos |
|
El tipo de datos sólo es aplicable a directorios |
|
r |
Cualquier usuario puede leer el archivo |
Cualquier usuario puede escribir en el archivo |
|
Cualquier usuario puede ejecutar el archivo |
|
El archivo es un enlace |
El valor predeterminado para una modalidad particular es que la modalidad no es relevante.
Los siguientes valores del campo MODE restringen el tipo de datos según se describe a continuación:
f&!w -- archivos de sólo lectura
!w -- archivos y directorios de sólo lectura
f&x -- archivos ejecutables
f&r&x -- archivos ejecutables en los que se puede escribir
x|!w -- archivos ejecutables o de sólo lectura
La siguiente definición de tipo de datos crea un tipo de datos para archivos de sólo lectura no ejecutables, cuyos nombres de archivo siguen la convención *.doc. Se supone que se ha definido una acción View para el tipo de datos.
DATA_ATTRIBUTES ReadOnlyDocument { ICON read_only DESCRIPTION Este documento no es grabable. Si \ hace doble clic se ejecutará el editor con una copia de \ sólo lectura del archivo. ACTIONS View } DATA_CRITERIA ReadOnlyDocument_Criteria { NAME_PATTERN *.doc MODE !d&!x&!w DATA_ATTRIBUTES_NAME ReadOnlyDocument }
Utilice el campo CONTENT para especificar que el tipo de datos asignado se basará en el contenido del archivo. La asignación del tipo de datos según el contenido se puede utilizar en combinación con criterios de nombre o ubicación.
La asignación del tipo de datos puede basarse tanto en el contenido numérico como en el de cadenas de caracteres de los archivos. El primer byte de un archivo se numera como 0.
Para utilizar el contenido de cadenas de caracteres de un archivo, utilice la sintaxis siguiente:
CONTENT byte_inicial string cadena
Para utilizar el contenido numérico de un archivo, utilice la sintaxis siguiente:
CONTENT byte_inicial byte número CONTENT byte_inicial short número CONTENT byte_inicial long número
Para utilizar el contenido de un directorio, utilice la sintaxis:
CONTENT 0 filename 'nombre_archivo'
Utilice la notación estándar de C para los números en octal (o inicial) y hexadecimal ( oX inicial).
El uso de tipos de datos basados en el contenido ralentizará el rendimiento del sistema. Siempre que sea posible, utilice en su lugar tipos de datos basados en el nombre o en la ubicación.
Por ejemplo, el tipo de datos siguiente, Writable_Wingz, se aplica a todos los archivos con permiso de escritura que contengan la cadena WNGZ al principio del archivo.
DATA_ATTRIBUTES Writable_Wingz { ... } DATA_CRITERIA Writable_Wingz_Criteria { CONTENT 0 string WNGZ MODE w&!d DATA_ATTRIBUTES_NAME Writable_Wingz }
Se puede crear un tipo de datos con varios criterios independientes, es decir, el archivo se asigna al tipo de datos si cumple uno de los criterios (o ambos).
Cree la definición de DATA_ATTRIBUTES
para el tipo de datos.
Cree una definición de DATA_CRITERIA
para cada criterio.
Utilice el campo DATA_ATTRIBUTES_NAME para conectar los criterios con la misma definición de DATA_ATTRIBUTES
.
Por ejemplo, las siguientes definiciones crean el tipo de datos Mif. Es una asignación de tipo basada en el nombre y el contenido.
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 }