Jump to navigation Jump to search
KOST-Val is an open source validator for different file formats (TIFF, SIARD, PDF/A, JP2, JPEG) and Submission Information Package (SIP).
License:GNU General Public License 3+
Platforms:should run under Java 1.6 on Windows
Input Formats:JP2, JPEG, PDF/A, SIARD, TIFF
Function:Quality Assurance,Validation
Content type:Database,Document,Image


The KOST-Val application is used to validate TIFF, SIARD, PDF/A, JP2, JPEG files and Submission Information Package (SIP).

KOST-Val supersedes the format validation tools SIARD-VAL, TIFF-Val and SIP-Val by KOST-CECO.

Functional Principle[edit]

KOST-Val complies with the following requirements.

  • TIFF validation: KOST-Val reads a TIFF file and uses JHOVE to validate the structure, the content, and ExifTool to validate the key properties such as compression, colour space, and multipage. These properties can be configured.
  • SIARD validation: KOST-Val reads a SIARD (eCH-0165 v1 and v2-2017) file and validates the structure and the content.
  • PDF/A validation: KOST-Val reads a PDF or PDF/A file (ISO 19005-1 and 19005-2) and uses 3-Heights™ PDF/A Validator by PDF-Tools or pdfaPilot by callas to validate the structure and the content of the PDF file. KOST-Val organises the different error messages into main categories such as fonts, graphics, and metadata. KOST-Val supplies only a limited version from 3-Heights™ PDF/A Validator by PDF-Tools and pdfaPilot by callas. Module J extracts (with iText) and validates the JPEG and JP2 images contained in the PDF file (depending on the configuration). It is also possible to configure whether the JBIG2 compression is accepted or not.
  • JP2 validation: KOST-Val reads a JP2 file (ISO 15444) and uses Jpylyzer to validate the structure and the content.
  • JPEG validation: KOST-Val reads a JPEG file (ISO 10918-1) and uses Bad Peggy to validate the structure and the content.
  • SIP validation: KOST-Val reads an SIP (eCH-0160 v1 and v1.1 ) and validates the mandatory requirements of the SIP specification. The validated requirements are organised into groups such as folder structure, schema validation, and checksum validation. At the outset, a file format validation is performed.

The results (including information on inconsistencies and errors) are output for every step and written into a validation log. The validation steps are executed sequentially. Whenever possible the validation shall continue after an error has been detected in order to reduce the number of correction cycles.

KOST-Val FuntionalPrincipleFormatValidation.JPG

Third-party applications[edit]

KOST-Val uses unmodified components of other manufacturers by embedding them directly into the source code. Users of KOST-Val are requested to adhere to these components ‘terms of licence.

  • The TIFF validation module uses JHOVE and ExifTool and evaluates its output further.
  • For the PDF/A validation module pdfaPilot or 3-Heights™ PDF/A Validator are used.
  • The JP2 validation module uses Jpylyzer and translates the failed tests into appropriate error messages (DE/FR/EN).
  • The JPEG validation module uses Bad Peggy and evaluates the error message "Not a JPEG file" further.
  • To extract the JPEG and JP2 images from PDF/A the iText library is used.
  • For the file format identification DROID is used. For performance and granularity reasons an own SignatureFile is used instead of the official PRONOM registry.

Read Me & Download[edit]

The KOST-Val application is used to validate TIFF, SIARD, PDF/A, JP2, JPEG files and Submission Information Package (SIP).

KOST-Val, Copyright (C) 2012-2017 Claire Roethlisberger (KOST-CECO), Christian Eugster, Olivier Debenath, Peter Schneider (Staatsarchiv Aargau), Markus Hahn (coderslagoon), Daniel Ludin (BEDAG AG)

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see GPL-3.0_COPYING.txt for details.

You can download KOST-Val under http://github.com/KOST-CECO/KOST-Val/releases. For installation instructions please check the manual (DE/FR/EN).

SIARD format[edit]

SIARD stands for Software Independent Archiving of Relational Databases. Originally the Swiss Federal Archives (SFA) have developed the SIARD format as a sustainable solution for the archiving of relations databases.

In early 2013 SIARD format has been adopted as an eCH Standard (eCH-0165: SIARD format specification https://www.ech.ch/ech/ech-0165).

eCH is the Swiss organization for standardization in the field of e-government. eCH Standards define guidelines for recurring applications and their results, as for example format definitions or procedural standards. The aim of those standards is to unify and thus facilitate the electronic collaboration between authorities as well as between authorities and organizations, educational and research institutions, firms and private organizations.


See http://github.com/KOST-CECO/KOST-Val/issues

Feedback & Issues[edit]

Feedback about KOST-Val is very welcome at http://github.com/KOST-CECO/KOST-Val/issues or kost-val[at]kost-ceco.ch


User Experiences[edit]

  • ZBW:
    • KOST-Val v1.6.0
    • The tool is very easy to install and to handle.
    • The output in xml-Format (open in a browser to have a table) is easy to understand
    • Running the JPEG-Module against almost 2,400 JPEGs has only lasted 7 minutes
    • The tool recognises fake-JPEGs (jpeg-extension, but no jpeg inside) and issues with jpegs and can differentiate easily between these two cases.


Development Activity[edit]

All development activity is visible on GitHub: http://github.com/KOST-CECO/KOST-Val/commits

Release Feed[edit]

Below the last 3 release feeds:

2021-08-30 12:07:20
[tag:github.com,2008:Repository/10448958/v2.0.5.2 v2.0.5.2]
by Chlara
2021-08-24 09:10:45
[tag:github.com,2008:Repository/10448958/v2.0.5.bf1 v2.0.5.bf1]
by Chlara
2021-07-15 10:58:56
[tag:github.com,2008:Repository/10448958/v2.0.5 v2.0.5]
by Chlara

Activity Feed[edit]

Below the last 5 commits:

2021-08-30 11:57:31
[tag:github.com,2008:Grit::Commit/6d61d0b9c59206617e3ac81fc5f8dac9dff57c8f KOST-Val]
by Chlara https://github.com/Chlara
2021-08-24 09:26:13
[tag:github.com,2008:Grit::Commit/d73c9d9133b4dd49888ef3533fba6163c2494a07 KOST-Val 2.0.5 (t1)]
by Chlara https://github.com/Chlara
2021-08-24 08:36:09
[tag:github.com,2008:Grit::Commit/582c13b40031c8c166cd86b9c529900c408eecb7 KOST-Val 2.0.5 (bf1)]
by Chlara https://github.com/Chlara
2021-07-14 06:35:11
[tag:github.com,2008:Grit::Commit/af09274a344dd71ed8e0512319b3c3b8c3efede8 KOST-Val 2.0.5 (3)]
by Chlara https://github.com/Chlara
2021-07-13 14:31:55
[tag:github.com,2008:Grit::Commit/b4bff070a254bdbd6a2f7d0a9e8e692ff274ed6a KOST-Val 2.0.5 (2)]
by Chlara https://github.com/Chlara