Definitionen för DATA_CRITERIA anger de villkor som används för att tilldela en fil eller mapp en datatyp
Du kan använda villkoren som definieras i Tabell 13-3 för objekttypsbestämning.
Tabell 13-3 DATA_CRITERIA Villkor och beskrivningar
Du kan använda fler än ett villkor för en datatyp. Du bör däremot inte använda villkoren NAME_PATTERN eller PATH_PATTERN i samma datatyp.
Använd fältet NAME_PATTERN för att ange namngivningskrav. Fältvärdet kan innehålla följande jokertecken:
? - matchar ett valfritt tecken
* - matchar noll eller flera tecken i följd
[tt...] - matchar något av de tecken (t) som omsluts av hakparentes
[t-t] - matchar något av tecknen i intervallet t t o m t
Följande datatypsdefinition skapar en datatyp baserat på filnamnet. Filnamnet måste börja med QS och sluta med .doc.
DATA_ATTRIBUTES QS_Doc
{
DESCRIPTION Den här filen innehåller ett dokument för \
projektet QS.
ICON Word_Doc
ACTIONS Open
}
DATA_CRITERIA QS_Doc_Criteria
{
NAME_PATTERN QS*.doc
DATA_ATTRIBUTES_NAME QS_Doc
}
Följande definition skapar en datatyp för mappar med namnet Demo_n där n är i intervallet mellan 0 och 9.
DATA_ATTRIBUTES Demomapp
{
DESCRIPTION Det här är en mapp. Dubbelklicka för att öppna den.
ICON Demo
ACTIONS OpenInPlace,OpenNewView
}
DATA_CRITERIA Demo_directory_criteria
{
NAME_PATTERN Demo_[0-9]
MODE d
DATA_ATTRIBUTES_NAME Demomapp
}
Använd fältet PATH_PATTERN för att ange sökväg. Du kan använda samma jokertecken som med NAME_PATTERN.
Följande datatyp använder ett villkor baserat på sökvägen.
DATA_ATTRIBUTES Projektgrafik
{
DESCRIPTION Grafikfil för projektet QS. Dubbelklicka på ikonen \
om du vill visa grafiken.
ICON QSgraphics
}
DATA_CRITERIA Projektgrafikvillkor
{
DATA_ATTRIBUTES_NAME Projektgrafik
PATH_PATTERN */projects/QS/graphics/*
}
Om du vill skapa en datatyp baserat på både filnamn och sökväg, tar du med namnet i värdet PATH_PATTERN. Du kan inte använda både NAME_PATTERN och PATH_PATTERN i samma villkorsdefinition.
Datatypen QS_källfiler som definieras nedan gäller för alla filer med namnet appn.c (där n ligger inom intervallet 1 till 9) som finns i undermappar till */projects/QS.
DATA_ATTRIBUTES QS_källfiler
{
...
}
DATA_CRITERIA QS_källfilsvillkor
{
PATH_PATTERN */projects/QS/*/app[1-9].c
DATA_ATTRIBUTES_NAME QS_källfiler
}
Följande datatyp gäller för alla filer i mappen /doc/project1 som heter chnn.xxx där n är i intervallet mellan 0 och 9 och xxx är ett valfritt filnamnssuffix på tre tecken.
DATA_ATTRIBUTES Kapitelfiler
{
DESCRIPTION Kapitelfil för projektdokumentet.
ICON chapter
ACTIONS Edit,Print
}
DATA_CRITERIA Kapitelvillkor
{
PATH_PATTERN /doc/project1/ch[0-9][0-9].???
DATA_ATTRIBUTES_NAME Kapitelfiler
}
Använd fältet MODE för att ange vilka behörigheter som krävs.
Lägesvillkor används normalt i kombination med namnbaserade, sökvägsbaserade eller innehållsbaserade datatyper. Med dessa kan du begränsa en datatyp till en fil eller mapp, eller ange om det krävs behörighet för att läsa, skriva eller använda.
Fältet MODE kan innehålla logiska operatorer (Tabell 13-4) och tecken (Tabell 13-5).
Tabell 13-4 MODE Logiska operatorer|
Operator |
Beskrivning |
|---|---|
|
! | |
|
& | |
|
| |
Tabell 13-5 MODE Fälttecken och beskrivningar
|
Tecken |
Beskrivning |
|---|---|
|
Datatypen gäller bara filer |
|
|
Datatypen gäller bara mappar |
|
|
r |
Filen kan läsas av alla användare |
|
Filen kan ändras av alla användare. |
|
|
Filen kan köras av alla användare. |
|
|
Filen är en länk |
Standardinställningen för ett behörighetsläge är att läget inte spelar någon roll.
Följande fält begränsar datatypen enligt följande:
f&!w - skrivskyddade filer
!w - skrivskyddade filer och mappar
f&x - körbara filer
f&r&x - filer som både kan ändras och köras
x|!w - filer som är körbara eller skrivskyddade
Följande datatypsdefinition skapar en datatyp för skrivskyddade, icke körbara filer vars filnamn följer namnkonventionen *.doc. Den förutsätter att det redan har skapats en visningsfunktion för datatypen.
DATA_ATTRIBUTES Skrivskyddat_dokument
{
ICON read_only
DESCRIPTION Det här dokumentet kan inte ändras. Om du \
dubbelklickar körs redigeraren med en \
skrivskyddad kopia av filen.
ACTIONS View
}
DATA_CRITERIA Skrivskyddat_dokument_villkor
{
NAME_PATTERN *.doc
MODE !d&!x&!w
DATA_ATTRIBUTES_NAME Skrivskyddat_dokument
}
Använd fältet CONTENT för att ange datatyp baserat på filens innehåll. Innehållsbaserad datatypsbestämning kan användas i kombination med namn- eller platsbaserad datatypsbestämning.
Typbestämningen kan baseras på texten i filen eller på dess numeriska innehåll. Numret på filens första byte är 0.
För numeriskt innehåll använder du syntaxen:
CONTENT startbyte byte antal CONTENT startbyte short antal CONTENT startbyte long antal
För mappinnehåll använder du syntaxen:
CONTENT 0 filename "filnamn"
Använd den vanliga C-beteckningen för oktala (inledande o) och hexadecimala (inledande oX) tal.
Om du använder en innehållsbaserad datatyp kan systemets prestanda sjunka. Använd därför namn- eller sökvägsbaserade datatyper när det är möjligt.
Datatypen Skrivbar_Wingz gäller för alla filer med skrivbehörighet som innehåller strängen WNGZ i början av filen.
DATA_ATTRIBUTES Skrivbar_Wingz
{
...
}
DATA_CRITERIA Skrivbar_Wingz_villkor
{
CONTENT 0 string WNGZ
MODE w&!d
DATA_ATTRIBUTES_NAME Skrivbar_Wingz
}
Du kan skapa en datatyp med flera oberoende villkor - dvs filen tilldelas datatypen om den minst motsvarar ett av villkoren.
Skapa en DATA_ATTRIBUTES-definition för datatypen.
Skapa en DATA_CRITERIA-definition för varje villkor.
Använd fältet DATA_ATTRIBUTES_NAME för att ansluta alla villkor till samma DATA_ATTRIBUTES-definition.
Följande definitioner skapar datatypen Mif. Typen baseras på namn eller innehåll.
DATA_ATTRIBUTES Mif
{
ICON Frame
ACTION_LIST Open,Print
}
DATA_CRITERIA Mif_namnvillkor
{
DATA_ATTRIBUTES_NAME Mif
NAME_PATTERN *.mif
}
DATA_CRITERIA Mif_innehållsvillkor
{
DATA_ATTRIBUTES_NAME Mif
CONTENT 1 string MIFFile
}