Skip to content

Commit fa97890

Browse files
committed
Add PRONOM export to the README
1 parent 9bb5ef5 commit fa97890

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,60 @@ PRONOM IDs that can then be referenced in the JSONID output.
413413
Evantually, PRONOM or a PRONOM-like tool might host an authoritative version
414414
of the JSONID registry.
415415

416+
### JSONID for PRONOM Signature Development
417+
418+
JSONID provides a high-level language for output of PRONOM compatible
419+
signatures. The feature set is still in its BETA phase but JSONID provides
420+
two distinct capabilities:
421+
422+
#### 1. Registry output
423+
424+
JSONID's registry can be output using the `--pronom` flag. A signature file
425+
will be created under `jsonid_pronom.xml` which can be imported into DROID
426+
for identification of document types registered with JSONID.
427+
428+
JSONID's registry is output alongisde a handful of baseline JSON signatures
429+
designed to capture "plain"-JSON that is not yet encoded in the registry.
430+
431+
#### 2. Signature development
432+
433+
A standalone `json2pronom` utility is provided for creation of potentially
434+
robust DROID compatible signatures.
435+
436+
As a high-level language, signatures can be defined in easy to understand
437+
syntax and then output consistently via the `json2pronom` utility. Signatures
438+
include sensible defaults for whitespace and other aspects that are
439+
difficult for signature developers to consistently anticipate when writing
440+
JSON based signatures.
441+
442+
Given a [sample pattern file](./pronom_example/patterns_example.json) a DROID
443+
compatible snippet can be output as follows (UTF-8 shown for brevity):
444+
445+
<!--markdownlint-disable-->
446+
447+
```xml
448+
<?xml version="1.0" ?>
449+
<FFSignatureFile xmlns="http://www.nationalarchives.gov.uk/pronom/SignatureFile" Version="1" DateCreated="2026-01-04T16:14:16Z">
450+
<InternalSignatureCollection>
451+
<InternalSignature ID="1" Specificity="Specific">
452+
<ByteSequence Reference="BOF" Sequence="{0-4095}7B" MinOffset="0" MaxOffset="4095"/>
453+
<ByteSequence Reference="VAR" Sequence="226B65793122{0-16}3A" MinOffset="" MaxOffset=""/>
454+
<ByteSequence Reference="VAR" Sequence="226B65793222{0-16}3A" MinOffset="" MaxOffset=""/>
455+
<ByteSequence Reference="EOF" Sequence="7D{0-4095}" MinOffset="0" MaxOffset="4095"/>
456+
</InternalSignature>
457+
</InternalSignatureCollection>
458+
<FileFormatCollection>
459+
<FileFormat ID="1" Name="JSONID2PRONOM Conversion (UTF-8)" PUID="jsonid2pronom/1" Version="" MIMEType="application/json" FormatType="structured text">
460+
<InternalSignatureID>1</InternalSignatureID>
461+
<Extension>json</Extension>
462+
</FileFormat>
463+
</FFSignatureFile>
464+
```
465+
466+
<!--markdownlint-enable-->
467+
468+
Feedback on this utility is welcome.
469+
416470
## Output format
417471

418472
Previously JSONID output YAML containing all result object metadata. It has

0 commit comments

Comments
 (0)