I campi della sezione DATA_CRITERIA
definiscono i criteri da utilizzare
per assegnare un determinato tipo di oggetto ad un file o a una directory.
Per l'identificazione dei tipi di oggetti si possono usare i criteri indicati nella Tabella 13–3.
Tabella 13–3 DATA_CRITERIA: criteri e descrizioni
Si possono usare più criteri per uno stesso tipo di dati. Tuttavia, non si dovrebbero usare insieme i criteri NAME_PATTERN e PATH_PATTERN.
Usare il campo NAME_PATTERN per specificare il tipo di nome richiesto. Il valore del campo può includere i seguenti caratteri speciali:
?: corrisponde a qualsiasi carattere singolo
*: corrisponde a qualsiasi sequenza di caratteri (incluse le stringhe vuote)
[cc…]: corrisponde a uno qualsiasi dei caratteri (c) racchiusi tra parentesi
[c–c]: corrisponde a uno qualsiasi dei caratteri inclusi nell'ambito tra c e c
La definizione seguente crea un tipo di dati basato sul nome del file. Il nome deve iniziare con QS e terminare in .doc.
DATA_ATTRIBUTES QS_Doc { DESCRIPTION Questo file è un documento del progetto \ QS. ICON Word_Doc ACTIONS Open } DATA_CRITERIA Criteri_QS_Doc { NAME_PATTERN QS*.doc DATA_ATTRIBUTES_NAME QS_Doc }
La definizione seguente crea un tipo di dati applicabile alle directory di nome Demo_n, dove n è un valore da 0 a 9.
DATA_ATTRIBUTES Directory_demo { DESCRIPTION Directory: fare doppio clic per aprirla. ICON Demo ACTIONS OpenInPlace,OpenNewView } DATA_CRITERIA Criteri_directory_demo { NAME_PATTERN Demo_[0-9] MODE d DATA_ATTRIBUTES_NAME Directory_demo }
Usare il campo PATH_PATTERN per specificare il percorso. Si possono usare gli stessi caratteri speciali descritti per NAME_PATTERN.
Ad esempio, il tipo di dati seguente utilizza un criterio basato sul percorso.
DATA_ATTRIBUTES Illustrazioni_Progetto { DESCRIPTION File grafico per il progetto QS. Fare doppio clic \ sull'icona per visualizzarlo. ICON IllustrazioneQS } DATA_CRITERIA Criteri_Illustrazioni_Progetto { DATA_ATTRIBUTES_NAME Illustrazioni_Progetto PATH_PATTERN */progetti/QS/figure/* }
Per creare un tipo di dati basato sia sul nome del file che sulla posizione, includere il nome nel valore PATH_PATTERN. Non è possibile usare sia NAME_PATTERN che PATH_PATTERN nella stessa definizione dei criteri.
La seguente definizione del tipo di dati Sorgenti_QS si applica a tutti i file di nome appn.c, dove n è un valore da 1 a 9, situati nelle directory al di sotto di */progetti/QS.
DATA_ATTRIBUTES Sorgenti_QS { … } DATA_CRITERIA Criteri_Sorgenti_QS { PATH_PATTERN */progetti/QS/*/app[1-9].c DATA_ATTRIBUTES_NAME Sorgenti_QS }
Il tipo di dati seguente si applica a tutti i file della directory /doc/progetto1 di nome capnn.xxx, dove n è un valore da 0 a 9, e xxx è un qualsiasi suffisso di tre caratteri.
DATA_ATTRIBUTES Capitoli { DESCRIPTION Capitolo della relazione sul progetto. ICON capitolo ACTIONS Edit,Print } DATA_CRITERIA CriteriCapitoli { PATH_PATTERN /doc/progetto1/cap[0-9][0-9].??? DATA_ATTRIBUTES_NAME Capitoli }
Usare il campo MODE per specificare le autorizzazioni richieste.
I criteri di modalità vengono in genere utilizzati in combinazione con i tipi di dati basati sul nome, sulla posizione o sul contenuto. Permettono di limitare l'applicazione del tipo di dati ai file o alle directory, o di specificare i tipi di autorizzazioni richieste.
Il campo MODE può includere gli operatori logici indicati nella Tabella 13–4e i caratteri indicati nella Tabella 13–5.
Tabella 13–4 Descrizione degli operatori logici del campo MODE
Operatore |
Descrizione |
---|---|
! | |
& | |
| |
Tabella 13–5 Descrizione dei caratteri del campo MODE
Carattere |
Descrizione |
---|---|
Il tipo di dati è applicabile solo ai file |
|
Il tipo di dati è applicabile solo alle directory |
|
r |
Il file è leggibile da tutti gli utenti |
Il file è scrivibile da tutti gli utenti |
|
Il file è eseguibile da tutti gli utenti |
|
Il file è un collegamento |
Nell'impostazione predefinita, la modalità è irrilevante.
I campi seguenti limitano il tipo di dati nel modo descritto:
f&!w: file di sola lettura
!w: file e directory di sola lettura
f&x: file eseguibili
f&r&x: file scrivibili ed eseguibili
x|!w: file eseguibili o di sola lettura
La definizione seguente crea un tipo di dati applicabile a file di sola lettura e non eseguibili il cui nome corrisponda allo schema *.doc. Si presume che per questo tipo di dati sia stata definita un'azione Visualizza.
DATA_ATTRIBUTES DocumentoSolaLettura { ICON sola_lettura DESCRIPTION Questo documento non è accessibile in \ scrittura. Facendo doppio clic verrà \ avviato l'editor in modalità sola lettura. ACTIONS Visualizza } DATA_CRITERIA CriteriDocumentoSolaLettura { NAME_PATTERN *.doc MODE !d&!x&!w DATA_ATTRIBUTES_NAME DocumentoSolaLettura }
Usare il campo CONTENT per specificare l'identificazione del tipo di dati in base al contenuto del file. Questo criterio può essere usato insieme a quelli basati sul nome e sulla posizione.
Questo metodo di identificazione può essere basato sia su una stringa che su un numero contenuto nel file. Il primo byte del file corrisponde al numero 0.
Per identificare il tipo di dati in base a una stringa contenuta nel file, usare la sintassi:
CONTENT byte_iniziale string stringa
Per identificare il tipo di dati in base a un numero contenuto nel file, usare la sintassi:
CONTENT byte_iniziale byte numero CONTENT byte_iniziale short numero CONTENT byte_iniziale long numero
Per basare l'identificazione sul contenuto di una directory, usare la sintassi:
CONTENT 0 filename "nomefile"
Usare la notazione C standard per i numeri ottali (iniziando con o) ed esadecimali (iniziando con oX) .
L'uso del metodo di identificazione basato sul contenuto rallenterà le prestazioni del sistema. Se possibile, usare i criteri basati sul nome e sulla posizione.
Il tipo di dati seguente, Wingz_scrivibili, si applica a tutti i file con autorizzazione di scrittura contenenti la stringa WNGZ all'inizio del file.
DATA_ATTRIBUTES Wingz_scrivibili { … } DATA_CRITERIA Criteri_Wingz_scrivibili { CONTENT 0 string WNGZ MODE w&!d DATA_ATTRIBUTES_NAME Wingz_scrivibili }
È possibile creare un tipo di dati con diversi criteri indipendenti. In questo caso, un file può essere assegnato al tipo di dati se risponde ad uno o ad entrambi i criteri.
Definire la sezione DATA_ATTRIBUTES
per il tipo di dati.
Definire un campo nella sezione DATA_CRITERIA
per ogni attributo.
Usare il campo DATA_ATTRIBUTES_NAME per collegare
ognuno dei criteri alla stessa definizione di DATA_ATTRIBUTES
.
Le definizioni seguenti creano il tipo di dati Mif. L'identificazione del tipo di dati sarà basata sul nome o sul contenuto.
DATA_ATTRIBUTES Mif { ICON Frame ACTION_LIST Open,Print } DATA_CRITERIA Criteri_mif_Nome { DATA_ATTRIBUTES_NAME Mif NAME_PATTERN *.mif } DATA_CRITERIA Criteri_Mif_Contenuto { DATA_ATTRIBUTES_NAME Mif CONTENT 1 string MIFFile }