diff --git a/lib/onix.rb b/lib/onix.rb index bc8fee3..9d70498 100644 --- a/lib/onix.rb +++ b/lib/onix.rb @@ -68,6 +68,7 @@ def self.two_digit require "onix/contributor" require "onix/language" require "onix/subject" +require "onix/mainsubject" require "onix/audience_range" require "onix/imprint" require "onix/publisher" diff --git a/lib/onix/mainsubject.rb b/lib/onix/mainsubject.rb new file mode 100644 index 0000000..c838ff3 --- /dev/null +++ b/lib/onix/mainsubject.rb @@ -0,0 +1,14 @@ +# coding: utf-8 + +module ONIX + class MainSubject + include ROXML + + xml_name "MainSubject" + + xml_accessor :mainsubject_scheme_id, :from => "MainSubjectSchemeIdentifier", :as => Fixnum, :to_xml => ONIX::Formatters.two_digit + xml_accessor :subject_scheme_version, :from => "SubjectSchemeVersion" + xml_accessor :subject_code, :from => "SubjectCode" + xml_accessor :subject_heading_text, :from => "SubjectHeadingText" + end +end diff --git a/lib/onix/product.rb b/lib/onix/product.rb index 32e68ae..83f05df 100644 --- a/lib/onix/product.rb +++ b/lib/onix/product.rb @@ -20,6 +20,7 @@ class Product xml_accessor :number_of_pages, :from => "NumberOfPages", :as => Fixnum xml_accessor :basic_main_subject, :from => "BASICMainSubject" xml_accessor :bic_main_subject, :from => "BICMainSubject" + xml_accessor :mainsubject, :from => "MainSubject", :as => ONIX::MainSubject xml_accessor :subjects, :from => "Subject", :as => [ONIX::Subject] xml_accessor :audience_code, :from => "AudienceCode", :to_xml => ONIX::Formatters.two_digit xml_accessor :audience_ranges, :from => "AudienceRange", :as => [ONIX::AudienceRange] diff --git a/lib/onix/product_identifier.rb b/lib/onix/product_identifier.rb index cd274e1..a453ec6 100644 --- a/lib/onix/product_identifier.rb +++ b/lib/onix/product_identifier.rb @@ -8,5 +8,6 @@ class ProductIdentifier xml_accessor :product_id_type, :from => "ProductIDType", :as => Fixnum, :to_xml => ONIX::Formatters.two_digit xml_accessor :id_value, :from => "IDValue" + xml_accessor :id_type_name, :from => "IDTypeName" end end