elibri_onix 0.5.18 → 0.6.0

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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/lib/elibri_onix/external_timestamp.rb +2 -2
  3. data/lib/elibri_onix/onix_3_0/audience_range.rb +4 -17
  4. data/lib/elibri_onix/onix_3_0/collection.rb +0 -0
  5. data/lib/elibri_onix/onix_3_0/contributor.rb +15 -38
  6. data/lib/elibri_onix/onix_3_0/excerpt_info.rb +8 -21
  7. data/lib/elibri_onix/onix_3_0/extent.rb +9 -24
  8. data/lib/elibri_onix/onix_3_0/file_info.rb +2 -13
  9. data/lib/elibri_onix/onix_3_0/header.rb +7 -17
  10. data/lib/elibri_onix/onix_3_0/imprint.rb +2 -18
  11. data/lib/elibri_onix/onix_3_0/language.rb +5 -22
  12. data/lib/elibri_onix/onix_3_0/measure.rb +4 -18
  13. data/lib/elibri_onix/onix_3_0/onix_message.rb +2 -17
  14. data/lib/elibri_onix/onix_3_0/price.rb +14 -25
  15. data/lib/elibri_onix/onix_3_0/price_constraint_limit.rb +22 -0
  16. data/lib/elibri_onix/onix_3_0/price_identifier.rb +18 -0
  17. data/lib/elibri_onix/onix_3_0/product.rb +63 -131
  18. data/lib/elibri_onix/onix_3_0/product_identifier.rb +6 -22
  19. data/lib/elibri_onix/onix_3_0/publisher.rb +4 -21
  20. data/lib/elibri_onix/onix_3_0/publisher_subject.rb +3 -13
  21. data/lib/elibri_onix/onix_3_0/publishing_date.rb +3 -21
  22. data/lib/elibri_onix/onix_3_0/related_product.rb +5 -24
  23. data/lib/elibri_onix/onix_3_0/sales_restriction.rb +5 -22
  24. data/lib/elibri_onix/onix_3_0/sender.rb +0 -12
  25. data/lib/elibri_onix/onix_3_0/stock_quantity_coded.rb +4 -19
  26. data/lib/elibri_onix/onix_3_0/supplier.rb +7 -25
  27. data/lib/elibri_onix/onix_3_0/supplier_identifier.rb +4 -23
  28. data/lib/elibri_onix/onix_3_0/supply_detail.rb +9 -26
  29. data/lib/elibri_onix/onix_3_0/supporting_resource.rb +7 -20
  30. data/lib/elibri_onix/onix_3_0/text_content.rb +9 -24
  31. data/lib/elibri_onix/onix_3_0/thema_subject.rb +2 -15
  32. data/lib/elibri_onix/onix_3_0/title_detail.rb +9 -28
  33. data/lib/elibri_onix/onix_3_0/title_element.rb +10 -35
  34. data/lib/elibri_onix/releases.rb +2 -2
  35. data/lib/elibri_onix/timestamp_parser.rb +12 -0
  36. data/lib/elibri_onix/version.rb +1 -1
  37. data/lib/elibri_onix.rb +4 -8
  38. data/test/elibri_audiobook_test.rb +1 -1
  39. data/test/elibri_contributors_test.rb +3 -3
  40. data/test/elibri_ebook_files_test.rb +2 -2
  41. data/test/elibri_extensions_test.rb +0 -12
  42. data/test/elibri_group_contributor_test.rb +1 -1
  43. data/test/elibri_onix_release_3_0_onix_message_test.rb +1 -6
  44. data/test/elibri_record_identifiers_test.rb +2 -2
  45. data/test/elibri_sale_restrictions_test.rb +1 -1
  46. data/test/elibri_supporting_resources_test.rb +2 -2
  47. data/test/elibri_texts_test.rb +5 -5
  48. data/test/fixtures/all_possible_tags.xml +1 -18
  49. data/test/fixtures/lending_example.xml +419 -0
  50. data/test/fixtures/onix_announced_product_example.xml +1 -3
  51. data/test/fixtures/onix_audience_range_example.xml +1 -3
  52. data/test/fixtures/onix_audiobook_extent_example.xml +1 -3
  53. data/test/fixtures/onix_collective_work_example.xml +1 -3
  54. data/test/fixtures/onix_contributors_example.xml +1 -3
  55. data/test/fixtures/onix_ebook_extent_example.xml +1 -4
  56. data/test/fixtures/onix_edition_example.xml +1 -3
  57. data/test/fixtures/onix_epub_details_example.xml +5 -4
  58. data/test/fixtures/onix_languages_example.xml +1 -3
  59. data/test/fixtures/onix_measurement_example.xml +1 -3
  60. data/test/fixtures/onix_no_contributors_example.xml +1 -3
  61. data/test/fixtures/onix_out_of_print_product_example.xml +1 -3
  62. data/test/fixtures/onix_preorder_product_example.xml +1 -3
  63. data/test/fixtures/onix_product_form_example.xml +1 -4
  64. data/test/fixtures/onix_published_group_product_example.xml +1 -3
  65. data/test/fixtures/onix_published_product_example.xml +1 -3
  66. data/test/fixtures/onix_publisher_info_example.xml +1 -3
  67. data/test/fixtures/onix_record_identifiers_example.xml +1 -4
  68. data/test/fixtures/onix_related_products_example.xml +1 -3
  69. data/test/fixtures/onix_removed_elibri_extensions.xml +0 -1
  70. data/test/fixtures/onix_sale_restrictions_example.xml +1 -3
  71. data/test/fixtures/onix_series_memberships_example.xml +1 -3
  72. data/test/fixtures/onix_supporting_resources_example.xml +1 -2
  73. data/test/fixtures/onix_territorial_rights_example.xml +1 -4
  74. data/test/fixtures/onix_texts_example.xml +1 -3
  75. data/test/fixtures/onix_title_with_collection_example.xml +1 -3
  76. data/test/fixtures/onix_titles_example.xml +1 -3
  77. data/test/fixtures/onix_unlimited_book_sample_example.xml +1 -4
  78. data/test/lending_licence_test.rb +43 -0
  79. metadata +9 -20
  80. data/lib/elibri_onix/hash_id.rb +0 -37
  81. data/test/fixtures/old_dialect.xml +0 -29
  82. data/test/fixtures/onix_elibri_extensions_example.xml +0 -57
