Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

OCFL Test Fixtures

All fixtures are for 1.0 and 1.1 releases of OCFL. Everything in this repository is organized by OCFL version number as the top-level directory.

OCFL releases

Within each version directory (e.g. the 1.0 directory) there are four directories:


This directory contains valid OCFL objects. Each directory is the OCFL object root of the valid object.


This directory contains content that can be used to test the construction of OCFL objects, as well as the subsequent extraction of data from OCFL objects. Each fixture in this directory contains a short README file describing the features of the fixture.

Some of these fixtures correspond to a valid OCFL object provided in the objects directory. These correspond by name. For example, content/spec-ex-full maps to objects/spec-ex-full, and content/cf1 maps to objects/of1.


This directory contains OCFL objects that should trigger warnings but not errors. The validation warning codes are used a prefixes to the object directory name, e.g. the fixture object W001_W004_W005_zero_padded_versions is expected to generate warnings W001, W004 and W005.


This directory contains invalid OCFL objects. The validation error codes are used a prefixes to the object directory name, e.g. the fixture object E058_no_sidecar is expected to generate the error E058. Note, however, that it is sometimes hard to build fixture objects that correspond with only one error code. Different validation strategies may find errors in different orders and possibly short-circuit other checks, thus not reporting the indicated error. Validators are expected to reject as invalid all fixture objects in bad-objects.

Update policy

  • All proposed changes must be made as pull-requests
  • Please make PRs fine-grained, usually adding or changing just one fixture at a time
  • Two OCFL editors must approve the pull-request (one may be the pull-request creator who's approval is implicit)
  • After 24 hours, if there are no editors objecting, any editor except the pull-request author can merge