You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -17,9 +17,9 @@ DROID is a platform-independent Java application. It can be invoked from two int
17
17
18
18
DROID allows files and folders to be selected from a file system for identification. This file list can be saved at any point. After the identification process had been run, the results can be output in various report formats, including CSV.
19
19
20
-
DROID is made available under the [New BSD License](https://raw.github.com/digital-preservation/droid/master/license.md).
20
+
DROID is made available under the [New BSD Licence](https://raw.github.com/digital-preservation/droid/master/license.md).
21
21
22
-
More information can be found on the [DROID github pages](https://digital-preservation.github.io/droid/).
22
+
More information can be found on the [DROID GitHub pages](https://digital-preservation.github.io/droid/).
23
23
24
24
## Installing DROID
25
25
@@ -42,23 +42,23 @@ $ droid -R directory
42
42
...
43
43
~~~
44
44
45
-
If you don't need every bit of information that DROID outputs by default you can make it print only a limited set of columns using the `-co`, or `--columns` option (note the `-a`, it's required in this case!):
45
+
If you don't need every bit of information that DROID outputs by default, you can make it print only a limited set of columns using the `-co`, or `--columns` option (note the `-a`; it's required in this case!):
46
46
47
47
~~~console
48
48
$ droid -co NAME PUID -a file.jpg
49
49
"NAME","PUID"
50
50
"file.jpg","fmt/1507"
51
51
~~~
52
52
53
-
To remove even more noise from the output you can use the `-qc`, or `--quote-commas` switch which tells DROID to use quotes only where necessary:
53
+
To remove even more noise from the output, you can use the `-qc`, or `--quote-commas` switch which tells DROID to use quotes only where necessary:
54
54
55
55
~~~console
56
56
$ droid -qc -co NAME PUID -a file.jpg
57
57
NAME,PUID
58
58
file.jpg,fmt/1507
59
59
~~~
60
60
61
-
Beyond these basic invocations there are many additional options for advanced tweaking of DROID's operation. To learn about them run:
61
+
Beyond these basic invocations, there are many additional options for advanced tweaking of DROID's operation. To learn about them run:
If for some reason you want to use another, possibly older signature file for identification you can change the default with the `-s`, or `--set-signature-file` option (remember to switch back to the latest version when you are done!):
95
+
If for some reason you want to use another, possibly older signature file for identification, you can change the default with the `-s`, or `--set-signature-file` option (remember to switch back to the latest version when you are done!):
DROID can be built from source using Maven. The source code can be obtained from the Github repository at [https://github.com/digital-preservation/droid](https://github.com/digital-preservation/droid)
107
+
DROID can be built from source using Maven. The source code can be obtained from the GitHub repository at [https://github.com/digital-preservation/droid](https://github.com/digital-preservation/droid)
108
108
109
109
Once the code is cloned into a folder (e.g. `droid`), executing `mvn clean install` inside it will build the code. After a successful build, two archives are provided inside the `droid-binary/target` folder.
110
110
111
-
### Linux / OSX users
111
+
### Linux / macOS users
112
112
113
-
You will need JAVA 8 to 17 installed to run DROID.
113
+
You will need JAVA 21 installed to run DROID.
114
114
115
115
Unpack the archive `droid-binary-${VERSION}-bin.zip`, then use the `droid.sh` script to run the application.
Copy file name to clipboardExpand all lines: Signature syntax.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,15 +14,15 @@ The signature syntax compiled into XML by PRONOM is the original syntax defined
14
14
15
15
Container signatures support a wider syntax than binary signatures, for example allowing whitespace and ASCII strings. For the most part, this extended syntax just makes the signatures more human readable. In a few cases some new capabilities are supported that PRONOM can't currently compile for binary signatures.
16
16
17
-
All of the syntax can be used in either binary or container signatures in DROID itself, but PRONOM won't be able to compile container syntax into XML for binary signatures if you want to submit them to TNA.
17
+
All the syntax can be used in either binary or container signatures in DROID itself, but PRONOM won't be able to compile container syntax into XML for binary signatures if you want to submit them to TNA.
18
18
19
19
Container specific syntax is marked in the descriptions below.
20
20
21
21
### Value matching
22
22
The following syntax can be used to match bytes.
23
23
24
24
#### Bytes: 00 FF
25
-
Bytes to match are written as twodigit, caseinsensitive hex values.
25
+
Bytes to match are written as two-digit, case-insensitive hex values.
26
26
```
27
27
ff Fe A1 00
28
28
```
@@ -42,7 +42,7 @@ A single character enclosed in single quotes can also be used as in place of a b
42
42
_Note:_ due to a bug in the byteseek library, only ASCII characters are currently supported by DROID. Characters over 127 may cause incorrect compilation, as it attempts to render the characters in the system default character set, which is probably not ISO-8859-1.
43
43
44
44
#### Byte ranges: \[n:m]
45
-
To match a byte within a range of values, we can use a byte range. This is written as two byte values separated with a colon, all enclosed in square brackets. Bytes are specified as 2digit hex values.
45
+
To match a byte within a range of values, we can use a byte range. This is written as two byte values separated with a colon, all enclosed in square brackets. Bytes are specified as 2-digit hex values.
46
46
```
47
47
[30:39]
48
48
```
@@ -82,11 +82,11 @@ This will match all the bytes which have the 8th or 4th bit set (10001000):
82
82
_Note:_ the bitmask is not a standard part of the original PRONOM syntax; it originates in the byteseek matching library used by DROID. However, it is now being used in both binary and container signatures, although older versions of DROID won't be able to parse it in binary signatures.
83
83
84
84
### Alternatives: (00|F0|3C)
85
-
If there is a set of different values that can match, they can be specified inside round brackets, with the alternatives separated by the | character.
85
+
If there is a set of different values that can match, they can be specified inside round brackets, with the alternatives separated by the `|` character.
86
86
```
87
87
(00|F0|3C)
88
88
```
89
-
Alternatives can be longer than just a single byte. In this example, three byte sequences could be matched. Alternative sequences don't have to be the same length as each other:
89
+
Alternatives can be longer than just a single byte. In this example, three byte sequences could be matched. Alternative sequences don't have to be the same length as each other:
90
90
```
91
91
(00 01 | B0 B1 B2 | C0 C1 C2 C3)
92
92
```
@@ -97,13 +97,13 @@ Older binary signatures should only use hex bytes inside alternatives. Containe
97
97
```
98
98
99
99
#### Multi-byte sets: (00|C2|DE) or \[00 C2 DE]
100
-
The standard PRONOM binary syntax only supports multi-byte sets by specifying them as a set of alternative bytes. For example:
100
+
The standard PRONOM binary syntax only supports multi-byte sets by specifying them as a set of alternative bytes. For example:
101
101
```
102
102
(00|C2|DE)
103
103
```
104
104
105
105
**Container signature syntax**
106
-
Multibyte sets let you specify any set of bytes within square brackets. For example:
106
+
Multi-byte sets let you specify any set of bytes within square brackets. For example:
107
107
```
108
108
[00 C2 DE]
109
109
```
@@ -115,7 +115,7 @@ It can also include ranges or any other value matching syntax within the set:
115
115
```
116
116
[00 C2 DE 'A'-'Z' &01]
117
117
```
118
-
Strings can be used to specify particular byte values. Note that the string itself doesn't match - the set matches any of the characters in the string:
118
+
Strings can be used to specify particular byte values. Note that the string itself doesn't match - the set matches any of the characters in the string:
119
119
```
120
120
['A'-'Z' 'aeiou']
121
121
```
@@ -130,23 +130,23 @@ To match any byte, we can use two question marks:
130
130
```
131
131
132
132
#### Unlimited gaps *
133
-
To specify that there's a unlimited gap between two parts of an expression (subject to how far DROID is configured to actually scan or the end of the data, whichever comes first), we can write an asterisk.
133
+
To specify that there's an unlimited gap between two parts of an expression (subject to how far DROID is configured to actually scan or the end of the data, whichever comes first), we can add an asterisk.
134
134
135
135
The following expression will first match _30 31 23 33 4E_, and it will then search for _43 2A B1 D4 CC EF_ until the end of the data:
136
136
```
137
137
30 31 23 33 4E * 43 2A B1 D4 CC EF
138
138
```
139
139
140
140
#### Fixed gaps {n}
141
-
To specify that there's a gap of one or more bytes we don't care about, we can write the size of the gap as a decimal number, surrounded by curly brackets:
141
+
To specify that there's a gap of one or more bytes we don't care about, we can write the size of the gap as a decimal number, surrounded by curly braces:
142
142
```
143
143
01 02 03 {128} FF FE
144
144
```
145
145
146
146
Note that writing _{1}_ is equivalent to writing _??_.
147
147
148
148
#### Variable gaps {n-m}
149
-
To specify that there's a range of possible bytes we don't care about, we can write the range as two numbers separted by a hyphen, surrounded by curly brackets:
149
+
To specify that there's a range of possible bytes we don't care about, we can write the range as two numbers separated by a hyphen, surrounded by curly braces:
0 commit comments