@@ -4,7 +4,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
4
4
 
5
5
  it "should be able to parse attachment informations" do
6
6
  product = load_fixture("onix_supporting_resources_example.xml")
7
-
7
+
8
8
  assert_equal 2, product.supporting_resources.size
9
9
 
10
10
  assert_equal product.supporting_resources.first, product.front_cover
@@ -14,7 +14,7 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
14
14
  assert_equal "downloadable_file", product.supporting_resources.first.form_name
15
15
 
16
16
  assert_equal "http://elibri.com.pl/sciezka/do/pliku.png", product.front_cover.link
17
- assert_equal Date.new(2011, 12, 1) + 18.hours + 5.minutes, product.front_cover.datestamp
17
+ assert_equal Time.new(2011, 12, 1, 18, 5), product.front_cover.datestamp
18
18
  assert_equal 667, product.front_cover.eid
19
19
 
20
20
  assert_equal "widget", product.supporting_resources[1].content_type_name
@@ -7,9 +7,9 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
7
7
  product = load_fixture("onix_texts_example.xml")
8
8
 
9
9
  assert_equal 4, product.text_contents.size
10
-
10
+
11
11
  assert_equal "<p>1. Wprowadzenie</p> <p>2. Rozdział pierwszy</p> <p>[...]</p>", product.table_of_contents.text
12
- assert_equal Date.new(2011, 12, 04) + 13.hours + 15.minutes, product.table_of_contents.datestamp
12
+ assert_equal Time.new(2011, 12, 04, 13, 15), product.table_of_contents.datestamp
13
13
  assert_equal 133, product.table_of_contents.eid
14
14
 
15
15
  assert_equal 1, product.reviews.size
@@ -18,17 +18,17 @@ describe Elibri::ONIX::Release_3_0::ONIXMessage do
18
18
  assert_equal "Jan Kowalski", review.author
19
19
  assert_equal "nakanapie.pl", review.source_title
20
20
  assert_equal "http://nakanapie.pl/books/420469/reviews/2892.odnalezc-swa-droge", review.source_url
21
- assert_equal Date.new(2011, 12, 4) + 13.hours + 18.minutes, review.datestamp
21
+ assert_equal Time.new(2011, 12, 4, 13, 18), review.datestamp
22
22
  assert_equal 134, review.eid
23
23
 
24
24
  assert_equal "<p>Opis książki</p> <p>[...]</p>", product.description.text
25
- assert_equal Date.new(2011, 12, 4) + 13.hours + 25.minutes, product.description.datestamp
25
+ assert_equal Time.new(2011, 12, 4, 13, 25), product.description.datestamp
26
26
  assert_equal 135, product.description.eid
27
27
 
28
28
  assert_equal 1, product.excerpts.size
29
29
  excerpt = product.excerpts.first
30
30
  assert_equal "<p>Fragment książki</p> <p>[...]</p>", excerpt.text
31
- assert_equal Date.new(2011, 12, 4) + 13.hours + 35.minutes, excerpt.datestamp
31
+ assert_equal Time.new(2011, 12, 4, 13, 35), excerpt.datestamp
32
32
  assert_equal 136, excerpt.eid
33
33
  end
