Release 3.0 Downloads
- ONIX 3.0 Specification
- Implementation and best practice guide
- Schema definitions
- ONIX 3.0 Tagname converter and Large file splitter
- Code Lists for Release 3.0
- How to describe sets and series in ONIX 3.0
- How to describe digital products in ONIX 3.0
- How to send block updates in ONIX 3.0
- How to specify different terms of supply in different territories
- Documentation in other languages
For detailed core documentation, the package below includes an enhanced Product Information Format Specification in PDF format. The document includes the full Specification (covering both the header and the body of the product information record), a full sample message, and rewritten and improved material that was previously available in separate Data Element Summary and XML Technical Notes documents. The package also includes HTML versions of the latest Codelists, which are hyperlinked from the main specification document. The individual codelists should be in a subfolder 'codelists' within the same folder as the main PDF in order for the links to be recognized.
This latest version of the Specification covers 3.0 revision 2 (3.0.2), released January 2014. This revision is fully backward-compatible with earlier versions of the 3.0 specification. A summary of the changes between 3.0 and 3.0.1 can be viewed here, and the changes introduced with 3.0.2 here. The specification also includes an annotated sample file, and the file can be downloaded separately here.
An Implementation and Best Practice Guide has been created to accompany the main Specification. These guidelines are intended to set a global benchmark for implementors, to reduce the variation between different interpretations of the standard in different countries, and to ensure that ONIX 3.0 messages are as interoperable as possible on a global scale.
The complete documentation package below includes the Implementation and Best Practice Guide, as well as the enhanced Specification, plus the latest version of the codelists, all in HTML format. The Specification and the Guide are extensively linked together for ease of use.
The Guide will be updated regularly. Any comments on the guidelines should be forwarded to firstname.lastname@example.org – views are particularly invited from non-English language implementers, and on how well the best practices described would meet the needs of different national book and e-book supply chains.
Note the HTML documentation requires a modern browser such as Chrome 9 or later, Firefox 4 or later (with the HTML Ruby add-on), Safari 5.1 or later, or Internet Explorer 9 or later. Earlier browsers, including Internet Explorer 8, Firefox 3.x, Safari 5.0 and older browsers are not recommended.
Three schema definition options are available for ONIX 3.0. The recommended options are the ISO standard RelaxNG (RNG) schema language or the W3C (XSD) schema language, which allow the most effective validity checking. However, a DTD option is also available. All three options support both reference names and short tags for ONIX data elements. Each is downloadable below as a zipped package. All three packages include the latest issue of the codelists, but with a DTD these can be used only to control attribute values, not coded data elements.
- ONIX for Books 3.0.2 XSD Schema + Codelists Issue 25.zip
- ONIX for Books 3.0.2 RNG Schema + Codelists Issue 25.zip
- ONIX for Books 3.0.2 DTD + Codelists Issue 25.zip
For ONIX 2.1, EDItEUR maintains reference copies of the latest versions of the DTDs and XSD schemas on the website for online lookup as part of the validation of an ONIX message. For ONIX 3.0, we are unable to offer this facility, partly because of the greater variety of schema options which are now available, and partly because of the traffic loads which it places on the website. For validation purposes, you should download whichever latest version of the schema option which you prefer, and store it locally. For more detail, please see the XML technical notes which are part of the Release 3.0 documentation packages above.
A preliminary work-in-progress version of an enhanced Schematron that checks aspects of the ONIX message format that cannot be validated via conventional XSD or RNG schemas can be downloaded here. At present it is of interest to ONIX developers only, and is not complete, but will be progressively refined over the next few months. Feedback from developers who are able to test is particularly appreciated.
The ONIX for Books Release 3.0 Tagname converter is an XSLT script which enables ONIX reference names to be translated into short tags, and vice versa. The XSLT script and instructions for its use are available here. This script can only be used with ONIX files conforming to Release 3.0.
The Large file splitter allows single large ONIX files – which may contain thousands or tens of thousands of Product records – to be broken down into multiple smaller files. This can provide a simple way of avoiding Out of memory errors when processing large volumes of ONIX data. The XSLT script and instructions for use are available here. This XSLT works with any version of ONIX 2.1 or 3.0.
The latest Issue 24 of the ONIX Books Codelists includes all of the lists that are required for ONIX 3.0. You can download a document here which details the changes made in Issue 24 that apply to ONIX 3.0. Separate documents provide an eye-readable list of all codes, old and new, which are used in ONIX 3.0.
- ONIX_Code_Lists_Issue_25_Changes (PDF)
- ONIX_Code_Lists_Issue_25 (HTML)
- ONIX_Code_Lists_Issue_25 (PDF)
These additional documents provide more detailed guidance on how to use ONIX 3.0 than it is possible to include in a formal specification:
How to describe sets and series in ONIX 3.0
ONIX 3.0 offers a new, better and more flexible way to describe sets and series. These guidelines also include worked examples of different use cases.
How to describe digital products in ONIX 3.0
The growing variety of ways in which e-books and other digital products are now formatted, packaged and distributed means that their description is necessarily something of a moving target. The guidelines and examples provided here are in some respects provisional, and we will very much appreciate comments, either on the ONIX_implement listserv or through the "Contact us" facility on the website (towards the bottom of the page). We expect to extend and improve these guidelines from time to time.
How to send block updates in ONIX 3.0
The new ‘block’ structure in ONIX 3.0 allows updates to individual blocks to be sent without sending complete replacement records. New records, complete replacement records and block updates can in principle be freely mixed in a single ONIX message. These guidelines provide details of notification type codes and business rules for ONIX 3.0 block updates.
How to specify different terms of supply in different territories
These guidelines, which are applicable to ONIX 3.0, give details of how to specify agency terms in an ONIX message, using new code values added in March 2010. They will also be useful to senders who need to specify different terms in different supply territories even if they are not adopting an agency model.
Pour les utilisateurs des pays francophones, il existe une traduction en français des ONIX Version 3.0, réalisée sous le contrôle du groupe ONIX France et avec le soutien du Cercle de la Librairie (Paris), disponible sur le site:
Notez que cela n'inclut pas les dernières modifications qui ont été faites en Octobre 2010 ou Janvier 2012.
Documentation in German
An initial ‘best practice’ document for the German-speaking market.
Documentation in Arabic
An Arabic version of the main parts of the ONIX 3.0 specification is available from http://maeyeer.elkotob.com/onix.shtml