Creación manual de tipos de datos
tipos de archivos, Vea tipos de datos<$nopage>tipos de datoscrear manualmenteExisten dos procedimientos para crear
una definición de tipo de datos:
Utilizar la herramienta Crear Acción. La utilización
de Crear Acción se describe en el .
Crear la definición de tipo de datos manualmente.
Para crear un tipo de datos manualmente es necesario editar un archivo
de la base de datos.
Este capítulo describe cómo crear definiciones de tipos
de datos manualmente.
Consultas adicionales
Para obtener una introducción a los tipos de datos,
consulte el .
Para obtener información de consulta sobre las definiciones
de tipos de datos, consulte la página de manual dtdtsfile(4).
Razones por las que debe crear un tipo de datos
manualmente
La creación manual de un tipo de datos le permite utilizar todas
posibilidades incorporadas en la sintaxis de las definiciones de tipos de
datos.
tipos de datosrequisitos para
la creación manualDeberá crear manualmente
un tipo de datos si desea utilizar estas características de los tipos
de datos:
Escritura de datos basada en la ubicación (ruta)
La posibilidad de especificar acciones asociadas con el tipo
de datos que no sean Abrir e Imprimir
Múltiples criterios de nombre, patrón o contenido
para el mismo tipo de datos (por ejemplo, un tipo de datos basado en archivos
llamados *.abc o *.def
Escritura de datos basada en el enlace
Componentes de una definición de tipo de
datos: Criterios y atributos
Una definición de tipo de datos consta de dos definiciones de
base de datos separadas.
La definiciónDATA_ATTRIBUTES
definición DATA_ATTRIBUTES.
La definición DATA_ATTRIBUTES describe el
nombre del tipo de datos y el aspecto y comportamiento de los archivos de
este tipo.
La definición DATA_CRITERIAdefiniciónDATA_CRITERIA.
La definición DATA_CRITERIA describe los
criterios de escritura. Cada definición de criterio especifica la definición DATA_ATTRIBUTES a la que se aplican los criterios.
Tiene que haber como mínimo una definición
DATA_CRITERIAemparejada con DATA_ATTRIBUTESDATA_CRITERIA para cada definición
DATA_ATTRIBUTES; una definición DATA_ATTRIBUTES puede tener varias DATA_CRITERIA asociadas
a ella.
Por ejemplo, se puede crear una definición de atributos para
archivos PostScript que describa qué aspecto tienen y cómo se
comportan los archivos PostScript en el Gestor de archivos. En este caso,
deberá crear dos criterios separados para el tipo de datos de PostScript:
uno basado en el nombre de archivo y el otro basado en el contenido de archivo.
Para obtener más información, consulte la sección
.
Creación manual de un tipo de datos: Pasos
generales
Esta sección describe cómo crear un archivo de configuración
de tipo de datos.
Archivos de configuración para tipos de
datostipos de datosarchivos de configuraciónarchivos de configuracióntipos de datos
Los requisitos para los archivos de configuración que contienen
definiciones de tipos de datos son:
Los archivos deben utilizar el convenio de denominación nombre.dt
Los archivos deben estar ubicados en la ruta de búsqueda
de bases de datos. La ruta de búsqueda predeterminada es:
Tipos de datos personales
DirectorioInicio/.dt/types
Tipos de datos accesibles en el sistema
/etc/dt/appconfig/types/idioma
Tipos de datos incorporados
/usr/dt/appconfig/types/idioma. Este directorio no se
deberá utilizar.
Para obtener información sobre cómo modificar la ruta
de búsqueda de bases de datos, consulte la sección .
Crear una definición de tipo de datos
tipos de datosdefinir
Abra un archivo existente de la base de datos o cree uno nuevo.
Para obtener más información, consulte la sección
anterior .”
Defina los atributos de datos para el tipo de datos utilizando
la sintaxis:
DATA_ATTRIBUTESsintaxis
DATA_ATTRIBUTES nombre_tipo_datos
{
ICON nombre_imagen
DESCRIPTION cadena
campo_atributo
campo_atributo
…
}
donde:
nombre_tipo_datos
Nombre exclusivo dado a este tipo de
datos.
nombre_imagen
Nombre de archivo o ruta de un archivo
de iconos. Utilice el nombre base del archivo. Por ejemplo, para los archivos
de iconos myimage.m.pm y myimage.t.pm,
utilice myimage.
campo_atributo
Campo que define el aspecto o el comportamiento
del tipo de datos.
cadena
Cadena de caracteres. El contenido
estará en la ayuda sobre el tema para el tipo de datos.
Consulte la sección .
Defina los criterios de datos para el tipo de datos utilizando
la sintaxis:
DATA_CRITERIAsintaxis
DATA_CRITERIA nombre_criterio
{
DATA_ATTRIBUTES_NAME nombre_tipo_datos
campo_criterio
campo_criterio
…
}
donde:
nombre_criterio
Nombre exclusivo para esta definición
de criterio
nombre_tipo_datos
Nombre utilizado en la definición
DATA_ATTRIBUTES
campo_criterio
Campo utilizado para definir los criterios
para asignar un archivo a este tipo de datos
Consulte la sección .
Guarde el archivo de la base de datos.
Cree los iconos para el tipo de datos.
Para obtener más información, consulte la sección
.
Si es necesario, cree las acciones listadas en el campo ACTIONS de la definición de atributos.
Pulse dos veces Recargar acciones en el grupo de aplicaciones
Herramientas_Escritorio para volver a cargar la base de datos.
Ejemplo de creación
de un tipo de datos y de una acción personalestipos de datosejemplo
tipo de datos y acción personales, crear
Supongamos que el sistema contiene una aplicación llamada xgif, que muestra imágenes GIF. Normalmente, el programa
se ejecuta escribiendo:
xgif nombre de archivo
Tiene la posibilidad de poder mostrar imágenes GIF de distintos
modos:
Pulsando dos veces un archivo de datos GIF
Seleccionando el archivo de datos y eligiendo la aplicación
en el menú Seleccionado
Abra un nuevo archivo DirectorioInicio/.dt/types/GifViewer.dt para editarlo.
Escriba las definiciones del tipo de datos:
DATA_ATTRIBUTES Gif
{
DESCRIPTION Archivo de imágenes Gif.
ICON GifIcon
ACTIONS View
}
DATA_CRITERIA Gif_Criteria
{
DATA_ATTRIBUTES_NAME Gif
NAME_PATTERN *.gif
}
Escriba la definición de acción para la acción
GifViewer:
ACTION GifViewer
{
EXEC_STRING xgif %(File)Arg_1"Archivo Gif a ver:"
WINDOW_TYPE NO_STDIO
DESCRIPTION Pulse dos veces o suelte un archivo \
para iniciar el visor de Gif.
}
Dado que la definición no incluye un campo ICON,
la acción utilizará el icono predeterminado del sistema.
Escriba la siguiente acción de establecer correspondencia
para conectar la acción GifViewer a la acción
View listada en la definición de tipo de datos. Utilice el campo ARG_TYPE para restringir la acción de ver a los archivos
de tipo Gif.
ACTION View
{
ARG_TYPE Gif
TYPE MAP
MAP_ACTION GifViewer
}
Guarde el archivo.
Pulse dos veces Recargar acciones en el grupo de aplicaciones
Herramientas_Escritorio para volver a leer la base de datos.
Definición de los atributos de datos para un tipo de datos
DATA_ATTRIBUTESdefinir
tipos de datosatributos
La definición DATA_ATTRIBUTES define el
aspecto y el comportamiento del tipo de datos. Especifica el nombre del tipo
de datos y proporciona la posibilidad de especificar:
El icono del Gestor de archivos (campo ICON)
El comportamiento de doble pulsación y el contenido
del menú Seleccionado (campo ACTIONS)
La ayuda sobre el tema del tipo de datos (campo DESCRIPTIONDESCRIPTION, campo
tipos de datosayuda sobre
ayudasobre tipo de datos)
Especificación de la imagen de icono utilizada
para un tipo de datosiconostipos
de datostipos de datos
iconos para
Utilice el campo ICON, campo
para tipo de datosICON para especificar
el icono utilizado en el Gestor de archivos. Si no especifica ninguna imagen
de icono, el Gestor de archivos mostrará sólo una etiqueta.
El valor del campo ICON, campo
valores válidosICON puede
ser:
Unnombre de archivo base
iconosnombre de archivo base nombre
de archivo base.
El nombre de archivo base es el nombre del archivo que contiene la imagen
de icono, menos los sufijos de nombre de archivo para el tamaño ( l, m y t) y el tipo de imagen
(bm y pm). Por ejemplo, si los archivos
se llaman IconoJuegos.m.pm e IconoJuegos.t.pm, utilice IconoJuegos.
Si utiliza el nombre de archivo base, los archivos de iconos deben ponerse
en un directorio de la ruta de búsqueda de iconos:
Iconos personales: DirectorioInicio/.dt/icons
Iconos accesibles en el sistema: /etc/dt/appconfig/icons/idioma
Una ruta absoluta al archivo de iconos, incluido el nombre
de archivo completo.
Sólo deberá utilizar la ruta absoluta si el archivo de
iconos no está ubicado en la ruta de búsqueda de iconos. Por
ejemplo, si el archivo de iconos IconoJuegos.m.pm se
pone en el directorio /doc/projects, que no está
en la ruta de búsqueda de iconos, el valor del campo ICON será /doc/projects/IconoJuegos.m.pm.
La lista los tamaños de iconos que debe crear
y los correspondientes nombres de archivo.
Nombres y tamaños para iconos de tipos de
datos
Tamaño en pixelsNombre de mapa de bitsNombre de mapa de pixels
48 por 48
nombre.l.bm
nombre.l.pm
32 por 32
nombre.m.bm
nombre.m.pm
16 por 16
nombre.t.bm
nombre.t.pm
Cómo asociar los tipos de datos
tipos de datosasociar con acciones
con las accionesaccionesasociar con tipos de datostipos
de datosasociar con acciones
Existen dos procedimientos para que los tipos de datos se asocien con
las acciones:
El campo ACTIONS, campo
ACTIONS de la definición DATA_ATTRIBUTES lista las acciones que aparecerán en el menú Seleccionado
del Gestor de archivos. La primera acción de la lista es la acción
predeterminada (doble pulsación).
Las acciones pueden restringirse a tipos de datos especificados
utilizando el campo ARG_TYPE, campo
ARG_TYPE de la definición de acción.
Por ejemplo, la siguiente definición de tipo de datos crea un
tipo de datos para archivos especiales “readme” creados por el
administrador del sistema que utilizan el convenio de denominación
*.rm.
DATA_ATTRIBUTES SysReadmeFile
{
ICON SysReadMe
ACTIONS Open,Respond
}
DATA_CRITERIA SysReadmeFileCriteria
{
NAME_PATTERN *.rm
DATA_ATTRIBUTES_NAME SysReadmeFile
}
Se define una acción especial Respond debajo del archivo. Abre
una copia del archivo en el Editor de textos en la que se puede escribir.
Cuando se guarda el archivo y se sale del Editor de textos, el archivo se
envía al administrador del sistema (dirección de correo sysadmin@utd).
ACTION Respond
{
ARG_TYPE SysReadmeFile
EXEC_STRING /bin/sh -c 'cp %Arg_1% $HOME/readme.temp;\
chmod +w $HOME/readme.temp; \
dtpad $HOME/readme.temp; \
cat $HOME/readme.temp | \
/usr/bin/mailx sysadmin@utd; \
rm $HOME/readme.temp'
WINDOW_TYPE NO_STDIO
}
Cómo ocultar archivos basándose en el tipo de datos
archivosocultar basándose en el tipo
de datostipos de datos
ocultosocultar archivos
con tipo de datos
Si un archivo es un tipo de datos invisible, no aparece nunca en el
Gestor de archivos.
Utilice el campo PROPERTIES de la definición
DATA_ATTRIBUTES para especificar qué objetos
de este tipo deben ocultarse:
PROPERTIES invisible
Especificación de comportamientos cuando se manipula el archivo
Los siguientes campos DATA_ATTRIBUTES los utilizan
principalmente los programas de aplicaciones. Especifican cómo se comportan
los archivos cuando el usuario realiza diversas actividades de escritorio.
Para obtener más información, consulte el manual Common Desktop Environment Programmer's Guide, que forma parte
de la documentación de entorno del programador.
CampoDescripción
MOVE_TO_ACTION,
campoMOVE_TO_ACTION
Para contenedores, como por ejemplo
directorios. Especifica una acción que se debe ejecutar cuando se mueve
el archivo a un contenedor de este tipo de datos.
COPY_TO_ACTIONCOPY_TO_ACTION,campo
Para contenedores, como por ejemplo
directorios. Especifica la acción que se debe ejecutar cuando se copia
un archivo en un contenedor de este tipo de datos.
LINK_TO_ACTION,
campoLINK_TO_ACTION
Especifica una acción que se
debe ejecutar cuando un archivo se enlaza a un archivo de este tipo de datos.
IS_TEXT,
campoIS_TEXT
Especifica que los archivos de este
tipo de datos contienen texto que se puede mostrar en un recuadro de texto.
MEDIA,
campoMEDIA
Especifica el tipo de soporte de ToolTalk
correspondiente.
MIME_TYPE_MEDIA,
campoMIME_TYPE
Especifica el tipo MIME correspondiente.
X400_TYPE,
campoX400_TYPE
Especifica el tipo X400 correspondiente.
Definición de los criterios de datos para
un tipo de datostipos de datoscriteriostipos de datosdiferenciartipos de datos
criterios de clasificación por categorías
2
La definición DATA_CRITERIA
definirDATA_CRITERIA define
los criterios utilizados para asignar un tipo de objeto a un archivo o directorio.
Se pueden utilizar los siguientes criterios para los tipos de objeto:
CriteriosDescripción
Nombre de archivo
El nombre de archivo debe coincidir
con un patrón especificado. Utilice el campo
NAME_PATTERN, campoNAME_PATTERN.
Ubicación de archivo
La ruta debe coincidir con un patrón
especificado. Utilice el campo PATH_PATTERN,
campoPATH_PATTERN.
Contenido de archivo
Una parte especificada del contenido
del archivo deben coincidir con los datos especificados. Utilice el campo
CONTENT, campoCONTENT.
Modo de archivo
El archivo debe procesar los permisos
especificados (lectura, escritura, ejecución y directorio). Utilice
el campo MODE, archivoMODE.
enlaces simbólicoscriterios de tipos de datosEnlaces
simbólicos
La escritura se basa en el archivo
al que está conectado el objeto.
Se puede utilizar más de un criterio para un tipo de datos. Sin
embargo, no se deberá utilizar los criterios NAME_PATTERN y PATH_PATTERN en el mismo tipo de datos.
Tipos de datos basados en el nombretipos de datosbasados en el nombre
basados en el nombre, tipos de datos
Utilice el campo NAME_PATTERN para especificar
el requisito de denominación. El valor del campo puede incluir los
siguientes caracteres comodín:
??, carácter
comodín
Coincide con cualquier carácter
individual
**, carácter comodíncaracteres comodín en tipos de datos
Coincide con cualquier secuencia de
caracteres (incluida una cadena nula)
[cc…]
Coincide con cualquiera de los caracteres
(c) encerrados entre corchetes
[c−c]
Coincide con cualquiera de los caracteres
del rango c a c
Ejemplos
La siguiente definición de tipo de datos crea un tipo
de datos basándose en el nombre de archivo. El nombre de archivo debe
empezar por QS y terminar por .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 puede ser de 0 a 9.
DATA_ATTRIBUTES Demo_directory
{
DESCRIPTION Esto es un directorio. Pulse dos veces para abrirlo.
ICON Demo
ACTIONS OpenInPlace,OpenNewView
}
DATA_CRITERIA Demo_directory_criteria
{
NAME_PATTERN Demo_[0-9]
MODE d
DATA_ATTRIBUTES_NAME Demo_directory
}
Tipos de datos basados en la ubicacióntipos de datosbasados en la ruta
tipos de datosbasados en la ubicaciónbasados en la ubicación,tipos
de datosbasados en la ruta, tipos
de datos
Utilice el campo PATH_PATTERN, campo
sintaxisPATH_PATTERN para especificar
la ruta. Puede utilizar los mismos caracteres comodín que con NAME_PATTERN.
Por ejemplo, el siguiente tipo de datos utiliza un criterio basado en
la ruta.
DATA_ATTRIBUTES Project_Graphics
{
DESCRIPTION Archivo de gráficos para el proyecto QS. Pulse dos veces el \
icono para ver el gráfico.
ICON QSgraphics
}
DATA_CRITERIA Project_Graphics_Criteria
{
DATA_ATTRIBUTES_NAME Project_Graphics
PATH_PATTERN */projects/QS/graphics/*
}
Tipos de datos basados en el nombre y la ubicación
Para crear un tipo de datos basado en la ubicación y el nombre
de archivo incluya el nombre en el valor PATH_PATTERN.
No puede utilizar NAME_PATTERN y PATH_PATTERN en la misma definición de criterios.
Ejemplos
El tipo de datos Archivos_Fuente_QS definido a continuación
es aplicable 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 Archivos_Fuente_QS
}
El siguiente tipo de datos se aplica a todos los archivos
del directorio /doc/project1 llamados chnn.xxx
donde n es 0 a 9 y xxx es cualquier sufijo de nombre de archivo de tres caracteres.
”DATA_ATTRIBUTES ChapterFiles
{
DESCRIPTION Archivo de capítulos para el documento de proyecto.
ICON capítulo
ACTIONS Edit,Print
}
DATA_CRITERIA Chapter_Criteria
{
PATH_PATTERN /doc/project1/ch[0-9][0-9].???
DATA_ATTRIBUTES_NAME ArchivosCapítulo
}
Utilización de los modos de archivo como
criterios de escrituratipos de datoscriterios de modo
Utilice el campo MODE, campo
sintaxisMODE para especificar
los permisos necesarios.
Los criterios de modo se utilizan normalmente en combinación
con la escritura de los datos basados en el nombre, basados en la ubicación
o basados en el contenido. Le permiten limitar un tipo de datos a un archivo
o a un directorio o bien especificar los permisos de lectura, escritura o
ejecución necesarios.
El campo MODE puede incluir los siguientes caracteres
y operadores lógicos:
OperadorDescripción
!
Operador lógico
NOT, operador en campo MODE NOT
&
Operador lógico
AND, operador en campo MODE AND
|
OR, operador en
campo MODEOR lógico
Carácter
Descripción
farchivo,
criterios de tipo de datos
El tipo de datos sólo es aplicable
a archivos
ddirectorio criterios de tipo de datos
El tipo de datos sólo es aplicable
a directorios
r
Cualquier usuario puede leer el archivo
wcriterios de tipo de datos de sólo lectura
tipos de datossólo lectura
Cualquier usuario puede escribir en
el archivo
xtipos de datosejecutable
archivo ejecutable, criterios de tipo de datos
Cualquier usuario puede ejecutar el
archivo
lenlace,
tipo de datos
El archivo es un enlace
u
El archivo es set-uid
g
El archivo es set-gid
El valor predeterminado para un modo determinado es que el modo no tiene
importancia.
Ejemplos
Los siguientes campos de modo restringen el tipo de datos
tal como 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&w&x
Archivos que se pueden ejecutar y en
los que se puede escribir
x|!w
Archivos que son ejecutables o de sólo
lectura
La siguiente definición de tipos de datos crea un tipo
de datos para archivos de sólo lectura no ejecutables cuyos nombres
de archivo siguen el convenio de denominación *.doc.
Se supone que se ha definido una acción Vista para el tipo de datos.
DATA_ATTRIBUTES ReadOnlyDocument
{
ICON sólo_lectura
DESCRIPTION No se puede escribir en este documento.\
Si se pulsa dos veces se ejecuta el editor con \
una copia de sólo lectura de archivo.
ACTIONS View
}
DATA_CRITERIA ReadOnlyDocument_Criteria
{
NAME_PATTERN *.doc
MODE !d&!x&!w
DATA_ATTRIBUTES_NAME ReadOnlyDocument
}
Establecimiento del tipo de datos basado en el contenido
tipos de datosbasados en el contenido
tipo de datos basado en el contenido
Utilice el campo CONTENT, campo
CONTENT para especificar el tipo de datos basado en
el contenido del archivo. El tipo de datos basado en el contenido puede utilizarse
en combinación con el tipo de datos basado en el nombre o en la ubicación.
El tipo puede basarse en el contenido numérico o el contenido
de la cadena de caracteres de los archivos. El primer byte del archivo se
numera como 0.
Para el contenido de cadena de caracteres de un archivo, utilice
la sintaxis:
CONTENT byte_inicial string cadena
Para el contenido numérico de un archivo, utilice la
sintaxis:
CONTENT byte_inicial byte número
CONTENT bite_inicial short número
CONTENT byte_inicial long número
Para el contenido de un directorio, utilice la sintaxis:
CONTENT 0 filename "nombre_archivo"
Utilice la anotación C estándar para los números
octales (0 inicial) y hexadecimales (0X
inicial).
La utilización del tipo de datos basado en el contenido producirá
un rendimiento más lento del sistema. Siempre que sea posible, utilice
en su lugar el tipo de datos basado en el nombre o en la ubicación.
Por ejemplo, el siguiente tipo de datos, Writable_Wingz, se aplica a
todos los archivos con permiso de escritura que contienen la cadena WNGZ al principio del archivo.
DATA_ATTRIBUTES Writable_Wingz
{
…
}
DATA_CRITERIA Writable_Wingz_Criteria
{
CONTENT 0 cadena WNGZ
MODE w&!d
DATA_ATTRIBUTES_NAME Writable_Wingz
}
Crear un tipo de datos con varios criterios independientes
tipos de datosmúltiples criterios
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 DATA_ATTRIBUTES
para el tipo de datos.
Cree una definición DATA_CRITERIAmúltiplesDATA_CRITERIA para cada criterio.
Utilice el campo DATA_ATTRIBUTES_NAME para conectar
cada criterio con la misma definición DATA_ATTRIBUTES.
Por ejemplo, las siguientes definiciones crean el tipo de datos Mif.
El tipo se basa en el nombre o el contenido.
DATA_ATTRIBUTES Mif
{
ICON Marco
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 cadena MIFFile
}
Creación de tipos de datos de entorno nacionaltipos de datosde entorno nacional
entorno nacionaltipo de datos
La ruta de búsqueda de tipos de datos incluye ubicaciones que
dependen del idioma. El escritorio utiliza el valor deLANG, variableefecto en los tipos de datos
LANG para determinar las ubicaciones
en las que se buscan las definiciones de tipos de datos.
Ubicaciones para los tipos de datos de entorno nacional
Las definiciones de tipos de datos de entorno nacional deben ponerse
en los directorios dependientes del idioma apropiados de la ruta de búsqueda
de acciones.
La ruta de búsqueda predeterminada es:
Acciones personales: DirectorioInicio/.dt/types
Acciones accesibles en el sistema: /etc/dt/appconfig/types/idioma
Acciones incorporadas: /usr/dt/appconfig/types/idioma
Establecer el entorno nacional para un tipo de datos
Cree un archivo en el directorio adecuado dependiente del
idioma (por ejemplo, en /etc/dt/appconfig/types/japanese).
Copie la definición de tipo de datos en el archivo
de configuración dependiente del idioma.
Establezca el entorno nacional para uno o más campos
de la definición del tipo de datos.