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
24 2) Version A standard Amiga-version-string. Used in the FVER-chunk.
25 This Keyword is optional. When it is missing no FVER-chunk
28 3) BaseName BaseName of the DataType as it resides in
29 Sys:Classes/DataTypes . No ".datatype" must be appended.
31 4) Pattern FileNamePattern, an standard Amiga-pattern.
32 This is AmigaOS, not a crippled OS-wannabe from Redmont.
33 So 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 Comparision 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 complain to the rules.
48 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
51 7) ID ID The ID of this DataType. This ID must complain to the rules.
52 createdtdesc doesn't check the validity. See <datatypes/datatypes.h>
55 8) Flags Flags as defined in <datatypes/datatypes.h> The following
65 Multiple flags must be separated by ',' without spaces between.
67 9) Priority Priority In most cases priority is 0. When this Keyword
68 is missing 0 is assumed.
74 # The following blank line is ignored, too.
76 # Name - name of the DataType
77 # Used in the NAME-chunk and
78 # in DataTypeHeader->dth_Name .
81 # Version - Amiga-version-string
82 # Used in a FVER-chunk.
84 Version=$VER: ILBM 44.5 (03-Nov-2000)
86 # BaseName - name of the DataType-class
87 # Used in DataTypeHeader->dth_BaseName .
90 # Pattern - filenamepattern
91 # Hey, this is not MSDOS, you shouldn't use filenamepatterns.
92 # When this is missing '#?' is assumed.
93 # Used in DataTypeHeader->dth_Pattern .
96 # Mask - the recognition-mask
97 # Used in DataTypeHeader->dth_Mask .
98 # DataTypeHeader->dth_MaskLen is counted from this string.
99 Mask='F' 'O' 'R' 'M' ANY ANY ANY ANY 'I' 'L' 'B' 'M'
101 # GroupID - GroupID as descriped in <datatypes/datatypes.h>
102 # Used in DataTypeHeader->dth_GroupID .
105 # ID - ID of the DataType
106 # Used in DataTypeHeader->dth_ID .
109 # Flags - flags as descriped in <datatypes/datatypes.h>
110 # Used in DataTypeHeader->dth_Flags .
111 Flags=DTF_IFF,DTF_CASE
113 # Priority - priority of the Datatype
114 # In most cases this is 0.
115 # When this is missing 0 is assumed.
116 # Used in DataTypeHeader->dth_Priority .