Pragmatic ONIX 3.0 parser for Ruby
Low level API
Whole structure is accessible through ONIX::ONIXMessage object :
=ONIX::ONIXMessage.new
.parse("onix_file.xml")
# first product
pp .products.first
# first identifier of first product
pp .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 http://nu.immateriel.fr/im_onix/doc/ONIX/Product.html 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:
ruby -Ilib:test test/test_im_onix.rb
Contributors
TEA "The Ebook Alternative" : http://www.tea-ebook.com/
Bookmate : https://bookmate.com/