1 Fileformat of a dtd-file
3 createdtdesc uses an ASCII-file to obtain the description
4 for an DataType-descriptor.
5 examinedtdesc creates one out of a DataType-descriptor.
6 These ASCII-files are the DataTypeDescriptions (*.dtd) .
7 *.dtd files consist of Keyword=Data pairs in separate lines.
8 Lines starting with a '#' or empty lines are ignored.
9 In fact, my parser is so dump, that it ignores anything
10 but the keywords. But this may change in future!
11 Currently you can feed this file FORMAT to createdtdesc and
12 it will produce a valid DataType descriptor.
13 Comments in lines are not allowed, even when they start with a '#'!
14 The Keyword must be followed immediatly by a '=' .
15 The whole rest of a line after the '=' is handled as the Data-part.
16 So be carefull with whitespace.
17 Keywords are case-sensitive.
18 Currently the following 9 Keywords are defined:
20 1) Name Name of the DataType. Used in the NAME-chunk and
21 as the dth_Name component in the struct DataTypeHeader
22 in the DTHD-chunk. The name is also used for default icons
25 2) Version A standard Amiga-version-string. Used in the FVER-chunk.
26 This Keyword is optional. When it is missing no FVER-chunk
27 is written. Hint: use 4 digit years to avoid wrong interpretation.
29 3) BaseName BaseName of the DataType as it resides in
30 Sys:Classes/DataTypes . No ".datatype" must be appended.
32 4) Pattern FileNamePattern, an standard Amiga-pattern.
33 I suggest not to use FileNamePatterns to recognice
34 a filetype. Please use the fit-all-pattern "#?" .
35 createdtdesc does this too, if Pattern is ommited.
37 5) Mask Comparison mask to identify a file by its constant parts.
38 To be specified as white space separated list of any
39 of the following items:
41 - specific char (ASCII) : 'A' 'B' '1' '2'
43 - specific char (numeric) : 10 100 12 0xd8
45 - wildcard matching any char: ANY
47 6) GroupID GroupID of the DataTypes group. This ID must comply to the rules.
48 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
51 syst : System file, such as; directory, executable, library, device, font, etc.
52 text : Formatted or unformatted text
53 docu : Formatted text with graphics or other DataTypes
55 inst : Musical instruments used for musical scores
58 anim : Animated picture
59 movi : Animation with audio track
61 7) ID The ID of this DataType. This ID must complain to the rules.
62 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
65 For IFF types it is the Form type, for other files it's the first
66 four characters of the name of the file type.
68 8) Flags Flags as defined in <datatypes/datatypes.h> The following
75 DTF_CASE (AROS uses this for comparing the Mask)
78 Multiple flags must be separated by ',' without spaces between.
80 9) Priority In most cases priority is 0. When this Keyword
81 is missing 0 is assumed.
87 # The following blank line is ignored, too.
89 # Name - name of the DataType
90 # Used in the NAME-chunk and
91 # in DataTypeHeader->dth_Name .
94 # Version - Amiga-version-string
95 # Used in a FVER-chunk.
97 Version=$VER: ILBM 44.5 (03-Nov-2000)
99 # BaseName - name of the DataType-class
100 # Used in DataTypeHeader->dth_BaseName .
103 # Pattern - filenamepattern
104 # Hey, this is not MSDOS, you shouldn't use filenamepatterns.
105 # When this is missing '#?' is assumed.
106 # Used in DataTypeHeader->dth_Pattern .
109 # Mask - the recognition-mask
110 # Used in DataTypeHeader->dth_Mask .
111 # DataTypeHeader->dth_MaskLen is counted from this string.
112 Mask='F' 'O' 'R' 'M' ANY ANY ANY ANY 'I' 'L' 'B' 'M'
114 # GroupID - GroupID as descriped in <datatypes/datatypes.h>
115 # Used in DataTypeHeader->dth_GroupID .
118 # ID - ID of the DataType
119 # Used in DataTypeHeader->dth_ID .
122 # Flags - flags as descriped in <datatypes/datatypes.h>
123 # Used in DataTypeHeader->dth_Flags .
124 Flags=DTF_IFF,DTF_CASE
126 # Priority - priority of the Datatype
127 # In most cases this is 0.
128 # When this is missing 0 is assumed.
129 # Used in DataTypeHeader->dth_Priority .