Skip to content

immateriel/im_onix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pragmatic ONIX 3.0 parser for Ruby

Low level API

Whole structure is accessible through ONIX::ONIXMessage object :

message = ONIX::ONIXMessage.new
message.parse("onix_file.xml")
# first product
pp message.products.first
# first identifier of first product
pp message.products.first.identifiers.first

Ruby elements variables are underscored, lowercase of ONIX tags (Product -> product, DescriptiveDetail -> descriptive_detail) and pluralized in case of array (ProductSupply -> product_supplies).

High level API

High level methods give abstracted and simplified access to the most important data.
See https://www.rubydoc.info/gems/im_onix/ONIX/Product for high level API rdoc and onix_pp.rb, onix3_to_onix2.rb and onix3_to_onix3.rb sample in bin/

Usage :

onix_pp.rb onix.xml
onix3_to_onix2.rb onix.xml
onix3_to_onix3.rb onix.xml

Development

Running the tests

Launch this command:

bundle exec rake test

Contributors

TEA "The Ebook Alternative" : http://www.tea-ebook.com/

Bookmate : https://bookmate.com/