elibri_onix_generator 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/elibri_onix_generator.gemspec +1 -4
- data/lib/elibri_onix_generator.rb +95 -98
- data/lib/elibri_onix_generator/version.rb +1 -1
- metadata +16 -3
- data/lib/xml_tags.yml +0 -388
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06524624ed33e5e6ee783f5ba9a22055f3125ed2
|
4
|
+
data.tar.gz: 552cd00f2facc30203a26e0db9d71edec5728d43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed30de577ef41dcea573fd3f172865ff85d5f97703e99dd0bc39a1e6033870f9e93206df30df7affeb461797f051108bd13b2e41717c2fcbaff483a5815ea479
|
7
|
+
data.tar.gz: edc1631e8d4a3f493f890366f411776146782503ee90848ffe471f23350e6ad6ae23185765c93476602bbcc55deb3b5206c057ad6474c4c5760723657ae837ba
|
@@ -18,9 +18,6 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
# specify any dependencies here; for example:
|
22
|
-
# s.add_development_dependency "rspec"
|
23
|
-
# s.add_runtime_dependency "rest-client"
|
24
|
-
|
25
21
|
s.add_runtime_dependency "builder"
|
22
|
+
s.add_runtime_dependency "elibri_onix_dict"
|
26
23
|
end
|
@@ -1,58 +1,48 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require "elibri_onix_generator/version"
|
3
3
|
require 'builder'
|
4
|
+
require 'ostruct'
|
5
|
+
require 'elibri_onix_dict'
|
4
6
|
|
5
7
|
module Elibri
|
6
8
|
module ONIX
|
7
9
|
|
8
10
|
module Generator
|
9
|
-
extend ActiveSupport::Concern
|
10
11
|
|
11
|
-
SHORT_TAGS = YAML::load_file(File.dirname(__FILE__) + "/xml_tags.yml")
|
12
12
|
DOC_ORDER = ["record_identifiers", "publishing_status", "product_form", "contributors", "titles", "series_memberships", "measurement",
|
13
13
|
"sale_restrictions", "territorial_rights", "audience_range", "publisher_info", "extent", "edition", "languages", "epub_details",
|
14
14
|
"texts", "supporting_resources", "subjects", "elibri_extensions"]
|
15
|
-
# "related_products", "supply_details"
|
16
15
|
|
17
|
-
|
18
|
-
|
16
|
+
DEFAULT_DIALECT = '3.0.1'
|
17
|
+
|
18
|
+
def self.included(base)
|
19
|
+
base.extend ClassMethods
|
19
20
|
end
|
20
21
|
|
22
|
+
|
21
23
|
module ClassMethods
|
22
24
|
|
23
|
-
def tag(builder,
|
24
|
-
if short_tags
|
25
|
-
if SHORT_TAGS[tag_id]
|
26
|
-
tag_id = SHORT_TAGS[tag_id]
|
27
|
-
elsif tag_id.starts_with?("elibri")
|
28
|
-
tag_id
|
29
|
-
else
|
30
|
-
raise "Unknow short tag for: #{tag_id}"
|
31
|
-
end
|
32
|
-
end
|
25
|
+
def tag(builder, tag_id, *args, &block)
|
33
26
|
builder.__send__(tag_id, *args, &block)
|
34
27
|
end
|
35
28
|
|
36
29
|
|
37
30
|
def render_header(builder, options = {}, &block)
|
38
|
-
options.reverse_merge!({:short_tags => false, :elibri_onix_dialect => '3.0.1'})
|
39
|
-
short_tags = options[:short_tags]
|
40
|
-
|
41
31
|
builder.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
|
42
32
|
message_attributes = {:release => "3.0", :xmlns => "http://ns.editeur.org/onix/3.0/reference", "xmlns:elibri" => "http://elibri.com.pl/ns/extensions"}
|
43
33
|
message_attributes.delete('xmlns:elibri') if options[:pure_onix]
|
44
34
|
|
45
35
|
builder.ONIXMessage message_attributes do
|
46
36
|
unless options[:pure_onix]
|
47
|
-
builder.elibri :Dialect, options[:elibri_onix_dialect] # potrzebne, aby parser wiedział jak interpretować niektóre tagi
|
37
|
+
builder.elibri :Dialect, options[:elibri_onix_dialect] || DEFAULT_DIALECT # potrzebne, aby parser wiedział jak interpretować niektóre tagi
|
48
38
|
end
|
49
|
-
tag(builder,
|
50
|
-
tag(builder,
|
51
|
-
tag(builder,
|
52
|
-
tag(builder,
|
53
|
-
tag(builder,
|
39
|
+
tag(builder, :Header) do
|
40
|
+
tag(builder, :Sender) do
|
41
|
+
tag(builder, :SenderName, "Elibri.com.pl")
|
42
|
+
tag(builder, :ContactName, "Tomasz Meka")
|
43
|
+
tag(builder, :EmailAddress, "kontakt@elibri.com.pl")
|
54
44
|
end
|
55
|
-
tag(builder,
|
45
|
+
tag(builder, :SentDateTime, Date.today.strftime("%Y%m%d"))
|
56
46
|
end
|
57
47
|
yield(builder) if block_given?
|
58
48
|
end
|
@@ -120,19 +110,23 @@ module Elibri
|
|
120
110
|
|
121
111
|
|
122
112
|
def initialize(products, options = {})
|
123
|
-
options.
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
113
|
+
options[:export_headers] = true unless options.has_key?(:export_headers)
|
114
|
+
options[:elibri_onix_dialect] = DEFAULT_DIALECT unless options.has_key?(:elibri_onix_dialect)
|
115
|
+
options[:comments] = false unless options.has_key?(:comments)
|
116
|
+
options[:xml_variant] = OpenStruct.new(blank?: false,
|
117
|
+
includes_basic_meta?: true,
|
118
|
+
includes_other_texts?: true,
|
119
|
+
includes_media_files?: true,
|
120
|
+
includes_stocks?: false) unless options.has_key?(:xml_variant)
|
130
121
|
|
131
122
|
@xml_variant = options[:xml_variant]
|
132
|
-
raise ":xml_variant unspecified" if @xml_variant.blank?
|
123
|
+
raise ":xml_variant unspecified" if @xml_variant.blank?
|
133
124
|
|
134
|
-
|
135
|
-
|
125
|
+
if products.respond_to?(:to_ary)
|
126
|
+
@products = products.to_ary
|
127
|
+
else
|
128
|
+
@products = [products]
|
129
|
+
end
|
136
130
|
@comments = options[:comments]
|
137
131
|
@comment_kinds = options[:comment_kinds]
|
138
132
|
@out = []
|
@@ -143,7 +137,7 @@ module Elibri
|
|
143
137
|
|
144
138
|
# W testach często nie chcę żadnych nagłówków - interesuje mnie tylko tag <Product>
|
145
139
|
if options[:export_headers]
|
146
|
-
self.class.render_header(builder, :
|
140
|
+
self.class.render_header(@builder, :elibri_onix_dialect => @elibri_onix_dialect, :pure_onix => @pure_onix) do
|
147
141
|
render_products!
|
148
142
|
end
|
149
143
|
else
|
@@ -170,6 +164,10 @@ module Elibri
|
|
170
164
|
end
|
171
165
|
end
|
172
166
|
|
167
|
+
def field_exists?(object, method_name)
|
168
|
+
object.respond_to?(method_name) && object.send(method_name) && object.send(method_name).size > 0
|
169
|
+
end
|
170
|
+
|
173
171
|
|
174
172
|
def comment_dictionary(description, dict, options = {})
|
175
173
|
indent = options[:indent] || 4
|
@@ -232,7 +230,7 @@ module Elibri
|
|
232
230
|
remove_tag_if_empty!(:PublishingDetail)
|
233
231
|
|
234
232
|
#P.23 - related products
|
235
|
-
if
|
233
|
+
if field_exists?(product, :facsimiles)
|
236
234
|
export_related_products!(product)
|
237
235
|
end
|
238
236
|
#P.24 - Market
|
@@ -253,7 +251,7 @@ module Elibri
|
|
253
251
|
# Renderuj tag w XML`u za pomocą Buildera. Jeśli wybrano opcję krótkich tagów,
|
254
252
|
# wstaw krótki tag z hasha SHORT_TAGS.
|
255
253
|
def tag(tag_id, *args, &block)
|
256
|
-
self.class.tag(builder,
|
254
|
+
self.class.tag(@builder, tag_id, *args, &block)
|
257
255
|
end
|
258
256
|
|
259
257
|
def remove_tag_if_empty!(tag_name)
|
@@ -282,12 +280,12 @@ module Elibri
|
|
282
280
|
tag(:RecordReference, product.record_reference) #doc
|
283
281
|
comment_dictionary "Typ powiadomienia", :NotificationType, :kind => :onix_publishing_status
|
284
282
|
tag(:NotificationType, product.notification_type.onix_code) # Notification confirmed on publication - Lista 1
|
285
|
-
if
|
283
|
+
if field_exists?(product, :deletion_text)
|
286
284
|
comment "Występuje tylko gdy NotificationType == #{Elibri::ONIX::Dict::Release_3_0::NotificationType::DELETE}", :kind => :onix_record_identifiers
|
287
285
|
tag(:DeletionText, product.deletion_text)
|
288
286
|
end
|
289
287
|
|
290
|
-
if
|
288
|
+
if field_exists?(product, :isbn_value)
|
291
289
|
comment 'ISBN', :kind => :onix_record_identifiers
|
292
290
|
tag(:ProductIdentifier) do
|
293
291
|
tag(:ProductIDType, Elibri::ONIX::Dict::Release_3_0::ProductIDType::ISBN13) #lista 5
|
@@ -295,7 +293,7 @@ module Elibri
|
|
295
293
|
end
|
296
294
|
end
|
297
295
|
|
298
|
-
if
|
296
|
+
if field_exists?(product, :ean) && product.ean != product.isbn_value
|
299
297
|
comment 'EAN-13 - gdy inny niż ISBN', :kind => :onix_record_identifiers
|
300
298
|
|
301
299
|
tag(:ProductIdentifier) do
|
@@ -315,7 +313,7 @@ module Elibri
|
|
315
313
|
if @xml_variant.includes_stocks?
|
316
314
|
if product.respond_to?(:product_availabilities)
|
317
315
|
product.product_availabilities.each do |pa|
|
318
|
-
if pa
|
316
|
+
if field_exists?(pa, :supplier_identifier)
|
319
317
|
comment "Identyfikator dostawcy: #{pa.supplier.name}", :kind => :onix_record_identifiers
|
320
318
|
tag(:ProductIdentifier) do
|
321
319
|
tag(:ProductIDType, Elibri::ONIX::Dict::Release_3_0::ProductIDType::PROPRIETARY) #lista 5
|
@@ -371,7 +369,7 @@ module Elibri
|
|
371
369
|
# Przykład użycia w pierwszym przykładzie.
|
372
370
|
#
|
373
371
|
def export_epub_details!(product)
|
374
|
-
if
|
372
|
+
if field_exists?(product, :product_form_detail_onix_codes) #lista 175
|
375
373
|
comment_dictionary "Dostępne formaty produktu", :ProductFormDetail, :indent => 10, :kind => :onix_epub_details
|
376
374
|
product.product_form_detail_onix_codes.each do |onix_code|
|
377
375
|
tag(:ProductFormDetail, onix_code)
|
@@ -475,7 +473,7 @@ module Elibri
|
|
475
473
|
# dodania informacji o dodrukach realizowanych pod tym samym numerem ISBN.
|
476
474
|
#
|
477
475
|
def export_publishing_status!(product)
|
478
|
-
if product.publishing_status_onix_code
|
476
|
+
if product.publishing_status_onix_code
|
479
477
|
comment_dictionary 'Status publikacji', :PublishingStatusCode, :indent => 10, :kind => :onix_publishing_status
|
480
478
|
tag(:PublishingStatus, product.publishing_status_onix_code) #lista 64 #TODO sprawdzić
|
481
479
|
end
|
@@ -551,7 +549,7 @@ module Elibri
|
|
551
549
|
# @title Wiek czytelnika
|
552
550
|
# Zarówno wiek 'od', jak i wiek 'do' są opcjonalne.
|
553
551
|
def export_audience_range!(product)
|
554
|
-
if product.audience_age_from
|
552
|
+
if product.audience_age_from
|
555
553
|
tag(:AudienceRange) do
|
556
554
|
comment "Ograniczenie dotyczy wieku czytelnika - zawsze #{Elibri::ONIX::Dict::Release_3_0::AudienceRangeQualifier::READING_AGE}", :kind => :onix_audience_range
|
557
555
|
tag(:AudienceRangeQualifier, Elibri::ONIX::Dict::Release_3_0::AudienceRangeQualifier::READING_AGE)
|
@@ -561,7 +559,7 @@ module Elibri
|
|
561
559
|
end
|
562
560
|
end
|
563
561
|
|
564
|
-
if product.audience_age_to
|
562
|
+
if product.audience_age_to
|
565
563
|
tag(:AudienceRange) do
|
566
564
|
comment "Ograniczenie dotyczy wieku czytelnika - zawsze #{Elibri::ONIX::Dict::Release_3_0::AudienceRangeQualifier::READING_AGE}", :kind => :onix_audience_range
|
567
565
|
tag(:AudienceRangeQualifier, Elibri::ONIX::Dict::Release_3_0::AudienceRangeQualifier::READING_AGE)
|
@@ -602,9 +600,9 @@ module Elibri
|
|
602
600
|
end
|
603
601
|
end
|
604
602
|
|
605
|
-
if
|
603
|
+
if field_exists?(product, :city_of_publication)
|
606
604
|
tag(:CityOfPublication, product.city_of_publication)
|
607
|
-
elsif product.respond_to?(:publisher) && product.publisher.city.
|
605
|
+
elsif product.respond_to?(:publisher) && product.publisher.city && product.publisher.city.size > 0
|
608
606
|
tag(:CityOfPublication, product.publisher.city)
|
609
607
|
end
|
610
608
|
end
|
@@ -727,8 +725,8 @@ module Elibri
|
|
727
725
|
#
|
728
726
|
#
|
729
727
|
def export_contributors!(product)
|
730
|
-
if product.authorship_kind
|
731
|
-
comment 'Gdy wyszczególniono autorów', :kind => :onix_contributors if product.contributors.
|
728
|
+
if product.authorship_kind == "user_given"
|
729
|
+
comment 'Gdy wyszczególniono autorów', :kind => :onix_contributors if product.contributors && product.contributors.size > 0
|
732
730
|
product.contributors.each_with_index do |contributor, idx|
|
733
731
|
options = {}
|
734
732
|
options[:sourcename] = "contributorid:#{contributor.id}" if contributor.respond_to?(:id)
|
@@ -738,20 +736,21 @@ module Elibri
|
|
738
736
|
comment_dictionary 'Rola autora', :ContributorRole, :indent => 10, :kind => :onix_contributors
|
739
737
|
tag(:ContributorRole, contributor.role_onix_code) #lista 17
|
740
738
|
comment 'Tylko w przypadku tłumaczy:', :kind => :onix_contributors
|
741
|
-
tag(:FromLanguage, contributor.language_onix_code) if
|
742
|
-
tag(:PersonName, contributor.generated_full_name)
|
743
|
-
|
744
|
-
tag(:
|
745
|
-
tag(:
|
746
|
-
tag(:
|
747
|
-
tag(:
|
748
|
-
|
749
|
-
|
739
|
+
tag(:FromLanguage, contributor.language_onix_code) if field_exists?(contributor, :language_onix_code)
|
740
|
+
tag(:PersonName, contributor.generated_full_name)
|
741
|
+
tag(:TitlesBeforeNames, contributor.title) if field_exists?(contributor, :title)
|
742
|
+
tag(:NamesBeforeKey, contributor.name) if field_exists?(contributor, :name)
|
743
|
+
tag(:PrefixToKey, contributor.last_name_prefix) if field_exists?(contributor, :last_name_prefix)
|
744
|
+
tag(:KeyNames, contributor.last_name) if field_exists?(contributor, :last_name)
|
745
|
+
tag(:NamesAfterKey, contributor.last_name_postfix) if field_exists?(contributor, :last_name_postfix)
|
746
|
+
if contributor.respond_to?(:biography) && contributor.biography && contributor.biography.text && contributor.biography.text.strip.size > 0
|
747
|
+
tag(:BiographicalNote, contributor.biography.text)
|
748
|
+
end
|
750
749
|
end
|
751
750
|
end
|
752
751
|
end
|
753
752
|
|
754
|
-
if product.authorship_kind
|
753
|
+
if product.authorship_kind == "collective"
|
755
754
|
comment 'Gdy jest to praca zbiorowa', :kind => :onix_contributors
|
756
755
|
tag(:Contributor) do
|
757
756
|
comment "Autor - #{Elibri::ONIX::Dict::Release_3_0::ContributorRole::AUTHOR}", :kind => :onix_contributors
|
@@ -761,7 +760,7 @@ module Elibri
|
|
761
760
|
end
|
762
761
|
end
|
763
762
|
|
764
|
-
if product.authorship_kind
|
763
|
+
if product.authorship_kind === "no_contributor"
|
765
764
|
comment 'Gdy brak autorów', :kind => :onix_contributors
|
766
765
|
tag(:NoContributor)
|
767
766
|
end
|
@@ -780,12 +779,7 @@ module Elibri
|
|
780
779
|
#
|
781
780
|
#
|
782
781
|
def export_titles!(product)
|
783
|
-
if product.title_parts
|
784
|
-
(product.respond_to?(:trade_title) && product.trade_title.present?)
|
785
|
-
#comment_dictionary 'Rozróżniane typy tytułów', :TitleType, :indent => 10, :kind => :onix_titles
|
786
|
-
end
|
787
|
-
|
788
|
-
if product.title_parts.present?
|
782
|
+
if product.title_parts && product.title_parts.size > 0
|
789
783
|
tag(:TitleDetail) do
|
790
784
|
comment "Pełen tytuł produktu - #{Elibri::ONIX::Dict::Release_3_0::TitleType::DISTINCTIVE_TITLE}", :kind => :onix_titles
|
791
785
|
tag(:TitleType, Elibri::ONIX::Dict::Release_3_0::TitleType::DISTINCTIVE_TITLE)
|
@@ -797,14 +791,15 @@ module Elibri
|
|
797
791
|
comment "Tytuł na poziomie kolekcji - #{Elibri::ONIX::Dict::Release_3_0::TitleElementLevel::COLLECTION}", :kind => :onix_titles
|
798
792
|
end
|
799
793
|
tag(:TitleElementLevel, title_part.level) #odnosi się do tego produktu tylko
|
800
|
-
tag(:PartNumber, title_part.part) if title_part
|
801
|
-
tag(:TitleText, title_part.title) if title_part
|
802
|
-
tag(:Subtitle, title_part.subtitle) if title_part
|
794
|
+
tag(:PartNumber, title_part.part) if field_exists?(title_part, :part)
|
795
|
+
tag(:TitleText, title_part.title) if field_exists?(title_part, :title)
|
796
|
+
tag(:Subtitle, title_part.subtitle) if field_exists?(title_part, :subtitle)
|
803
797
|
end
|
804
798
|
end
|
805
799
|
end
|
806
800
|
end
|
807
|
-
|
801
|
+
|
802
|
+
if field_exists?(product, :original_title)
|
808
803
|
tag(:TitleDetail) do
|
809
804
|
comment "Tytuł w języku oryginału - #{Elibri::ONIX::Dict::Release_3_0::TitleType::DISTINCTIVE_TITLE}", :kind => :onix_titles
|
810
805
|
tag(:TitleType, Elibri::ONIX::Dict::Release_3_0::TitleType::ORIGINAL_TITLE)
|
@@ -815,7 +810,8 @@ module Elibri
|
|
815
810
|
end
|
816
811
|
end
|
817
812
|
end
|
818
|
-
|
813
|
+
|
814
|
+
if field_exists?(product, :trade_title)
|
819
815
|
tag(:TitleDetail) do
|
820
816
|
comment "Tytuł handlowy używany przez wydawnictwo - #{Elibri::ONIX::Dict::Release_3_0::TitleType::DISTRIBUTORS_TITLE}", :kind => :onix_titles
|
821
817
|
tag(:TitleType, Elibri::ONIX::Dict::Release_3_0::TitleType::DISTRIBUTORS_TITLE) #tytuł produktu
|
@@ -832,7 +828,7 @@ module Elibri
|
|
832
828
|
# @hidden_tags RecordReference NotificationType ProductIdentifier ProductComposition ProductForm TitleDetail
|
833
829
|
# @title Opis wydania
|
834
830
|
def export_edition!(product)
|
835
|
-
if
|
831
|
+
if field_exists?(product, :edition_statement)
|
836
832
|
comment 'Opis wydania', :kind => :onix_edition
|
837
833
|
tag(:EditionStatement, product.edition_statement)
|
838
834
|
end
|
@@ -844,7 +840,7 @@ module Elibri
|
|
844
840
|
# Języki, w których dostępny jest produkt.
|
845
841
|
def export_languages!(product)
|
846
842
|
if product.respond_to?(:languages)
|
847
|
-
comment_dictionary 'Rola języka', :LanguageRole, :indent => 10, :kind => :onix_languages if product.languages.
|
843
|
+
comment_dictionary 'Rola języka', :LanguageRole, :indent => 10, :kind => :onix_languages if product.languages.size > 0
|
848
844
|
product.languages.each do |language|
|
849
845
|
tag(:Language) do
|
850
846
|
tag(:LanguageRole, language.role_onix_code) #lista 22
|
@@ -861,10 +857,10 @@ module Elibri
|
|
861
857
|
# Biogramy autorów są udostępniane wraz z informacjami o
|
862
858
|
# = link_to "autorach", doc_api_path("onix_contributors")
|
863
859
|
def export_texts!(product)
|
864
|
-
comment_dictionary 'Typy tekstów', :OtherTextType, :indent => 10, :kind => :onix_texts if product.other_texts.
|
860
|
+
comment_dictionary 'Typy tekstów', :OtherTextType, :indent => 10, :kind => :onix_texts if product.other_texts && product.other_texts.size > 0
|
865
861
|
product.other_texts.each do |other_text|
|
866
862
|
#jeśli jest pusty tekst, nie nadaje się do umieszczania w ONIX albo tekst dotyczy autora (type_onix_code.blank?) -> nie exportuj
|
867
|
-
next if other_text.text.
|
863
|
+
next if other_text.text.nil? || other_text.text.strip.size == 0 || other_text.type_onix_code.nil? || other_text.type_onix_code.strip.size == 0 || !other_text.exportable?
|
868
864
|
|
869
865
|
options = {}
|
870
866
|
options[:sourcename] = "textid:#{other_text.id}" if other_text.respond_to?(:id)
|
@@ -874,7 +870,8 @@ module Elibri
|
|
874
870
|
comment "Zawsze #{Elibri::ONIX::Dict::Release_3_0::ContentAudience::UNRESTRICTED} - Unrestricted", :kind => :onix_texts
|
875
871
|
tag(:ContentAudience, Elibri::ONIX::Dict::Release_3_0::ContentAudience::UNRESTRICTED)
|
876
872
|
|
877
|
-
if other_text.respond_to?(:is_a_review?) && other_text.respond_to?(:resource_link) &&
|
873
|
+
if other_text.respond_to?(:is_a_review?) && other_text.respond_to?(:resource_link) &&
|
874
|
+
other_text.is_a_review? && other_text.resource_link && other_text.resource_link.size > 0
|
878
875
|
text_source = {:sourcename => other_text.resource_link}
|
879
876
|
else
|
880
877
|
text_source = {}
|
@@ -884,8 +881,8 @@ module Elibri
|
|
884
881
|
builder.cdata!(other_text.text)
|
885
882
|
end
|
886
883
|
|
887
|
-
tag(:TextAuthor, other_text.text_author) if
|
888
|
-
tag(:SourceTitle, other_text.source_title) if
|
884
|
+
tag(:TextAuthor, other_text.text_author) if field_exists?(other_text, :text_author)
|
885
|
+
tag(:SourceTitle, other_text.source_title) if field_exists?(other_text, :source_title)
|
889
886
|
end
|
890
887
|
end
|
891
888
|
end
|
@@ -937,7 +934,7 @@ module Elibri
|
|
937
934
|
comment "Używamy tylko #{Elibri::ONIX::Dict::Release_3_0::CollectionType::PUBLISHER_COLLECTION} - seria wydawnictwa", :kind => :onix_series_memberships
|
938
935
|
tag(:CollectionType, Elibri::ONIX::Dict::Release_3_0::CollectionType::PUBLISHER_COLLECTION) #lista 148
|
939
936
|
|
940
|
-
if
|
937
|
+
if field_exists?(series_membership, :issn)
|
941
938
|
comment "W przypadku prasy serializowany jest numer ISSN"
|
942
939
|
tag(:CollectionIdentifier) do
|
943
940
|
tag(:CollectionIDType, "02") #issn - lista 13
|
@@ -951,7 +948,7 @@ module Elibri
|
|
951
948
|
tag(:TitleElement) do
|
952
949
|
comment "Używamy tylko #{Elibri::ONIX::Dict::Release_3_0::TitleElementLevel::COLLECTION}", :kind => :onix_series_memberships
|
953
950
|
tag(:TitleElementLevel, Elibri::ONIX::Dict::Release_3_0::TitleElementLevel::COLLECTION)
|
954
|
-
tag(:PartNumber, series_membership.number_within_series) if series_membership.number_within_series
|
951
|
+
tag(:PartNumber, series_membership.number_within_series) if series_membership.number_within_series
|
955
952
|
tag(:TitleText, series_membership.series_name)
|
956
953
|
end
|
957
954
|
end
|
@@ -1006,9 +1003,9 @@ module Elibri
|
|
1006
1003
|
tag(:IDValue, pa.supplier.nip.gsub("-", ""))
|
1007
1004
|
end
|
1008
1005
|
tag(:SupplierName, pa.supplier.name)
|
1009
|
-
tag(:TelephoneNumber, pa.supplier.phone) if pa.supplier
|
1010
|
-
tag(:EmailAddress, pa.supplier.email) if pa.supplier
|
1011
|
-
if pa.supplier
|
1006
|
+
tag(:TelephoneNumber, pa.supplier.phone) if field_exists?(pa.supplier, :phone)
|
1007
|
+
tag(:EmailAddress, pa.supplier.email) if field_exists?(pa.supplier, :email)
|
1008
|
+
if field_exists?(pa.supplier, :website)
|
1012
1009
|
tag(:Website) do
|
1013
1010
|
tag(:WebsiteLink, pa.supplier.website)
|
1014
1011
|
end
|
@@ -1031,7 +1028,7 @@ module Elibri
|
|
1031
1028
|
end
|
1032
1029
|
end
|
1033
1030
|
end
|
1034
|
-
if product.pack_quantity
|
1031
|
+
if product.pack_quantity
|
1035
1032
|
comment 'Ile produktów dostawca umieszcza w paczce'
|
1036
1033
|
tag(:PackQuantity, product.pack_quantity)
|
1037
1034
|
end
|
@@ -1048,7 +1045,7 @@ module Elibri
|
|
1048
1045
|
tag(:TaxRatePercent, price_info.vat)
|
1049
1046
|
end
|
1050
1047
|
tag(:CurrencyCode, price_info.currency_code)
|
1051
|
-
if product.price_printed_on_product_onix_code
|
1048
|
+
if product.price_printed_on_product_onix_code
|
1052
1049
|
comment_dictionary "Cena na okładce?", :PricePrintedOnProduct, :indent => 12
|
1053
1050
|
tag(:PrintedOnProduct, product.price_printed_on_product_onix_code) #lista 174
|
1054
1051
|
comment 'Zawsze 00 - Unknown / unspecified'
|
@@ -1071,32 +1068,32 @@ module Elibri
|
|
1071
1068
|
def export_elibri_extensions!(product)
|
1072
1069
|
if @elibri_onix_dialect >= '3.0.1'
|
1073
1070
|
|
1074
|
-
if product
|
1071
|
+
if field_exists?(product, :cover_type)
|
1075
1072
|
comment_dictionary "Format okładki", Product::CoverType.all.map(&:name), :indent => 10
|
1076
1073
|
tag("elibri:CoverType", product.cover_type.name)
|
1077
1074
|
end
|
1078
1075
|
|
1079
1076
|
comment 'Cena na okładce'
|
1080
|
-
tag("elibri:CoverPrice", product.price_amount) if product
|
1077
|
+
tag("elibri:CoverPrice", product.price_amount) if field_exists?(product, :price_amount)
|
1081
1078
|
comment 'Vat w procentach'
|
1082
|
-
tag("elibri:Vat", product.vat) if product
|
1083
|
-
tag("elibri:PKWiU", product.pkwiu) if product
|
1084
|
-
tag("elibri:PDWExclusiveness", product.pdw_exclusiveness) if product
|
1085
|
-
tag("elibri:AdditionalInfo", product.additional_info) if product
|
1086
|
-
tag("elibri:preview_exists", product.preview_exists?.to_s)
|
1087
|
-
if product.digital?
|
1079
|
+
tag("elibri:Vat", product.vat) if field_exists?(product, :vat)
|
1080
|
+
tag("elibri:PKWiU", product.pkwiu) if field_exists?(product, :pkwiu)
|
1081
|
+
tag("elibri:PDWExclusiveness", product.pdw_exclusiveness) if field_exists?(product, :pdw_exclusiveness)
|
1082
|
+
tag("elibri:AdditionalInfo", product.additional_info) if field_exists?(product, :additional_info)
|
1083
|
+
tag("elibri:preview_exists", product.preview_exists?.to_s) if product.respond_to?(:preview_exists?)
|
1084
|
+
if product.respond_to?(:digital?) && product.digital?
|
1088
1085
|
if product.epub_sale_not_restricted? || product.epub_sale_restricted_to.nil?
|
1089
1086
|
tag("elibri:SaleNotRestricted")
|
1090
1087
|
else
|
1091
1088
|
tag("elibri:SaleRestrictedTo", product.epub_sale_restricted_to.strftime("%Y%m%d"))
|
1092
1089
|
end
|
1093
1090
|
end
|
1094
|
-
if product.isbn
|
1091
|
+
if product.respond_to?(:isbn) && product.isbn
|
1095
1092
|
tag("elibri:HyphenatedISBN", product.isbn.human_value)
|
1096
1093
|
end
|
1097
1094
|
|
1098
|
-
if product.digital?
|
1099
|
-
if product.excerpts.
|
1095
|
+
if product.respond_to?(:digital?) && product.digital?
|
1096
|
+
if product.excerpts.size > 0
|
1100
1097
|
tag("elibri:excerpts") do
|
1101
1098
|
product.excerpts.each do |excerpt|
|
1102
1099
|
tag("elibri:excerpt", "https://www.elibri.com.pl/excerpt/#{excerpt.id}", :md5 => excerpt.file_md5, :file_size => excerpt.stored_file_size,
|
@@ -1104,7 +1101,7 @@ module Elibri
|
|
1104
1101
|
end
|
1105
1102
|
end
|
1106
1103
|
end
|
1107
|
-
if product.masters.
|
1104
|
+
if product.masters.size > 0
|
1108
1105
|
tag("elibri:masters") do
|
1109
1106
|
product.masters.each do |sf|
|
1110
1107
|
tag("elibri:master", :id => sf.id, :md5 => sf.file_md5, :file_size => sf.stored_file_size,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elibri_onix_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcin Urbański
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-09-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: builder
|
@@ -25,6 +25,20 @@ dependencies:
|
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: elibri_onix_dict
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
28
42
|
description: XML Generator used by Elibri gems
|
29
43
|
email:
|
30
44
|
- marcin@urbanski.vdl.pl
|
@@ -40,7 +54,6 @@ files:
|
|
40
54
|
- elibri_onix_generator.gemspec
|
41
55
|
- lib/elibri_onix_generator.rb
|
42
56
|
- lib/elibri_onix_generator/version.rb
|
43
|
-
- lib/xml_tags.yml
|
44
57
|
homepage: ''
|
45
58
|
licenses: []
|
46
59
|
metadata: {}
|
data/lib/xml_tags.yml
DELETED
@@ -1,388 +0,0 @@
|
|
1
|
-
---
|
2
|
-
:WorkRelationCode: :x454
|
3
|
-
:TaxType: :x470
|
4
|
-
:ContributorDescription: :b048
|
5
|
-
:Affiliation: :b046
|
6
|
-
:PriceQualifier: :j261
|
7
|
-
:DiscountType: :x467
|
8
|
-
:ProductClassificationCode: :b275
|
9
|
-
:CountryCode: :b251
|
10
|
-
:AudienceRange: :audiencerange
|
11
|
-
:DiscountPercent: :j267
|
12
|
-
:SenderName: :x298
|
13
|
-
:ReligiousText: :religioustext
|
14
|
-
:ProductRelationCode: :x455
|
15
|
-
:DiscountCodeTypeName: :j378
|
16
|
-
:BiographicalNote: :b044
|
17
|
-
:NewSupplier: :newsupplier
|
18
|
-
:ThesisPresentedTo: :b369
|
19
|
-
:SubjectSchemeIdentifier: :b067
|
20
|
-
:ResourceVersionFeatureType: :x442
|
21
|
-
:ExtentType: :b218
|
22
|
-
:ComponentNumber: :b289
|
23
|
-
:MarketDate: :marketdate
|
24
|
-
:UnpricedItemType: :j192
|
25
|
-
:SupplyDetail: :supplydetail
|
26
|
-
:ScriptCode: :x420
|
27
|
-
:ContentDate: :contentdate
|
28
|
-
:Discount: :discount
|
29
|
-
:PriceCondition: :pricecondition
|
30
|
-
:ImprintIdentifier: :imprintidentifier
|
31
|
-
:StudyBibleType: :b389
|
32
|
-
:PublishingDateRole: :x448
|
33
|
-
:PrizeCode: :g129
|
34
|
-
:CopyrightOwnerIdentifier: :copyrightowneridentifier
|
35
|
-
:AncillaryContentDescription: :x424
|
36
|
-
:OnOrder: :j351
|
37
|
-
:EpubUsageType: :x318
|
38
|
-
:RegionsExcluded: :x452
|
39
|
-
:ProductFormFeatureDescription: :b336
|
40
|
-
:Bible: :bible
|
41
|
-
:MinimumOrderQuantity: :j263
|
42
|
-
:EmailAddress: :j272
|
43
|
-
:TextContent: :textcontent
|
44
|
-
:ResourceFeature: :resourcefeature
|
45
|
-
:CollectionIdentifier: :collectionidentifier
|
46
|
-
:ListName: :x432
|
47
|
-
:TitlesBeforeNames: :b038
|
48
|
-
:SupplierIdentifier: :supplieridentifier
|
49
|
-
:SalesOutlet: :salesoutlet
|
50
|
-
:FreeQuantity: :j265
|
51
|
-
:ConferenceRole: :b051
|
52
|
-
:YearOfAnnual: :b020
|
53
|
-
:TelephoneNumber: :j270
|
54
|
-
:PriceStatus: :j266
|
55
|
-
:ContributorPlace: :contributorplace
|
56
|
-
:AgentIdentifier: :agentidentifier
|
57
|
-
:RecordReference: :a001
|
58
|
-
:ProductClassificationType: :b274
|
59
|
-
:PersonName: :b036
|
60
|
-
:CountryOfManufacture: :x316
|
61
|
-
:AudienceRangePrecision: :b075
|
62
|
-
:SentDateTime: :x307
|
63
|
-
:ReligiousTextFeature: :religioustextfeature
|
64
|
-
:ProductSupply: :productsupply
|
65
|
-
:NoCollection: :x411
|
66
|
-
:DiscountCoded: :discountcoded
|
67
|
-
:BookClubAdoption: :k169
|
68
|
-
:ThesisType: :b368
|
69
|
-
:SubjectSchemeName: :b171
|
70
|
-
:ROWSalesRightsType: :x456
|
71
|
-
:MarketDateRole: :j408
|
72
|
-
:ExtentUnit: :b220
|
73
|
-
:ComponentTypeName: :b288
|
74
|
-
:Website: :website
|
75
|
-
:SupportingResource: :supportingresource
|
76
|
-
:Sender: :sender
|
77
|
-
:PriceConditionQuantity: :priceconditionquantity
|
78
|
-
:ImprintIDType: :x445
|
79
|
-
:ContentDateRole: :x429
|
80
|
-
:Subject: :subject
|
81
|
-
:PublishingDetail: :publishingdetail
|
82
|
-
:OnOrderDetail: :onorderdetail
|
83
|
-
:EpubUsageUnit: :x321
|
84
|
-
:PrizeCountry: :g128
|
85
|
-
:CopyrightStatement: :copyrightstatement
|
86
|
-
:Audience: :audience
|
87
|
-
:Reissue: :reissue
|
88
|
-
:ProductFormFeatureType: :b334
|
89
|
-
:NameAsSubject: :nameassubject
|
90
|
-
:BibleContents: :b352
|
91
|
-
:TextItem: :textitem
|
92
|
-
:ResourceFeatureType: :x438
|
93
|
-
:LocationIdentifier: :locationidentifier
|
94
|
-
:CollectionIDType: :x344
|
95
|
-
:TitleText: :b203
|
96
|
-
:SupplierIDType: :j345
|
97
|
-
:SalesOutletIdentifier: :salesoutletidentifier
|
98
|
-
:Product: :product
|
99
|
-
:FromLanguage: :x412
|
100
|
-
:ConferenceSponsor: :conferencesponsor
|
101
|
-
:DateFormat: :j260
|
102
|
-
:Territory: :territory
|
103
|
-
:NumberOfCopies: :x323
|
104
|
-
:PriceType: :x462
|
105
|
-
:ContributorPlaceRelator: :x418
|
106
|
-
:AgentIDType: :j400
|
107
|
-
:RecordSourceIdentifier: :recordsourceidentifier
|
108
|
-
:ProductComposition: :x314
|
109
|
-
:Measurement: :c094
|
110
|
-
:CountryOfPublication: :b083
|
111
|
-
:AudienceRangeQualifier: :b074
|
112
|
-
:PersonNameInverted: :b037
|
113
|
-
:SequenceNumber: :b034
|
114
|
-
:ReligiousTextFeatureCode: :b359
|
115
|
-
:ProfessionalAffiliation: :professionalaffiliation
|
116
|
-
:LanguageCode: :b252
|
117
|
-
:NoContributor: :n339
|
118
|
-
:EpubTechnicalProtection: :x317
|
119
|
-
:CBO: :j375
|
120
|
-
:ThesisYear: :b370
|
121
|
-
:SubjectSchemeVersion: :b068
|
122
|
-
:ReturnsCode: :j269
|
123
|
-
:ExtentValue: :b219
|
124
|
-
:Conference: :conference
|
125
|
-
:MarketPublishingDetail: :marketpublishingdetail
|
126
|
-
:WebsiteDescription: :b294
|
127
|
-
:Tax: :tax
|
128
|
-
:PriceConditionQuantityType: :x464
|
129
|
-
:ImprintName: :b079
|
130
|
-
:ContentDetail: :contentdetail
|
131
|
-
:PublishingRole: :b291
|
132
|
-
:CopyrightYear: :b087
|
133
|
-
:AudienceCode: :b073
|
134
|
-
:OrderTime: :j144
|
135
|
-
:ExpectedDate: :j302
|
136
|
-
:PrizeJury: :g343
|
137
|
-
:ReissueDate: :j365
|
138
|
-
:ProductFormFeatureValue: :b335
|
139
|
-
:NameIdentifier: :nameidentifier
|
140
|
-
:BiblePurpose: :b354
|
141
|
-
:TextItemIDType: :b285
|
142
|
-
:ResourceForm: :x441
|
143
|
-
:CollectionType: :x329
|
144
|
-
:LocationIDType: :j377
|
145
|
-
:TitleType: :b202
|
146
|
-
:SupplierName: :j137
|
147
|
-
:SalesOutletIDType: :b393
|
148
|
-
:DefaultCurrencyCode: :m186
|
149
|
-
:PriceAmount: :j151
|
150
|
-
:IDTypeName: :b233
|
151
|
-
:ConferenceSponsorIDType: :b391
|
152
|
-
:PublisherIdentifier: :publisheridentifier
|
153
|
-
:ContributorRole: :b035
|
154
|
-
:AgentName: :j401
|
155
|
-
:NumberOfIllustrations: :b125
|
156
|
-
:PriceTypeDescription: :j262
|
157
|
-
:RecordSourceIDType: :x311
|
158
|
-
:ProductContentType: :b385
|
159
|
-
:MeasureType: :x315
|
160
|
-
:CurrencyCode: :j152
|
161
|
-
:AudienceRangeValue: :b076
|
162
|
-
:PositionOnList: :x433
|
163
|
-
:SourceName: :x330
|
164
|
-
:ReligiousTextFeatureDescription: :b360
|
165
|
-
:ProfessionalPosition: :b045
|
166
|
-
:CitationNote: :x434
|
167
|
-
:LanguageRole: :b253
|
168
|
-
:NoEdition: :n386
|
169
|
-
:EditionNumber: :b057
|
170
|
-
:TitleDetail: :titledetail
|
171
|
-
:Subtitle: :b029
|
172
|
-
:ReturnsCodeType: :j268
|
173
|
-
:ExtentValueRoman: :x421
|
174
|
-
:ConferenceAcronym: :b341
|
175
|
-
:MarketPublishingStatus: :j407
|
176
|
-
:WebsiteLink: :b295
|
177
|
-
:TaxAmount: :x474
|
178
|
-
:Addressee: :addressee
|
179
|
-
:PriceConditionType: :x463
|
180
|
-
:InitialPrintRun: :k167
|
181
|
-
:ContentItem: :contentitem
|
182
|
-
:PublishingStatus: :b394
|
183
|
-
:PrizeName: :g126
|
184
|
-
:CorporateName: :b047
|
185
|
-
:AudienceCodeType: :b204
|
186
|
-
:PackQuantity: :j145
|
187
|
-
:Extent: :extent
|
188
|
-
:ReissueDescription: :j366
|
189
|
-
:ProductIDType: :b221
|
190
|
-
:NameIDType: :x415
|
191
|
-
:BibleReferenceLocation: :b356
|
192
|
-
:TextItemIdentifier: :textitemidentifier
|
193
|
-
:ResourceLink: :x435
|
194
|
-
:ComparisonProductPrice: :comparisonproductprice
|
195
|
-
:LocationName: :j349
|
196
|
-
:TitleWithoutPrefix: :b031
|
197
|
-
:SupplierOwnCoding: :supplierowncoding
|
198
|
-
:SalesOutletName: :b382
|
199
|
-
:DefaultLanguageOfText: :m184
|
200
|
-
:PriceCode: :x468
|
201
|
-
:IDValue: :b244
|
202
|
-
:ConferenceSponsorIdentifier: :conferencesponsoridentifier
|
203
|
-
:StockQuantityCode: :j297
|
204
|
-
:PublisherIDType: :x447
|
205
|
-
:PrimaryContentType: :x416
|
206
|
-
:ContributorStatement: :b049
|
207
|
-
:AgentRole: :j402
|
208
|
-
:NumberOfItemsOfThisForm: :x322
|
209
|
-
:EndDate: :b325
|
210
|
-
:RecordSourceName: :a197
|
211
|
-
:ProductForm: :b012
|
212
|
-
:PositionOnProduct: :x313
|
213
|
-
:MeasureUnitCode: :c095
|
214
|
-
:CurrencyZone: :x475
|
215
|
-
:Barcode: :barcode
|
216
|
-
:SourceTitle: :x428
|
217
|
-
:ReligiousTextFeatureType: :b358
|
218
|
-
:PromotionCampaign: :k165
|
219
|
-
:NotificationType: :a002
|
220
|
-
:EditionStatement: :b058
|
221
|
-
:CitedContent: :citedcontent
|
222
|
-
:LastPageNumber: :b287
|
223
|
-
:TitleElement: :titleelement
|
224
|
-
:SuffixToKey: :b248
|
225
|
-
:ReturnsCodeTypeName: :x460
|
226
|
-
:MarketPublishingStatusNote: :x406
|
227
|
-
:FaxNumber: :j271
|
228
|
-
:ConferenceDate: :b054
|
229
|
-
:WebsiteRole: :b367
|
230
|
-
:TaxRateCode: :x471
|
231
|
-
:PriceDate: :pricedate
|
232
|
-
:KeyNames: :b040
|
233
|
-
:Contributor: :contributor
|
234
|
-
:AddresseeIdentifier: :addresseeidentifier
|
235
|
-
:PublishingStatusNote: :b395
|
236
|
-
:PrizeYear: :g127
|
237
|
-
:PageRun: :pagerun
|
238
|
-
:CorporateNameInverted: :x443
|
239
|
-
:AudienceCodeTypeName: :b205
|
240
|
-
:RelatedMaterial: :relatedmaterial
|
241
|
-
:ProductIdentifier: :productidentifier
|
242
|
-
:NamesAfterKey: :b041
|
243
|
-
:DiscountAmount: :x469
|
244
|
-
:BibleTextFeature: :b357
|
245
|
-
:TextItemType: :b290
|
246
|
-
:ResourceMode: :x437
|
247
|
-
:MainSubject: :x425
|
248
|
-
:Complexity: :complexity
|
249
|
-
:ToLanguage: :x413
|
250
|
-
:SupplierRole: :j292
|
251
|
-
:SalesRestriction: :salesrestriction
|
252
|
-
:PriceCoded: :pricecoded
|
253
|
-
:Illustrated: :x422
|
254
|
-
:ConferenceTheme: :b342
|
255
|
-
:DefaultPriceType: :x310
|
256
|
-
:Text: :d104
|
257
|
-
:StockQuantityCodeType: :j293
|
258
|
-
:PublisherName: :b081
|
259
|
-
:NumberOfPages: :b061
|
260
|
-
:EpubUsageConstraint: :epubusageconstraint
|
261
|
-
:PrimaryPart: :x457
|
262
|
-
:CopiesSold: :k168
|
263
|
-
:AlternativeName: :alternativename
|
264
|
-
:RecordSourceType: :a194
|
265
|
-
:ProductFormDescription: :b014
|
266
|
-
:MessageNote: :m183
|
267
|
-
:BarcodeType: :x312
|
268
|
-
:PrefixToKey: :b247
|
269
|
-
:SourceType: :x431
|
270
|
-
:ReligiousTextIdentifier: :b376
|
271
|
-
:PromotionContact: :k166
|
272
|
-
:LatestReprintNumber: :x446
|
273
|
-
:EditionType: :x419
|
274
|
-
:CitedContentType: :x430
|
275
|
-
:TitleElementLevel: :x409
|
276
|
-
:Supplier: :supplier
|
277
|
-
:ReturnsConditions: :returnsconditions
|
278
|
-
:FeatureNote: :x440
|
279
|
-
:ConferenceName: :b052
|
280
|
-
:Measure: :measure
|
281
|
-
:WorkIdentifier: :workidentifier
|
282
|
-
:TaxRatePercent: :x472
|
283
|
-
:PriceDateRole: :x476
|
284
|
-
:Language: :language
|
285
|
-
:ContributorDate: :contributordate
|
286
|
-
:AddresseeIDType: :m380
|
287
|
-
:Header: :header
|
288
|
-
:Quantity: :x320
|
289
|
-
:ProductAvailability: :j396
|
290
|
-
:CountriesIncluded: :x449
|
291
|
-
:AudienceCodeValue: :b206
|
292
|
-
:PartNumber: :x410
|
293
|
-
:SenderIDType: :m379
|
294
|
-
:RelatedProduct: :relatedproduct
|
295
|
-
:ProductPackaging: :b225
|
296
|
-
:NamesBeforeKey: :b039
|
297
|
-
:DiscountCode: :j364
|
298
|
-
:BibleTextOrganization: :b355
|
299
|
-
:TextSourceCorporate: :b374
|
300
|
-
:SubjectCode: :b069
|
301
|
-
:ResourceVersion: :resourceversion
|
302
|
-
:ComplexityCode: :b078
|
303
|
-
:MapScale: :b063
|
304
|
-
:TradeCategory: :b384
|
305
|
-
:SupplyDate: :supplydate
|
306
|
-
:SalesRestrictionNote: :x453
|
307
|
-
:PriceCodeType: :x465
|
308
|
-
:IllustrationsNote: :b062
|
309
|
-
:ContactName: :x299
|
310
|
-
:DeletionText: :a199
|
311
|
-
:StockQuantityCodeTypeName: :j296
|
312
|
-
:PublisherRepresentative: :publisherrepresentative
|
313
|
-
:AncillaryContent: :ancillarycontent
|
314
|
-
:ONIXMessage: :ONIXmessage
|
315
|
-
:EpubUsageLimit: :epubusagelimit
|
316
|
-
:PrintedOnProduct: :x301
|
317
|
-
:CopyrightOwner: :copyrightowner
|
318
|
-
:RegionCode: :b398
|
319
|
-
:ProductFormDetail: :b333
|
320
|
-
:Date: :b306
|
321
|
-
:MessageNumber: :m180
|
322
|
-
:BatchBonus: :batchbonus
|
323
|
-
:Price: :price
|
324
|
-
:StartDate: :b324
|
325
|
-
:ReprintDetail: :k309
|
326
|
-
:Publisher: :publisher
|
327
|
-
:LettersAfterNames: :b042
|
328
|
-
:EditionVersionNumber: :b217
|
329
|
-
:CityOfPublication: :b209
|
330
|
-
:TitlePrefix: :b030
|
331
|
-
:SupplierCodeType: :x458
|
332
|
-
:SalesRights: :salesrights
|
333
|
-
:FeatureValue: :x439
|
334
|
-
:ConferenceNumber: :b053
|
335
|
-
:Number: :b257
|
336
|
-
:WorkIDType: :b201
|
337
|
-
:TaxableAmount: :x473
|
338
|
-
:PricePer: :j239
|
339
|
-
:ContributorDateRole: :x417
|
340
|
-
:AddresseeName: :x300
|
341
|
-
:QuantityUnit: :x466
|
342
|
-
:ProductClassification: :productclassification
|
343
|
-
:CountriesExcluded: :x451
|
344
|
-
:AudienceDescription: :b207
|
345
|
-
:Percent: :b337
|
346
|
-
:SenderIdentifier: :senderidentifier
|
347
|
-
:RelatedWork: :relatedwork
|
348
|
-
:ProductPart: :productpart
|
349
|
-
:NameType: :x414
|
350
|
-
:DiscountCodeType: :j363
|
351
|
-
:BibleVersion: :b353
|
352
|
-
:TextType: :x426
|
353
|
-
:SubjectHeadingText: :b070
|
354
|
-
:ResourceVersionFeature: :resourceversionfeature
|
355
|
-
:ComplexitySchemeIdentifier: :b077
|
356
|
-
:Market: :market
|
357
|
-
:UnnamedPersons: :b249
|
358
|
-
:SupplyDateRole: :x461
|
359
|
-
:SalesRestrictionType: :b381
|
360
|
-
:DescriptiveDetail: :descriptivedetail
|
361
|
-
:PriceCodeTypeName: :x477
|
362
|
-
:Collection: :collection
|
363
|
-
:Imprint: :imprint
|
364
|
-
:ContentAudience: :x427
|
365
|
-
:StockQuantityCoded: :stockquantitycoded
|
366
|
-
:PublishingDate: :publishingdate
|
367
|
-
:Prize: :prize
|
368
|
-
:CopyrightOwnerIDType: :b392
|
369
|
-
:AncillaryContentType: :x423
|
370
|
-
:OnHand: :j350
|
371
|
-
:EpubUsageStatus: :x319
|
372
|
-
:RegionsIncluded: :x450
|
373
|
-
:ProductFormFeature: :productformfeature
|
374
|
-
:MessageRepeat: :m181
|
375
|
-
:BatchQuantity: :j264
|
376
|
-
:TextAuthor: :d107
|
377
|
-
:Stock: :stock
|
378
|
-
:ResourceContentType: :x436
|
379
|
-
:CollateralDetail: :collateraldetail
|
380
|
-
:LevelSequenceNumber: :b284
|
381
|
-
:TitlesAfterNames: :b043
|
382
|
-
:SupplierCodeValue: :x459
|
383
|
-
:SalesRightsType: :b089
|
384
|
-
:FirstPageNumber: :b286
|
385
|
-
:ConferencePlace: :b055
|
386
|
-
|
387
|
-
# TAGI NIESTANDARDOWE
|
388
|
-
:CoverType: :cover_type
|