34
34
  end
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns:elibri="http://elibri.com.pl/ns/extensions" xmlns="http://www.editeur.org/onix/3.0/reference">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns:elibri="http://elibri.com.pl/ns/extensions">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -422,21 +421,5 @@
422
421
  </Price>
423
422
  </SupplyDetail>
424
423
  </ProductSupply>
425
- <!-- Format okładki
426
- gąbka
427
- kartonowa
428
- kartonowa foliowana
429
- miękka
430
- miękka ze skrzydełkami
431
- plastikowa
432
- skórzana
433
- twarda
434
- twarda z obwolutą -->
435
- <elibri:CoverType>miękka</elibri:CoverType>
436
- <!-- Cena na okładce -->
437
- <elibri:CoverPrice>12.99</elibri:CoverPrice>
438
- <!-- Vat w procentach -->
439
- <elibri:Vat>5</elibri:Vat>
440
- <elibri:PKWiU>58.11.1</elibri:PKWiU>
441
424
  </Product>
442
425
  </ONIXMessage>
@@ -0,0 +1,419 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ONIXMessage xmlns="http://ns.editeur.org/onix/3.1/reference" release="3.1">
3
+ <Header>
4
+ <Sender>
5
+ <SenderName>Elibri sp. z o. o.</SenderName>
6
+ </Sender>
7
+ <SentDateTime>20241121</SentDateTime>
8
+ </Header>
9
+ <Product>
10
+ <RecordReference>53cd9313bd31500878e4</RecordReference>
11
+ <!-- NotificationType: powiadomienie o publikacji -->
12
+ <NotificationType>03</NotificationType>
13
+ <ProductIdentifier>
14
+ <!-- ProductIDType: ISBN-13 -->
15
+ <ProductIDType>15</ProductIDType>
16
+ <IDValue>9788383578750</IDValue>
17
+ </ProductIdentifier>
18
+ <DescriptiveDetail>
19
+ <!-- zawsze: ProductComposition: samodzielny produkt -->
20
+ <ProductComposition>00</ProductComposition>
21
+ <!-- ProductFormCode: e-book -->
22
+ <ProductForm>EA</ProductForm>
23
+ <!-- ProductFormDetail: EPUB -->
24
+ <ProductFormDetail>E101</ProductFormDetail>
25
+ <!-- ProductFormDetail: Mobipocket -->
26
+ <ProductFormDetail>E127</ProductFormDetail>
27
+ <!-- EpubTechnicalProtection: watermark -->
28
+ <EpubTechnicalProtection>02</EpubTechnicalProtection>
29
+ <TitleDetail>
30
+ <!-- TitleType: tytuł -->
31
+ <TitleType>01</TitleType>
32
+ <TitleElement>
33
+ <!-- TitleElementLevel: produkt -->
34
+ <TitleElementLevel>01</TitleElementLevel>
35
+ <TitleText language="pol">Zima w zapomnianym schronisku</TitleText>
36
+ </TitleElement>
37
+ </TitleDetail>
38
+ <TitleDetail>
39
+ <!-- TitleType: tytuł wydawcy -->
40
+ <TitleType>10</TitleType>
41
+ <TitleElement>
42
+ <!-- TitleElementLevel: produkt -->
43
+ <TitleElementLevel>01</TitleElementLevel>
44
+ <TitleText>ZIMA W ZAPOMNIANYM SCHRONISKU</TitleText>
45
+ </TitleElement>
46
+ </TitleDetail>
47
+ <Contributor sourcename="contributorid:430289" datestamp="20241018T1443">
48
+ <SequenceNumber>1</SequenceNumber>
49
+ <!-- ContributorRole: autor -->
50
+ <ContributorRole>A01</ContributorRole>
51
+ <PersonName>Julia Furmaniak</PersonName>
52
+ <NamesBeforeKey>Julia</NamesBeforeKey>
53
+ <KeyNames>Furmaniak</KeyNames>
54
+ </Contributor>
55
+ <Language>
56
+ <!-- LanguageRole: język publikacji -->
57
+ <LanguageRole>01</LanguageRole>
58
+ <!-- LanguageCode: polski -->
59
+ <LanguageCode>pol</LanguageCode>
60
+ </Language>
61
+ <Extent>
62
+ <!-- ExtentType: ilość stron -->
63
+ <ExtentType>00</ExtentType>
64
+ <ExtentValue>352</ExtentValue>
65
+ <!-- ExtentUnit: strony -->
66
+ <ExtentUnit>03</ExtentUnit>
67
+ </Extent>
68
+ <Subject>
69
+ <!-- SubjectSchemeIdentifier: Kategoria Thema -->
70
+ <SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
71
+ <SubjectSchemeVersion>1.5</SubjectSchemeVersion>
72
+ <SubjectCode>FS</SubjectCode>
73
+ <SubjectHeadingText>Proza fabularna / Literatura obyczajowo-rodzinna</SubjectHeadingText>
74
+ </Subject>
75
+ </DescriptiveDetail>
76
+ <CollateralDetail>
77
+ <TextContent sourcename="textid:261408" datestamp="20241018T1443">
78
+ <!-- OtherTextType: Główny opis -->
79
+ <TextType>03</TextType>
80
+ <!-- ContentAudience: brak ograniczeń -->
81
+ <ContentAudience>00</ContentAudience>
82
+ <Text language="pol">
83
+ <![CDATA[<p>JAK CZAS SPĘDZONY W ODCIĘTYM OD ŚWIATA MIEJSCU WPŁYNIE NA GRUPĘ PRZYJACIÓŁ? CZY TA WYPRAWA W GÓRY ZMIENI ŻYCIE MONIKI?</p>
84
+ <p>Monika po stracie ukochanego narzeczonego postanawia spędzić święta Bożego Narodzenia w Samotni – schronisku górskim, które szczególnie ukochał sobie Michał.</p>
85
+ <p>Aleksander wciąż czuje się winny śmierci najlepszego przyjaciela. Wyrzuca sobie, że odpuścił wyprawę w góry, z której Michał już nie wrócił. Wraz z czwórką znajomych dołącza do Moniki, aby w górach uczcić pamięć po zmarłym przyjacielu.</p>
86
+ <p>Monikę zachwyca zimowy krajobraz polskich gór, ale nieumiejętnie poruszając się po oblodzonym szlaku, skręca kostkę. Grupa przyjaciół postanawia szukać pomocy w starym schronisku, które na pierwszy rzut oka wydaje się opuszczone. Na szczęście okazuje się, że w starej chacie ktoś mieszka. I mimo że Rafał, właściciel, nie jest skory do pomocy grupie młodych osób, ostatecznie proponuje im nocleg.</p>]]>
87
+ </Text>
88
+ </TextContent>
89
+ <SupportingResource sourcename="resourceid:397304" datestamp="20241018T1243">
90
+ <!-- ResourceContentType: okładka (przód) -->
91
+ <ResourceContentType>01</ResourceContentType>
92
+ <!-- ContentAudience: brak ograniczeń -->
93
+ <ContentAudience>00</ContentAudience>
94
+ <!-- ResourceMode: obrazek -->
95
+ <ResourceMode>03</ResourceMode>
96
+ <ResourceVersion>
97
+ <!-- ResourceForm: plik do pobrania -->
98
+ <ResourceForm>02</ResourceForm>
99
+ <ResourceVersionFeature>
100
+ <!-- ResourceVersionFeatureType: wartość hasha md5 -->
101
+ <ResourceVersionFeatureType>06</ResourceVersionFeatureType>
102
+ <FeatureValue>a5312ade838e09edcf9106eedfb42b2b</FeatureValue>
103
+ </ResourceVersionFeature>
104
+ <ResourceVersionFeature>
105
+ <!-- ResourceVersionFeatureType: rozmiar w bajtach -->
106
+ <ResourceVersionFeatureType>07</ResourceVersionFeatureType>
107
+ <FeatureValue>7717357</FeatureValue>
108
+ </ResourceVersionFeature>
109
+ <ResourceLink>http://localhost:3000/attachments/53cd9313bd31500878e4/cover/original.jpg</ResourceLink>
110
+ <ContentDate>
111
+ <!-- zawsze: ContentDateRole: data ostatniej aktualizacji -->
112
+ <ContentDateRole>17</ContentDateRole>
113
+ <Date dateformat="13">20241018T1243Z</Date>
114
+ </ContentDate>
115
+ </ResourceVersion>
116
+ </SupportingResource>
117
+ <SupportingResource>
118
+ <!-- ResourceContentType: fragment książki -->
119
+ <ResourceContentType>15</ResourceContentType>
120
+ <!-- ContentAudience: brak ograniczeń -->
121
+ <ContentAudience>00</ContentAudience>
122
+ <!-- ResourceMode: tekst -->
123
+ <ResourceMode>04</ResourceMode>
124
+ <ResourceVersion>
125
+ <!-- ResourceForm: plik do pobrania -->
126
+ <ResourceForm>02</ResourceForm>
127
+ <ResourceVersionFeature>
128
+ <!-- ResourceVersionFeatureType: format pliku -->
129
+ <ResourceVersionFeatureType>01</ResourceVersionFeatureType>
130
+ <!-- FeatureValue: Mobipocket -->
131
+ <FeatureValue>E127</FeatureValue>
132
+ </ResourceVersionFeature>
133
+ <ResourceVersionFeature>
134
+ <!-- ResourceVersionFeatureType: wartość hasha md5 -->
135
+ <ResourceVersionFeatureType>06</ResourceVersionFeatureType>
136
+ <FeatureValue>0a8b6a47f700014d2f86de24a92feb4c</FeatureValue>
137
+ </ResourceVersionFeature>
138
+ <ResourceVersionFeature>
139
+ <!-- ResourceVersionFeatureType: rozmiar w bajtach -->
140
+ <ResourceVersionFeatureType>07</ResourceVersionFeatureType>
141
+ <FeatureValue>3199284</FeatureValue>
142
+ </ResourceVersionFeature>
143
+ <ResourceLink>http://localhost:3000/excerpt/298465/0a8b6a47f700014d2f86de24a92feb4c/zima-w-zapomnianym-schronisku-fragment.mobi</ResourceLink>
144
+ <ContentDate>
145
+ <!-- zawsze: ContentDateRole: data ostatniej aktualizacji -->
146
+ <ContentDateRole>17</ContentDateRole>
147
+ <Date dateformat="13">20241018T1244Z</Date>
148
+ </ContentDate>
149
+ </ResourceVersion>
150
+ <ResourceVersion>
151
+ <!-- ResourceForm: plik do pobrania -->
152
+ <ResourceForm>02</ResourceForm>
153
+ <ResourceVersionFeature>
154
+ <!-- ResourceVersionFeatureType: format pliku -->
155
+ <ResourceVersionFeatureType>01</ResourceVersionFeatureType>
156
+ <!-- FeatureValue: EPUB -->
157
+ <FeatureValue>E101</FeatureValue>
158
+ </ResourceVersionFeature>
159
+ <ResourceVersionFeature>
160
+ <!-- ResourceVersionFeatureType: wartość hasha md5 -->
161
+ <ResourceVersionFeatureType>06</ResourceVersionFeatureType>
162
+ <FeatureValue>1e370028f8cd909b8ffe1286f9cfbfc9</FeatureValue>
163
+ </ResourceVersionFeature>
164
+ <ResourceVersionFeature>
165
+ <!-- ResourceVersionFeatureType: rozmiar w bajtach -->
166
+ <ResourceVersionFeatureType>07</ResourceVersionFeatureType>
167
+ <FeatureValue>1487743</FeatureValue>
168
+ </ResourceVersionFeature>
169
+ <ResourceLink>http://localhost:3000/excerpt/298464/1e370028f8cd909b8ffe1286f9cfbfc9/zima-w-zapomnianym-schronisku-fragment.epub</ResourceLink>
170
+ <ContentDate>
171
+ <!-- zawsze: ContentDateRole: data ostatniej aktualizacji -->
172
+ <ContentDateRole>17</ContentDateRole>
173
+ <Date dateformat="13">20241018T1244Z</Date>
174
+ </ContentDate>
175
+ </ResourceVersion>
176
+ </SupportingResource>
177
+ </CollateralDetail>
178
+ <PublishingDetail>
179
+ <Imprint>
180
+ <ImprintName>FILIA</ImprintName>
181
+ </Imprint>
182
+ <Publisher>
183
+ <PublishingRole>01</PublishingRole>
184
+ <PublisherIdentifier>
185
+ <PublisherIDType>01</PublisherIDType>
186
+ <IDTypeName>ElibriPublisherCode</IDTypeName>
187
+ <IDValue>402</IDValue>
188
+ </PublisherIdentifier>
189
+ <PublisherName>FILIA</PublisherName>
190
+ </Publisher>
191
+ <CityOfPublication>Poznań</CityOfPublication>
192
+ <ProductContact>
193
+ <!-- zawsze: ProductContactRole: Kontakt w sprawie bezpieczeństwa produktu -->
194
+ <ProductContactRole>10</ProductContactRole>
195
+ <ProductContactName>Wydawnictwo Filia spółka z ograniczoną odpowiedzialnością sp.k</ProductContactName>
196
+ <TelephoneNumber>512 027 368</TelephoneNumber>
197
+ <EmailAddress>kontakt@wydawnictwofilia.pl</EmailAddress>
198
+ <StreetAddress>Kleeberga 2</StreetAddress>
199
+ <LocationName>Poznań</LocationName>
200
+ <PostalCode>61-615</PostalCode>
201
+ <CountryCode>PL</CountryCode>
202
+ </ProductContact>
203
+ <!-- PublishingStatusCode: w sprzedaży -->
204
+ <PublishingStatus>04</PublishingStatus>
205
+ <PublishingDate>
206
+ <!-- PublishingDateRole: data publikacji -->
207
+ <PublishingDateRole>01</PublishingDateRole>
208
+ <Date dateformat="00">20241023</Date>
209
+ </PublishingDate>
210
+ <PublishingDate>
211
+ <!-- PublishingDateRole: data, po której książka zostanie wycofana z rynku -->
212
+ <PublishingDateRole>13</PublishingDateRole>
213
+ <Date dateformat="00">20291023</Date>
214
+ </PublishingDate>
215
+ <SalesRights>
216
+ <!-- zawsze: SalesRightsType: Produkt dopuszczony do sprzedaży w wymienionych krajach lub terytoriach -->
217
+ <SalesRightsType>01</SalesRightsType>
218
+ <Territory>
219
+ <RegionsIncluded>WORLD</RegionsIncluded>
220
+ </Territory>
221
+ </SalesRights>
222
+ </PublishingDetail>
223
+ <RelatedMaterial>
224
+ <RelatedProduct>
225
+ <!-- zawsze: ProductRelationType: ta sama książka w innym wydaniu albo innej formie fizycznej -->
226
+ <ProductRelationCode>24</ProductRelationCode>
227
+ <ProductIdentifier>
228
+ <!-- ProductIDType: wewnętrzny identyfikator -->
229
+ <ProductIDType>01</ProductIDType>
230
+ <IDTypeName>elibri</IDTypeName>
231
+ <IDValue>5732002f7d1b3acbcb57</IDValue>
232
+ </ProductIdentifier>
233
+ </RelatedProduct>
234
+ <RelatedProduct>
235
+ <!-- zawsze: ProductRelationType: ta sama książka w innym wydaniu albo innej formie fizycznej -->
236
+ <ProductRelationCode>24</ProductRelationCode>
237
+ <ProductIdentifier>
238
+ <!-- ProductIDType: wewnętrzny identyfikator -->
239
+ <ProductIDType>01</ProductIDType>
240
+ <IDTypeName>elibri</IDTypeName>
241
+ <IDValue>11c2af5beb922c111d7f</IDValue>
242
+ </ProductIdentifier>
243
+ </RelatedProduct>
244
+ </RelatedMaterial>
245
+ <ProductionDetail>
246
+ <ProductionManifest>
247
+ <BodyManifest>
248
+ <BodyResource>
249
+ <SequenceNumber>1</SequenceNumber>
250
+ <ResourceIdentifier>
251
+ <!-- zawsze: ResourceIDType: wewnętrzny identyfikator -->
252
+ <ResourceIDType>01</ResourceIDType>
253
+ <IDTypeName>elibri internal numerical ID</IDTypeName>
254
+ <IDValue>298463</IDValue>
255
+ </ResourceIdentifier>
256
+ <ResourceFileFeature>
257
+ <!-- ResourceFileFeatureType: dokładny rozmiar pliku -->
258
+ <ResourceFileFeatureType>07</ResourceFileFeatureType>
259
+ <ResourceFileFeatureValue>4059957</ResourceFileFeatureValue>
260
+ </ResourceFileFeature>
261
+ <ResourceFileFeature>
262
+ <!-- ResourceFileFeatureType: md5 -->
263
+ <ResourceFileFeatureType>06</ResourceFileFeatureType>
264
+ <ResourceFileFeatureValue>b59680386ba5591c46abb7e8edee08b2</ResourceFileFeatureValue>
265
+ </ResourceFileFeature>
266
+ <ResourceFileLink>9788383578750_zima_w_zapomnianym_schronisku.mobi</ResourceFileLink>
267
+ <ResourceFileDate>
268
+ <!-- zawsze: ResourceFileDateRole: data ostatniej aktualizacji -->
269
+ <ResourceFileDateRole>17</ResourceFileDateRole>
270
+ <Date dateformat="13">20241018T1244Z</Date>
271
+ </ResourceFileDate>
272
+ </BodyResource>
273
+ <BodyResource>
274
+ <SequenceNumber>2</SequenceNumber>
275
+ <ResourceIdentifier>
276
+ <!-- zawsze: ResourceIDType: wewnętrzny identyfikator -->
277
+ <ResourceIDType>01</ResourceIDType>
278
+ <IDTypeName>elibri internal numerical ID</IDTypeName>
279
+ <IDValue>298462</IDValue>
280
+ </ResourceIdentifier>
281
+ <ResourceFileFeature>
282
+ <!-- ResourceFileFeatureType: dokładny rozmiar pliku -->
283
+ <ResourceFileFeatureType>07</ResourceFileFeatureType>
284
+ <ResourceFileFeatureValue>1683776</ResourceFileFeatureValue>
285
+ </ResourceFileFeature>
286
+ <ResourceFileFeature>
287
+ <!-- ResourceFileFeatureType: md5 -->
288
+ <ResourceFileFeatureType>06</ResourceFileFeatureType>
289
+ <ResourceFileFeatureValue>d4cf19a9d15d2117e81dda88588d0128</ResourceFileFeatureValue>
290
+ </ResourceFileFeature>
291
+ <ResourceFileLink>9788383578750_zima_w_zapomnianym_schronisku.epub</ResourceFileLink>
292
+ <ResourceFileDate>
293
+ <!-- zawsze: ResourceFileDateRole: data ostatniej aktualizacji -->
294
+ <ResourceFileDateRole>17</ResourceFileDateRole>
295
+ <Date dateformat="13">20241018T1244Z</Date>
296
+ </ResourceFileDate>
297
+ </BodyResource>
298
+ </BodyManifest>
299
+ </ProductionManifest>
300
+ </ProductionDetail>
301
+ <ProductSupply>
302
+ <SupplyDetail>
303
+ <Supplier>
304
+ <!-- SupplierRole: sprzedaż wydawnictwa do detalu -->
305
+ <SupplierRole>01</SupplierRole>
306
+ <SupplierIdentifier>
307
+ <!-- zawsze: SupplierIDType: Numer NIP -->
308
+ <SupplierIDType>23</SupplierIDType>
309
+ <IDValue>PL9721253428</IDValue>
310
+ </SupplierIdentifier>
311
+ <SupplierName>FILIA</SupplierName>
312
+ </Supplier>
313
+ <!-- ProductAvailabilityType: dostępny -->
314
+ <ProductAvailability>20</ProductAvailability>
315
+ <Price>
316
+ <!-- zawsze: PriceTypeCode: sugerowana cena detaliczna brutto -->
317
+ <PriceType>02</PriceType>
318
+ <PriceAmount>49.9</PriceAmount>
319
+ <Tax>
320
+ <!-- zawsze: TaxType: vat -->
321
+ <TaxType>01</TaxType>
322
+ <TaxRatePercent>5</TaxRatePercent>
323
+ </Tax>
324
+ <CurrencyCode>PLN</CurrencyCode>
325
+ </Price>
326
+ </SupplyDetail>
327
+ <SupplyDetail>
328
+ <Supplier>
329
+ <!-- SupplierRole: Wyłączny dystrybutor do klientów instytucjonalnych -->
330
+ <SupplierRole>10</SupplierRole>
331
+ <SupplierIdentifier>
332
+ <!-- zawsze: SupplierIDType: Numer NIP -->
333
+ <SupplierIDType>23</SupplierIDType>
334
+ <IDValue>PL9721253428</IDValue>
335
+ </SupplierIdentifier>
336
+ <SupplierName>FILIA</SupplierName>
337
+ </Supplier>
338
+ <!-- ProductAvailabilityType: dostępny -->
339
+ <ProductAvailability>20</ProductAvailability>
340
+ <Price>
341
+ <PriceIdentifier>
342
+ <PriceIDType>01</PriceIDType>
343
+ <IDTypeName>ElibriLendingID</IDTypeName>
344
+ <IDValue>25/2 36m.</IDValue>
345
+ </PriceIdentifier>
346
+ <!-- zawsze: PriceTypeCode: sugerowana cena detaliczna brutto -->
347
+ <PriceType>02</PriceType>
348
+ <PriceQualifier>10</PriceQualifier>
349
+ <PriceConstraint>
350
+ <!-- zawsze: PriceConstraintType: wypożyczenia -->
351
+ <PriceConstraintType>06</PriceConstraintType>
352
+ <!-- zawsze: PriceConstraintStatus: limit -->
353
+ <PriceConstraintStatus>02</PriceConstraintStatus>
354
+ <PriceConstraintLimit>
355
+ <Quantity>25</Quantity>
356
+ <!-- PriceConstraintUnit: razy -->
357
+ <PriceConstraintUnit>10</PriceConstraintUnit>
358
+ </PriceConstraintLimit>
359
+ <PriceConstraintLimit>
360
+ <Quantity>2</Quantity>
361
+ <!-- PriceConstraintUnit: jednocześni użytkownicy -->
362
+ <PriceConstraintUnit>07</PriceConstraintUnit>
363
+ </PriceConstraintLimit>
364
+ <PriceConstraintLimit>
365
+ <Quantity>36</Quantity>
366
+ <!-- PriceConstraintUnit: miesiąc -->
367
+ <PriceConstraintUnit>14</PriceConstraintUnit>
368
+ </PriceConstraintLimit>
369
+ <PriceConstraintLimit>
370
+ <Quantity>20250220</Quantity>
371
+ <!-- PriceConstraintUnit: obowiązuje od -->
372
+ <PriceConstraintUnit>98</PriceConstraintUnit>
373
+ </PriceConstraintLimit>
374
+ </PriceConstraint>
375
+ <PriceAmount>34.0</PriceAmount>
376
+ <Tax>
377
+ <!-- zawsze: TaxType: vat -->
378
+ <TaxType>01</TaxType>
379
+ <TaxRatePercent>5</TaxRatePercent>
380
+ </Tax>
381
+ <CurrencyCode>PLN</CurrencyCode>
382
+ </Price>
383
+ <Price>
384
+ <PriceIdentifier>
385
+ <PriceIDType>01</PriceIDType>
386
+ <IDTypeName>ElibriLendingID</IDTypeName>
387
+ <IDValue>10/1 bezterminowo</IDValue>
388
+ </PriceIdentifier>
389
+ <!-- zawsze: PriceTypeCode: sugerowana cena detaliczna brutto -->
390
+ <PriceType>02</PriceType>
391
+ <PriceQualifier>10</PriceQualifier>
392
+ <PriceConstraint>
393
+ <!-- zawsze: PriceConstraintType: wypożyczenia -->
394
+ <PriceConstraintType>06</PriceConstraintType>
395
+ <!-- zawsze: PriceConstraintStatus: limit -->
396
+ <PriceConstraintStatus>02</PriceConstraintStatus>
397
+ <PriceConstraintLimit>
398
+ <Quantity>10</Quantity>
399
+ <!-- PriceConstraintUnit: razy -->
400
+ <PriceConstraintUnit>10</PriceConstraintUnit>
401
+ </PriceConstraintLimit>
402
+ <PriceConstraintLimit>
403
+ <Quantity>1</Quantity>
404
+ <!-- PriceConstraintUnit: jednocześni użytkownicy -->
405
+ <PriceConstraintUnit>07</PriceConstraintUnit>
406
+ </PriceConstraintLimit>
407
+ </PriceConstraint>
408
+ <PriceAmount>20.0</PriceAmount>
409
+ <Tax>
410
+ <!-- zawsze: TaxType: vat -->
411
+ <TaxType>01</TaxType>
412
+ <TaxRatePercent>5</TaxRatePercent>
413
+ </Tax>
414
+ <CurrencyCode>PLN</CurrencyCode>
415
+ </Price>
416
+ </SupplyDetail>
417
+ </ProductSupply>
418
+ </Product>
419
+ </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -65,6 +64,5 @@
65
64
  </Territory>
66
65
  </SalesRights>
67
66
  </PublishingDetail>
68
- <elibri:preview_exists>false</elibri:preview_exists>
69
67
  </Product>
70
68
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -56,6 +55,5 @@
56
55
  </Territory>
57
56
  </SalesRights>
58
57
  </PublishingDetail>
59
- <elibri:preview_exists>false</elibri:preview_exists>
60
58
  </Product>
61
59
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -51,6 +50,5 @@
51
50
  </Territory>
52
51
  </SalesRights>
53
52
  </PublishingDetail>
54
- <elibri:preview_exists>false</elibri:preview_exists>
55
53
  </Product>
56
54
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -50,6 +49,5 @@
50
49
  </Territory>
51
50
  </SalesRights>
52
51
  </PublishingDetail>
53
- <elibri:preview_exists>false</elibri:preview_exists>
54
52
  </Product>
55
53
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -65,6 +64,5 @@
65
64
  </Territory>
66
65
  </SalesRights>
67
66
  </PublishingDetail>
68
- <elibri:preview_exists>false</elibri:preview_exists>
69
67
  </Product>
70
68
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -57,7 +56,5 @@
57
56
  </Territory>
58
57
  </SalesRights>
59
58
  </PublishingDetail>
60
- <elibri:preview_exists>false</elibri:preview_exists>
61
- <elibri:SaleNotRestricted/>
62
59
  </Product>
63
60
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -48,6 +47,5 @@
48
47
  </Territory>
49
48
  </SalesRights>
50
49
  </PublishingDetail>
51
- <elibri:preview_exists>false</elibri:preview_exists>
52
50
  </Product>
53
51
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -41,6 +40,10 @@
41
40
  <PublisherName>GREG</PublisherName>
42
41
  </Publisher>
43
42
  <PublishingStatus>04</PublishingStatus>
43
+ <PublishingDate>
44
+ <PublishingDateRole>13</PublishingDateRole>
45
+ <Date dateformat="00">20140307</Date>
46
+ </PublishingDate>
44
47
  <SalesRights>
45
48
  <SalesRightsType>01</SalesRightsType>
46
49
  <Territory>
@@ -48,7 +51,5 @@
48
51
  </Territory>
49
52
  </SalesRights>
50
53
  </PublishingDetail>
51
- <elibri:preview_exists>false</elibri:preview_exists>
52
- <elibri:SaleRestrictedTo>20140307</elibri:SaleRestrictedTo>
53
54
  </Product>
54
55
  </ONIXMessage>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference" xmlns:elibri="http://elibri.com.pl/ns/extensions">
3
- <elibri:Dialect>3.0.1</elibri:Dialect>
2
+ <ONIXMessage release="3.0" xmlns="http://ns.editeur.org/onix/3.0/reference">
4
3
  <Header>
5
4
  <Sender>
6
5
  <SenderName>Elibri.com.pl</SenderName>
@@ -54,6 +53,5 @@
54
53
  </Territory>
55
54
  </SalesRights>
56
55
  </PublishingDetail>
57
- <elibri:preview_exists>false</elibri:preview_exists>
58
56
  </Product>
59
57
  </ONIXMessage>