im_onix 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +39 -0
- data/bin/html_codelist_to_yml.rb +46 -0
- data/bin/onix3_to_onix2.rb +192 -0
- data/bin/onix3_to_onix3.rb +401 -0
- data/bin/onix_bench.rb +15 -0
- data/bin/onix_pp.rb +216 -0
- data/bin/onix_split.rb +72 -0
- data/data/codelists/codelist-1.yml +12 -0
- data/data/codelists/codelist-10.yml +51 -0
- data/data/codelists/codelist-100.yml +8 -0
- data/data/codelists/codelist-101.yml +7 -0
- data/data/codelists/codelist-102.yml +5 -0
- data/data/codelists/codelist-11.yml +13 -0
- data/data/codelists/codelist-12.yml +15 -0
- data/data/codelists/codelist-121.yml +162 -0
- data/data/codelists/codelist-13.yml +10 -0
- data/data/codelists/codelist-138.yml +8 -0
- data/data/codelists/codelist-139.yml +102 -0
- data/data/codelists/codelist-14.yml +6 -0
- data/data/codelists/codelist-140.yml +9 -0
- data/data/codelists/codelist-141.yml +12 -0
- data/data/codelists/codelist-142.yml +14 -0
- data/data/codelists/codelist-143.yml +9 -0
- data/data/codelists/codelist-144.yml +10 -0
- data/data/codelists/codelist-145.yml +9 -0
- data/data/codelists/codelist-146.yml +5 -0
- data/data/codelists/codelist-147.yml +16 -0
- data/data/codelists/codelist-148.yml +6 -0
- data/data/codelists/codelist-149.yml +7 -0
- data/data/codelists/codelist-15.yml +15 -0
- data/data/codelists/codelist-150.yml +128 -0
- data/data/codelists/codelist-151.yml +10 -0
- data/data/codelists/codelist-152.yml +4 -0
- data/data/codelists/codelist-153.yml +19 -0
- data/data/codelists/codelist-154.yml +11 -0
- data/data/codelists/codelist-155.yml +10 -0
- data/data/codelists/codelist-156.yml +6 -0
- data/data/codelists/codelist-157.yml +6 -0
- data/data/codelists/codelist-158.yml +32 -0
- data/data/codelists/codelist-159.yml +8 -0
- data/data/codelists/codelist-16.yml +8 -0
- data/data/codelists/codelist-160.yml +6 -0
- data/data/codelists/codelist-161.yml +5 -0
- data/data/codelists/codelist-162.yml +9 -0
- data/data/codelists/codelist-163.yml +18 -0
- data/data/codelists/codelist-164.yml +7 -0
- data/data/codelists/codelist-165.yml +6 -0
- data/data/codelists/codelist-166.yml +6 -0
- data/data/codelists/codelist-167.yml +7 -0
- data/data/codelists/codelist-168.yml +4 -0
- data/data/codelists/codelist-169.yml +7 -0
- data/data/codelists/codelist-17.yml +95 -0
- data/data/codelists/codelist-170.yml +2 -0
- data/data/codelists/codelist-171.yml +4 -0
- data/data/codelists/codelist-172.yml +3 -0
- data/data/codelists/codelist-173.yml +5 -0
- data/data/codelists/codelist-174.yml +4 -0
- data/data/codelists/codelist-175.yml +217 -0
- data/data/codelists/codelist-176.yml +16 -0
- data/data/codelists/codelist-177.yml +4 -0
- data/data/codelists/codelist-178.yml +30 -0
- data/data/codelists/codelist-179.yml +4 -0
- data/data/codelists/codelist-18.yml +8 -0
- data/data/codelists/codelist-184.yml +10 -0
- data/data/codelists/codelist-19.yml +9 -0
- data/data/codelists/codelist-196.yml +22 -0
- data/data/codelists/codelist-197.yml +7 -0
- data/data/codelists/codelist-198.yml +4 -0
- data/data/codelists/codelist-2.yml +8 -0
- data/data/codelists/codelist-20.yml +2 -0
- data/data/codelists/codelist-203.yml +10 -0
- data/data/codelists/codelist-204.yml +6 -0
- data/data/codelists/codelist-21.yml +36 -0
- data/data/codelists/codelist-22.yml +11 -0
- data/data/codelists/codelist-23.yml +17 -0
- data/data/codelists/codelist-24.yml +13 -0
- data/data/codelists/codelist-25.yml +31 -0
- data/data/codelists/codelist-26.yml +94 -0
- data/data/codelists/codelist-27.yml +101 -0
- data/data/codelists/codelist-28.yml +10 -0
- data/data/codelists/codelist-29.yml +26 -0
- data/data/codelists/codelist-3.yml +13 -0
- data/data/codelists/codelist-30.yml +19 -0
- data/data/codelists/codelist-31.yml +5 -0
- data/data/codelists/codelist-32.yml +5 -0
- data/data/codelists/codelist-33.yml +44 -0
- data/data/codelists/codelist-34.yml +18 -0
- data/data/codelists/codelist-35.yml +8 -0
- data/data/codelists/codelist-36.yml +5 -0
- data/data/codelists/codelist-37.yml +8 -0
- data/data/codelists/codelist-38.yml +42 -0
- data/data/codelists/codelist-39.yml +21 -0
- data/data/codelists/codelist-40.yml +8 -0
- data/data/codelists/codelist-41.yml +8 -0
- data/data/codelists/codelist-42.yml +18 -0
- data/data/codelists/codelist-43.yml +8 -0
- data/data/codelists/codelist-44.yml +22 -0
- data/data/codelists/codelist-45.yml +15 -0
- data/data/codelists/codelist-46.yml +11 -0
- data/data/codelists/codelist-47.yml +6 -0
- data/data/codelists/codelist-48.yml +13 -0
- data/data/codelists/codelist-49.yml +87 -0
- data/data/codelists/codelist-5.yml +20 -0
- data/data/codelists/codelist-50.yml +10 -0
- data/data/codelists/codelist-51.yml +37 -0
- data/data/codelists/codelist-52.yml +3 -0
- data/data/codelists/codelist-53.yml +7 -0
- data/data/codelists/codelist-54.yml +25 -0
- data/data/codelists/codelist-55.yml +21 -0
- data/data/codelists/codelist-56.yml +4 -0
- data/data/codelists/codelist-57.yml +7 -0
- data/data/codelists/codelist-58.yml +27 -0
- data/data/codelists/codelist-59.yml +12 -0
- data/data/codelists/codelist-6.yml +78 -0
- data/data/codelists/codelist-60.yml +4 -0
- data/data/codelists/codelist-61.yml +5 -0
- data/data/codelists/codelist-62.yml +7 -0
- data/data/codelists/codelist-63.yml +2 -0
- data/data/codelists/codelist-64.yml +18 -0
- data/data/codelists/codelist-65.yml +31 -0
- data/data/codelists/codelist-66.yml +6 -0
- data/data/codelists/codelist-67.yml +4 -0
- data/data/codelists/codelist-68.yml +19 -0
- data/data/codelists/codelist-69.yml +6 -0
- data/data/codelists/codelist-7.yml +128 -0
- data/data/codelists/codelist-70.yml +4 -0
- data/data/codelists/codelist-71.yml +13 -0
- data/data/codelists/codelist-72.yml +9 -0
- data/data/codelists/codelist-73.yml +43 -0
- data/data/codelists/codelist-74.yml +491 -0
- data/data/codelists/codelist-75.yml +4 -0
- data/data/codelists/codelist-76.yml +14 -0
- data/data/codelists/codelist-77.yml +21 -0
- data/data/codelists/codelist-78.yml +179 -0
- data/data/codelists/codelist-79.yml +25 -0
- data/data/codelists/codelist-8.yml +9 -0
- data/data/codelists/codelist-80.yml +23 -0
- data/data/codelists/codelist-81.yml +41 -0
- data/data/codelists/codelist-82.yml +19 -0
- data/data/codelists/codelist-83.yml +71 -0
- data/data/codelists/codelist-84.yml +12 -0
- data/data/codelists/codelist-85.yml +25 -0
- data/data/codelists/codelist-86.yml +7 -0
- data/data/codelists/codelist-87.yml +8 -0
- data/data/codelists/codelist-88.yml +2 -0
- data/data/codelists/codelist-89.yml +3 -0
- data/data/codelists/codelist-9.yml +11 -0
- data/data/codelists/codelist-90.yml +13 -0
- data/data/codelists/codelist-91.yml +254 -0
- data/data/codelists/codelist-92.yml +11 -0
- data/data/codelists/codelist-93.yml +15 -0
- data/data/codelists/codelist-94.yml +5 -0
- data/data/codelists/codelist-95.yml +5 -0
- data/data/codelists/codelist-96.yml +193 -0
- data/data/codelists/codelist-97.yml +3 -0
- data/data/codelists/codelist-98.yml +23 -0
- data/data/codelists/codelist-99.yml +26 -0
- data/data/onix21/codelists/codelist-1.yml +14 -0
- data/data/onix21/codelists/codelist-10.yml +52 -0
- data/data/onix21/codelists/codelist-100.yml +8 -0
- data/data/onix21/codelists/codelist-101.yml +7 -0
- data/data/onix21/codelists/codelist-102.yml +5 -0
- data/data/onix21/codelists/codelist-11.yml +13 -0
- data/data/onix21/codelists/codelist-12.yml +16 -0
- data/data/onix21/codelists/codelist-121.yml +162 -0
- data/data/onix21/codelists/codelist-13.yml +11 -0
- data/data/onix21/codelists/codelist-138.yml +8 -0
- data/data/onix21/codelists/codelist-139.yml +109 -0
- data/data/onix21/codelists/codelist-14.yml +6 -0
- data/data/onix21/codelists/codelist-140.yml +9 -0
- data/data/onix21/codelists/codelist-141.yml +12 -0
- data/data/onix21/codelists/codelist-142.yml +14 -0
- data/data/onix21/codelists/codelist-143.yml +9 -0
- data/data/onix21/codelists/codelist-144.yml +8 -0
- data/data/onix21/codelists/codelist-145.yml +10 -0
- data/data/onix21/codelists/codelist-146.yml +5 -0
- data/data/onix21/codelists/codelist-147.yml +16 -0
- data/data/onix21/codelists/codelist-148.yml +6 -0
- data/data/onix21/codelists/codelist-149.yml +8 -0
- data/data/onix21/codelists/codelist-15.yml +16 -0
- data/data/onix21/codelists/codelist-150.yml +133 -0
- data/data/onix21/codelists/codelist-151.yml +10 -0
- data/data/onix21/codelists/codelist-152.yml +4 -0
- data/data/onix21/codelists/codelist-153.yml +22 -0
- data/data/onix21/codelists/codelist-154.yml +11 -0
- data/data/onix21/codelists/codelist-155.yml +10 -0
- data/data/onix21/codelists/codelist-156.yml +6 -0
- data/data/onix21/codelists/codelist-157.yml +6 -0
- data/data/onix21/codelists/codelist-158.yml +35 -0
- data/data/onix21/codelists/codelist-159.yml +8 -0
- data/data/onix21/codelists/codelist-16.yml +8 -0
- data/data/onix21/codelists/codelist-160.yml +7 -0
- data/data/onix21/codelists/codelist-161.yml +5 -0
- data/data/onix21/codelists/codelist-162.yml +9 -0
- data/data/onix21/codelists/codelist-163.yml +18 -0
- data/data/onix21/codelists/codelist-164.yml +7 -0
- data/data/onix21/codelists/codelist-165.yml +6 -0
- data/data/onix21/codelists/codelist-166.yml +6 -0
- data/data/onix21/codelists/codelist-167.yml +11 -0
- data/data/onix21/codelists/codelist-168.yml +4 -0
- data/data/onix21/codelists/codelist-169.yml +7 -0
- data/data/onix21/codelists/codelist-17.yml +98 -0
- data/data/onix21/codelists/codelist-170.yml +6 -0
- data/data/onix21/codelists/codelist-171.yml +4 -0
- data/data/onix21/codelists/codelist-172.yml +3 -0
- data/data/onix21/codelists/codelist-173.yml +5 -0
- data/data/onix21/codelists/codelist-174.yml +4 -0
- data/data/onix21/codelists/codelist-175.yml +230 -0
- data/data/onix21/codelists/codelist-176.yml +16 -0
- data/data/onix21/codelists/codelist-177.yml +4 -0
- data/data/onix21/codelists/codelist-178.yml +30 -0
- data/data/onix21/codelists/codelist-179.yml +5 -0
- data/data/onix21/codelists/codelist-18.yml +8 -0
- data/data/onix21/codelists/codelist-184.yml +10 -0
- data/data/onix21/codelists/codelist-19.yml +9 -0
- data/data/onix21/codelists/codelist-196.yml +22 -0
- data/data/onix21/codelists/codelist-197.yml +7 -0
- data/data/onix21/codelists/codelist-198.yml +8 -0
- data/data/onix21/codelists/codelist-2.yml +8 -0
- data/data/onix21/codelists/codelist-20.yml +2 -0
- data/data/onix21/codelists/codelist-203.yml +10 -0
- data/data/onix21/codelists/codelist-204.yml +7 -0
- data/data/onix21/codelists/codelist-21.yml +36 -0
- data/data/onix21/codelists/codelist-215.yml +9 -0
- data/data/onix21/codelists/codelist-216.yml +11 -0
- data/data/onix21/codelists/codelist-217.yml +3 -0
- data/data/onix21/codelists/codelist-218.yml +5 -0
- data/data/onix21/codelists/codelist-219.yml +5 -0
- data/data/onix21/codelists/codelist-22.yml +11 -0
- data/data/onix21/codelists/codelist-220.yml +7 -0
- data/data/onix21/codelists/codelist-23.yml +17 -0
- data/data/onix21/codelists/codelist-24.yml +14 -0
- data/data/onix21/codelists/codelist-25.yml +31 -0
- data/data/onix21/codelists/codelist-26.yml +100 -0
- data/data/onix21/codelists/codelist-27.yml +107 -0
- data/data/onix21/codelists/codelist-28.yml +10 -0
- data/data/onix21/codelists/codelist-29.yml +30 -0
- data/data/onix21/codelists/codelist-3.yml +13 -0
- data/data/onix21/codelists/codelist-30.yml +20 -0
- data/data/onix21/codelists/codelist-31.yml +5 -0
- data/data/onix21/codelists/codelist-32.yml +10 -0
- data/data/onix21/codelists/codelist-33.yml +46 -0
- data/data/onix21/codelists/codelist-34.yml +18 -0
- data/data/onix21/codelists/codelist-35.yml +8 -0
- data/data/onix21/codelists/codelist-36.yml +5 -0
- data/data/onix21/codelists/codelist-37.yml +8 -0
- data/data/onix21/codelists/codelist-38.yml +42 -0
- data/data/onix21/codelists/codelist-39.yml +21 -0
- data/data/onix21/codelists/codelist-40.yml +8 -0
- data/data/onix21/codelists/codelist-41.yml +9 -0
- data/data/onix21/codelists/codelist-42.yml +18 -0
- data/data/onix21/codelists/codelist-43.yml +9 -0
- data/data/onix21/codelists/codelist-44.yml +27 -0
- data/data/onix21/codelists/codelist-45.yml +20 -0
- data/data/onix21/codelists/codelist-46.yml +11 -0
- data/data/onix21/codelists/codelist-47.yml +6 -0
- data/data/onix21/codelists/codelist-48.yml +13 -0
- data/data/onix21/codelists/codelist-49.yml +281 -0
- data/data/onix21/codelists/codelist-5.yml +20 -0
- data/data/onix21/codelists/codelist-50.yml +10 -0
- data/data/onix21/codelists/codelist-51.yml +37 -0
- data/data/onix21/codelists/codelist-52.yml +3 -0
- data/data/onix21/codelists/codelist-53.yml +7 -0
- data/data/onix21/codelists/codelist-54.yml +25 -0
- data/data/onix21/codelists/codelist-55.yml +21 -0
- data/data/onix21/codelists/codelist-56.yml +4 -0
- data/data/onix21/codelists/codelist-57.yml +7 -0
- data/data/onix21/codelists/codelist-58.yml +27 -0
- data/data/onix21/codelists/codelist-59.yml +12 -0
- data/data/onix21/codelists/codelist-6.yml +78 -0
- data/data/onix21/codelists/codelist-60.yml +4 -0
- data/data/onix21/codelists/codelist-61.yml +5 -0
- data/data/onix21/codelists/codelist-62.yml +7 -0
- data/data/onix21/codelists/codelist-63.yml +2 -0
- data/data/onix21/codelists/codelist-64.yml +18 -0
- data/data/onix21/codelists/codelist-65.yml +31 -0
- data/data/onix21/codelists/codelist-66.yml +6 -0
- data/data/onix21/codelists/codelist-67.yml +4 -0
- data/data/onix21/codelists/codelist-68.yml +19 -0
- data/data/onix21/codelists/codelist-69.yml +6 -0
- data/data/onix21/codelists/codelist-7.yml +132 -0
- data/data/onix21/codelists/codelist-70.yml +4 -0
- data/data/onix21/codelists/codelist-71.yml +14 -0
- data/data/onix21/codelists/codelist-72.yml +9 -0
- data/data/onix21/codelists/codelist-73.yml +43 -0
- data/data/onix21/codelists/codelist-74.yml +492 -0
- data/data/onix21/codelists/codelist-75.yml +4 -0
- data/data/onix21/codelists/codelist-76.yml +14 -0
- data/data/onix21/codelists/codelist-77.yml +21 -0
- data/data/onix21/codelists/codelist-78.yml +191 -0
- data/data/onix21/codelists/codelist-79.yml +26 -0
- data/data/onix21/codelists/codelist-8.yml +9 -0
- data/data/onix21/codelists/codelist-80.yml +23 -0
- data/data/onix21/codelists/codelist-81.yml +41 -0
- data/data/onix21/codelists/codelist-82.yml +19 -0
- data/data/onix21/codelists/codelist-83.yml +72 -0
- data/data/onix21/codelists/codelist-84.yml +12 -0
- data/data/onix21/codelists/codelist-85.yml +25 -0
- data/data/onix21/codelists/codelist-86.yml +7 -0
- data/data/onix21/codelists/codelist-87.yml +8 -0
- data/data/onix21/codelists/codelist-88.yml +2 -0
- data/data/onix21/codelists/codelist-89.yml +3 -0
- data/data/onix21/codelists/codelist-9.yml +13 -0
- data/data/onix21/codelists/codelist-90.yml +13 -0
- data/data/onix21/codelists/codelist-91.yml +254 -0
- data/data/onix21/codelists/codelist-92.yml +11 -0
- data/data/onix21/codelists/codelist-93.yml +15 -0
- data/data/onix21/codelists/codelist-94.yml +5 -0
- data/data/onix21/codelists/codelist-95.yml +5 -0
- data/data/onix21/codelists/codelist-96.yml +194 -0
- data/data/onix21/codelists/codelist-97.yml +3 -0
- data/data/onix21/codelists/codelist-98.yml +25 -0
- data/data/onix21/codelists/codelist-99.yml +26 -0
- data/data/onix21/shortnames.yml +431 -0
- data/data/shortnames.yml +395 -0
- data/lib/im_onix.rb +2 -0
- data/lib/onix/code.rb +543 -0
- data/lib/onix/collateral_detail.rb +94 -0
- data/lib/onix/contributor.rb +87 -0
- data/lib/onix/date.rb +183 -0
- data/lib/onix/descriptive_detail.rb +552 -0
- data/lib/onix/discount_coded.rb +20 -0
- data/lib/onix/entity.rb +135 -0
- data/lib/onix/error.rb +6 -0
- data/lib/onix/helper.rb +66 -0
- data/lib/onix/identifier.rb +158 -0
- data/lib/onix/onix21.rb +604 -0
- data/lib/onix/onix_message.rb +187 -0
- data/lib/onix/price.rb +74 -0
- data/lib/onix/product.rb +846 -0
- data/lib/onix/product_supply.rb +89 -0
- data/lib/onix/publishing_detail.rb +86 -0
- data/lib/onix/related_material.rb +30 -0
- data/lib/onix/related_product.rb +45 -0
- data/lib/onix/related_work.rb +24 -0
- data/lib/onix/sales_outlet.rb +14 -0
- data/lib/onix/sales_restriction.rb +37 -0
- data/lib/onix/sales_rights.rb +12 -0
- data/lib/onix/subject.rb +35 -0
- data/lib/onix/subset.rb +334 -0
- data/lib/onix/supporting_resource.rb +192 -0
- data/lib/onix/tax.rb +23 -0
- data/lib/onix/territory.rb +56 -0
- data/lib/onix/website.rb +21 -0
- metadata +477 -0
data/bin/onix_pp.rb
ADDED
@@ -0,0 +1,216 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'im_onix'
|
3
|
+
|
4
|
+
filename=ARGV[0]
|
5
|
+
version=ARGV[1]
|
6
|
+
encoding=ARGV[2]
|
7
|
+
|
8
|
+
if filename
|
9
|
+
msg=ONIX::ONIXMessage.new
|
10
|
+
msg.parse(filename,encoding,version)
|
11
|
+
|
12
|
+
puts "Release: #{msg.release}"
|
13
|
+
|
14
|
+
if msg.sender
|
15
|
+
puts "Sender: #{msg.sender.name}"
|
16
|
+
if msg.sender.gln
|
17
|
+
puts "Sender's GLN: #{msg.sender.gln}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
if msg.sent_date_time
|
21
|
+
puts "Sent date: #{msg.sent_date_time}"
|
22
|
+
end
|
23
|
+
|
24
|
+
msg.products.each do |product|
|
25
|
+
# pp product
|
26
|
+
puts "---"
|
27
|
+
puts " EAN: #{product.ean}"
|
28
|
+
puts " Title: #{product.title}"
|
29
|
+
puts " Language: #{product.language_name_of_text} (#{product.language_code_of_text})"
|
30
|
+
if product.subtitle
|
31
|
+
puts " Subtitle: #{product.subtitle}"
|
32
|
+
end
|
33
|
+
if product.publication_date
|
34
|
+
puts " Publication date: #{product.publication_date}"
|
35
|
+
end
|
36
|
+
if product.embargo_date
|
37
|
+
puts " Embargo date: #{product.embargo_date}"
|
38
|
+
end
|
39
|
+
if product.preorder_embargo_date
|
40
|
+
puts " Preorder embargo date: #{product.preorder_embargo_date}"
|
41
|
+
end
|
42
|
+
if product.public_announcement_date
|
43
|
+
puts " Public announcement date: #{product.public_announcement_date}"
|
44
|
+
end
|
45
|
+
if product.pages
|
46
|
+
puts " Pages: #{product.pages}"
|
47
|
+
end
|
48
|
+
if product.publisher_collection_title
|
49
|
+
puts " Collection: #{product.publisher_collection_title}"
|
50
|
+
end
|
51
|
+
|
52
|
+
product.bisac_categories_codes.each do |bcc|
|
53
|
+
puts " BISAC: #{bcc}"
|
54
|
+
end
|
55
|
+
|
56
|
+
product.clil_categories_codes.each do |bcc|
|
57
|
+
puts " CLIL: #{bcc}"
|
58
|
+
end
|
59
|
+
|
60
|
+
puts " Description: #{product.raw_description}"
|
61
|
+
|
62
|
+
if product.frontcover_url
|
63
|
+
puts " Frontcover: #{product.frontcover_url} (#{product.frontcover_last_updated})"
|
64
|
+
end
|
65
|
+
|
66
|
+
if product.epub_sample_url
|
67
|
+
puts " Sample: #{product.epub_sample_url}"
|
68
|
+
end
|
69
|
+
|
70
|
+
if product.keywords.length > 0
|
71
|
+
puts " Keywords: #{product.keywords.join(', ')}"
|
72
|
+
end
|
73
|
+
|
74
|
+
if product.publisher_name
|
75
|
+
puts " Publisher: #{product.publisher_name}"
|
76
|
+
end
|
77
|
+
|
78
|
+
# puts " Publisher: #{product.publisher_name}"
|
79
|
+
if product.imprint_name
|
80
|
+
puts " Imprint: #{product.imprint_name}"
|
81
|
+
end
|
82
|
+
|
83
|
+
if product.distributor_name
|
84
|
+
puts " Distributor: #{product.distributor_name}"
|
85
|
+
end
|
86
|
+
|
87
|
+
if product.onix_outlets_values.length > 0
|
88
|
+
puts " Outlets: #{product.onix_outlets_values}"
|
89
|
+
end
|
90
|
+
|
91
|
+
product.contributors.each do |c|
|
92
|
+
puts " Contributor:"
|
93
|
+
puts " Name: #{c.name}"
|
94
|
+
puts " Role: #{c.role.human}"
|
95
|
+
if c.biography
|
96
|
+
puts " Biography: #{c.raw_biography}"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
if product.digital?
|
101
|
+
puts " -- Digital product"
|
102
|
+
|
103
|
+
if product.bundle?
|
104
|
+
puts " Multiple files bundle"
|
105
|
+
if product.file_description
|
106
|
+
puts " Description: #{product.raw_file_description}"
|
107
|
+
end
|
108
|
+
|
109
|
+
product.parts.each do |part|
|
110
|
+
puts " -- Part"
|
111
|
+
if part.ean
|
112
|
+
puts " EAN: #{part.ean}"
|
113
|
+
end
|
114
|
+
puts " Format: #{part.file_format}"
|
115
|
+
if part.file_description
|
116
|
+
puts " Description: #{part.raw_file_description}"
|
117
|
+
end
|
118
|
+
if part.protection_type
|
119
|
+
puts " Protection: #{part.protection_type}"
|
120
|
+
end
|
121
|
+
if part.filesize
|
122
|
+
puts " Filesize: #{part.filesize} bytes"
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
else
|
127
|
+
puts " Single file"
|
128
|
+
puts " Format: #{product.file_format}"
|
129
|
+
if product.file_description
|
130
|
+
puts " Description: #{product.raw_file_description}"
|
131
|
+
end
|
132
|
+
if product.protection_type
|
133
|
+
puts " Protection: #{product.protection_type}"
|
134
|
+
end
|
135
|
+
if product.filesize
|
136
|
+
puts " Filesize: #{product.filesize} bytes"
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
if product.print_product
|
141
|
+
puts " Paper EAN: #{product.print_product.ean}"
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
# pp product.supplies
|
146
|
+
|
147
|
+
current_price=product.current_price_amount_for('EUR', 'FR')
|
148
|
+
if current_price
|
149
|
+
puts " Current EUR price for FR: #{current_price/100.0} EUR"
|
150
|
+
end
|
151
|
+
|
152
|
+
if product.sold_separately?
|
153
|
+
puts " Available: #{product.available?}"
|
154
|
+
puts " Supplies:"
|
155
|
+
|
156
|
+
product.supplies_with_default_tax.each do |supply|
|
157
|
+
# if supply[:availability_date]
|
158
|
+
# puts " Availability date : #{supply[:availability_date]}"
|
159
|
+
# end
|
160
|
+
output=" "
|
161
|
+
|
162
|
+
if supply[:available]
|
163
|
+
output+="Available in "
|
164
|
+
else
|
165
|
+
output+="Not available in "
|
166
|
+
end
|
167
|
+
|
168
|
+
if ONIX::Territory.worldwide?(supply[:territory])
|
169
|
+
output+="WORLD"
|
170
|
+
else
|
171
|
+
output+=supply[:territory].join(", ")
|
172
|
+
end
|
173
|
+
|
174
|
+
if supply[:availability_date]
|
175
|
+
output+=" starting #{supply[:availability_date]}"
|
176
|
+
output+=" (#{supply[:availability_date].to_date})" if supply[:availability_date].class==Time
|
177
|
+
|
178
|
+
end
|
179
|
+
|
180
|
+
puts output
|
181
|
+
|
182
|
+
puts " Prices:"
|
183
|
+
|
184
|
+
supply[:prices].each do |price|
|
185
|
+
output=" "
|
186
|
+
|
187
|
+
output+="#{price[:amount].to_f/100.0} #{supply[:currency]}"
|
188
|
+
|
189
|
+
if supply[:including_tax]
|
190
|
+
output+=" tax included"
|
191
|
+
else
|
192
|
+
output+=" tax excluded"
|
193
|
+
end
|
194
|
+
|
195
|
+
if price[:from_date]
|
196
|
+
output+=" from #{price[:from_date]}"
|
197
|
+
output+=" (#{price[:from_date].to_date})" if price[:from_date].class==Time
|
198
|
+
end
|
199
|
+
if price[:until_date]
|
200
|
+
output+=" until #{price[:until_date]}"
|
201
|
+
output+=" (#{price[:until_date].to_date})" if price[:until_date].class==Time
|
202
|
+
end
|
203
|
+
puts output
|
204
|
+
end
|
205
|
+
end
|
206
|
+
else
|
207
|
+
puts " Not sold separately"
|
208
|
+
end
|
209
|
+
end
|
210
|
+
puts "---"
|
211
|
+
puts "Number of products: #{msg.products.count}"
|
212
|
+
|
213
|
+
else
|
214
|
+
puts "ONIX 3.0 pretty printer"
|
215
|
+
puts "Usage: onix_pp.rb onix.xml"
|
216
|
+
end
|
data/bin/onix_split.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'im_onix'
|
3
|
+
|
4
|
+
filename=ARGV[0]
|
5
|
+
cnt=ARGV[1] || 1000
|
6
|
+
cnt=cnt.to_i
|
7
|
+
|
8
|
+
class OnixSplitter
|
9
|
+
|
10
|
+
def initialize(filename, output_name)
|
11
|
+
@filename=filename
|
12
|
+
@output_name=output_name
|
13
|
+
end
|
14
|
+
|
15
|
+
def write_part(file_count, part)
|
16
|
+
out_filename=@output_name+"."+file_count.to_s+".xml"
|
17
|
+
puts "Write file #{out_filename}"
|
18
|
+
fw=File.open(out_filename, 'w')
|
19
|
+
fw.write("<ONIXMessage release=\"3.0\">\n")
|
20
|
+
part.each do |p|
|
21
|
+
fw.write p
|
22
|
+
end
|
23
|
+
fw.write("</ONIXMessage>\n")
|
24
|
+
fw.close
|
25
|
+
end
|
26
|
+
|
27
|
+
def count
|
28
|
+
current_part_count=0
|
29
|
+
ONIX::Helper.each_xml_product(@filename) do |product_str|
|
30
|
+
current_part_count+=1
|
31
|
+
end
|
32
|
+
current_part_count
|
33
|
+
end
|
34
|
+
|
35
|
+
def split(max_parts)
|
36
|
+
file_count=0
|
37
|
+
current_part=[]
|
38
|
+
current_part_count=0
|
39
|
+
ONIX::Helper.each_xml_product(@filename) do |product_str|
|
40
|
+
tmp_msg=ONIX::ONIXMessage.new
|
41
|
+
tmp_msg.parse(product_str)
|
42
|
+
|
43
|
+
current_part[current_part_count] ||=""
|
44
|
+
current_part[current_part_count] += product_str + "\n"
|
45
|
+
|
46
|
+
if tmp_msg.products.first.sold_separately?
|
47
|
+
current_part_count+=1
|
48
|
+
end
|
49
|
+
|
50
|
+
if current_part_count > max_parts-1
|
51
|
+
write_part(file_count, current_part)
|
52
|
+
current_part=[]
|
53
|
+
current_part_count=0
|
54
|
+
file_count+=1
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
if current_part_count > 0
|
59
|
+
write_part(file_count, current_part)
|
60
|
+
current_part=[]
|
61
|
+
current_part_count=0
|
62
|
+
end
|
63
|
+
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
splitter=OnixSplitter.new(filename, "out/splitted")
|
70
|
+
splitter.split(cnt)
|
71
|
+
puts splitter.count
|
72
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
:codelist:
|
3
|
+
'01': EarlyNotification
|
4
|
+
'02': AdvanceNotificationConfirmed
|
5
|
+
'03': NotificationConfirmedOnPublication
|
6
|
+
'04': UpdatePartial
|
7
|
+
'05': Delete
|
8
|
+
08: NoticeOfSale
|
9
|
+
09: NoticeOfAcquisition
|
10
|
+
'12': UpdateSupplydetailOnly
|
11
|
+
'13': UpdateMarketrepresentationOnly
|
12
|
+
'14': UpdateSupplydetailAndMarketrepresentation
|
@@ -0,0 +1,51 @@
|
|
1
|
+
---
|
2
|
+
:codelist:
|
3
|
+
'000': EpublicationContentPackage
|
4
|
+
'001': Html
|
5
|
+
'002': Pdf
|
6
|
+
'003': Pdfmerchant
|
7
|
+
'004': AdobeEbookReader
|
8
|
+
'005': MicrosoftReaderLevel1level3
|
9
|
+
'006': MicrosoftReaderLevel5
|
10
|
+
'007': Netlibrary
|
11
|
+
008: Metatext
|
12
|
+
009: Mightywords
|
13
|
+
'010': EreaderAkaPalmReader
|
14
|
+
'011': Softbook
|
15
|
+
'012': Rocketbook
|
16
|
+
'013': GemstarReb1100
|
17
|
+
'014': GemstarReb1200
|
18
|
+
'015': FranklinEbookman
|
19
|
+
'016': Books24x7
|
20
|
+
'017': Digitalowl
|
21
|
+
018: Handheldmed
|
22
|
+
019: Wizeup
|
23
|
+
'020': Tk3
|
24
|
+
'021': Litraweb
|
25
|
+
'022': Mobipocket
|
26
|
+
'023': OpenEbook
|
27
|
+
'024': TownCompassDataviewer
|
28
|
+
'025': Txt
|
29
|
+
'026': Exebook
|
30
|
+
'027': SonyBbeb
|
31
|
+
028: VitalsourceBookshelf
|
32
|
+
029: Epub
|
33
|
+
'030': Myilibrary
|
34
|
+
'031': Kindle
|
35
|
+
'032': GoogleEdition
|
36
|
+
'033': Vook
|
37
|
+
'034': Dxreader
|
38
|
+
'035': Ebl
|
39
|
+
'036': Ebrary
|
40
|
+
'037': Isilo
|
41
|
+
038: Plucker
|
42
|
+
039: Vitalbook
|
43
|
+
'040': BookAppForIos
|
44
|
+
'041': AndroidApp
|
45
|
+
'042': OtherApp
|
46
|
+
'043': Xps
|
47
|
+
'044': Ibook
|
48
|
+
'045': Epib
|
49
|
+
'046': Scorm
|
50
|
+
098: MultipleFormats
|
51
|
+
099: Unspecified
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
:codelist:
|
3
|
+
'01': UkOpenMarketEdition
|
4
|
+
'02': AirportEdition
|
5
|
+
'03': Sonderausgabe
|
6
|
+
'04': PocketPaperback
|
7
|
+
'05': InternationalEditionUs
|
8
|
+
'06': LibraryAudioEdition
|
9
|
+
'07': UsOpenMarketEdition
|
10
|
+
08: LivreScolaireDéclaréParLéditeur
|
11
|
+
09: LivreScolaireNonSpécifié
|
12
|
+
'10': SupplementToNewspaper
|
13
|
+
'11': PrecioLibreTextbook
|
14
|
+
'12': NewsOutletEdition
|
15
|
+
'13': UsTextbook
|
@@ -0,0 +1,162 @@
|
|
1
|
+
---
|
2
|
+
:codelist:
|
3
|
+
Afak: Afaka
|
4
|
+
Arab: Arabic
|
5
|
+
Armi: ImperialAramaic
|
6
|
+
Armn: Armenian
|
7
|
+
Avst: Avestan
|
8
|
+
Bali: Balinese
|
9
|
+
Bamu: Bamun
|
10
|
+
Bass: BassaVah
|
11
|
+
Batk: Batak
|
12
|
+
Beng: Bengali
|
13
|
+
Blis: Blissymbols
|
14
|
+
Bopo: Bopomofo
|
15
|
+
Brah: Brahmi
|
16
|
+
Brai: Braille
|
17
|
+
Bugi: Buginese
|
18
|
+
Buhd: Buhid
|
19
|
+
Cakm: Chakma
|
20
|
+
Cans: UnifiedCanadianAboriginalSyllabics
|
21
|
+
Cari: Carian
|
22
|
+
Cham: Cham
|
23
|
+
Cher: Cherokee
|
24
|
+
Cirt: Cirth
|
25
|
+
Copt: Coptic
|
26
|
+
Cprt: Cypriot
|
27
|
+
Cyrl: Cyrillic
|
28
|
+
Cyrs: CyrillicOldChurchSlavonicVariant
|
29
|
+
Deva: DevanagariNagari
|
30
|
+
Dsrt: DeseretMormon
|
31
|
+
Dupl: DuployanShorthandDuployanStenography
|
32
|
+
Egyd: EgyptianDemotic
|
33
|
+
Egyh: EgyptianHieratic
|
34
|
+
Egyp: EgyptianHieroglyphs
|
35
|
+
Elba: Elbasan
|
36
|
+
Ethi: EthiopicGeez
|
37
|
+
Geok: KhutsuriAsomtavruliAndKhutsuri
|
38
|
+
Geor: GeorgianMkhedruli
|
39
|
+
Glag: Glagolitic
|
40
|
+
Goth: Gothic
|
41
|
+
Gran: Grantha
|
42
|
+
Grek: Greek
|
43
|
+
Gujr: Gujarati
|
44
|
+
Guru: Gurmukhi
|
45
|
+
Hang: HangulHangŭlHangeul
|
46
|
+
Hani: HanHanziKanjiHanja
|
47
|
+
Hano: HanunooHanunóo
|
48
|
+
Hans: HanSimplifiedVariant
|
49
|
+
Hant: HanTraditionalVariant
|
50
|
+
Hebr: Hebrew
|
51
|
+
Hira: Hiragana
|
52
|
+
Hmng: PahawhHmong
|
53
|
+
Hrkt: JapaneseSyllabariesAliasForHiraganaKatakana
|
54
|
+
Hung: OldHungarian
|
55
|
+
Inds: IndusHarappan
|
56
|
+
Ital: OldItalicEtruscanOscanEtc
|
57
|
+
Java: Javanese
|
58
|
+
Jpan: JapaneseSyllabariesAliasForHanHiraganaKatakana
|
59
|
+
Jurc: Jurchen
|
60
|
+
Kali: KayahLi
|
61
|
+
Kana: Katakana
|
62
|
+
Khar: Kharoshthi
|
63
|
+
Khmr: Khmer
|
64
|
+
Khoj: Khojki
|
65
|
+
Knda: Kannada
|
66
|
+
Kore: KoreanAliasForHangulHan
|
67
|
+
Kpel: Kpelle
|
68
|
+
Kthi: Kaithi
|
69
|
+
Lana: LannaTaiTham
|
70
|
+
Laoo: Lao
|
71
|
+
Latf: LatinFrakturVariant
|
72
|
+
Latg: LatinGaelicVariant
|
73
|
+
Latn: Latin
|
74
|
+
Lepc: LepchaRóng
|
75
|
+
Limb: Limbu
|
76
|
+
Lina: LinearA
|
77
|
+
Linb: LinearB
|
78
|
+
Lisu: LisuFraser
|
79
|
+
Loma: Loma
|
80
|
+
Lyci: Lycian
|
81
|
+
Lydi: Lydian
|
82
|
+
Mand: MandaicMandaean
|
83
|
+
Mani: Manichaean
|
84
|
+
Maya: MayanHieroglyphs
|
85
|
+
Mend: Mende
|
86
|
+
Merc: MeroiticCursive
|
87
|
+
Mero: MeroiticHieroglyphs
|
88
|
+
Mlym: Malayalam
|
89
|
+
Mong: Mongolian
|
90
|
+
Moon: MoonMoonCodeMoonScriptMoonType
|
91
|
+
Mroo: MroMru
|
92
|
+
Mtei: MeiteiMayekMeitheiMeetei
|
93
|
+
Mymr: MyanmarBurmese
|
94
|
+
Narb: OldNorthArabianAncientNorthArabian
|
95
|
+
Nbat: Nabatean
|
96
|
+
Nkgb: NakhiGebaNakhi²ggŏ¹bawNaxiGeba
|
97
|
+
Nkoo: Nko
|
98
|
+
Nshu: Nüshu
|
99
|
+
Ogam: Ogham
|
100
|
+
Olck: OlChikiOlCemetOlSantali
|
101
|
+
Orkh: OldTurkicOrkhonRunic
|
102
|
+
Orya: Oriya
|
103
|
+
Osma: Osmanya
|
104
|
+
Palm: Palmyrene
|
105
|
+
Perm: OldPermic
|
106
|
+
Phag: Phagspa
|
107
|
+
Phli: InscriptionalPahlavi
|
108
|
+
Phlp: PsalterPahlavi
|
109
|
+
Phlv: BookPahlavi
|
110
|
+
Phnx: Phoenician
|
111
|
+
Plrd: MiaoPollard
|
112
|
+
Prti: InscriptionalParthian
|
113
|
+
Qaaa: ReservedForPrivateUseStart
|
114
|
+
Qabx: ReservedForPrivateUseEnd
|
115
|
+
Rjng: RejangRedjangKaganga
|
116
|
+
Roro: Rongorongo
|
117
|
+
Runr: Runic
|
118
|
+
Samr: Samaritan
|
119
|
+
Sara: Sarati
|
120
|
+
Sarb: OldSouthArabian
|
121
|
+
Saur: Saurashtra
|
122
|
+
Sgnw: Signwriting
|
123
|
+
Shaw: ShavianShaw
|
124
|
+
Shrd: SharadaŚāradā
|
125
|
+
Sind: KhudawadiSindhi
|
126
|
+
Sinh: Sinhala
|
127
|
+
Sora: SoraSompeng
|
128
|
+
Sund: Sundanese
|
129
|
+
Sylo: SylotiNagri
|
130
|
+
Syrc: Syriac
|
131
|
+
Syre: SyriacEstrangeloVariant
|
132
|
+
Syrj: SyriacWesternVariant
|
133
|
+
Syrn: SyriacEasternVariant
|
134
|
+
Tagb: Tagbanwa
|
135
|
+
Takr: TakriṬākrīṬāṅkrī
|
136
|
+
Tale: TaiLe
|
137
|
+
Talu: NewTaiLue
|
138
|
+
Taml: Tamil
|
139
|
+
Tang: Tangut
|
140
|
+
Tavt: TaiViet
|
141
|
+
Telu: Telugu
|
142
|
+
Teng: Tengwar
|
143
|
+
Tfng: TifinaghBerber
|
144
|
+
Tglg: TagalogBaybayinAlibata
|
145
|
+
Thaa: Thaana
|
146
|
+
Thai: Thai
|
147
|
+
Tibt: Tibetan
|
148
|
+
Tirh: Tiruta
|
149
|
+
Ugar: Ugaritic
|
150
|
+
Vaii: Vai
|
151
|
+
Visp: VisibleSpeech
|
152
|
+
Wara: WarangCitiVarangKshiti
|
153
|
+
Wole: Woleai
|
154
|
+
Xpeo: OldPersian
|
155
|
+
Xsux: CuneiformSumeroakkadian
|
156
|
+
Yiii: Yi
|
157
|
+
Zinh: CodeForInheritedScript
|
158
|
+
Zmth: MathematicalNotation
|
159
|
+
Zsym: Symbols
|
160
|
+
Zxxx: CodeForUnwrittenDocuments
|
161
|
+
Zyyy: CodeForUndeterminedScript
|
162
|
+
Zzzz: CodeForUncodedScript
|
@@ -0,0 +1,102 @@
|
|
1
|
+
---
|
2
|
+
:codelist:
|
3
|
+
ACM: ACMoore
|
4
|
+
AAP: Aandp
|
5
|
+
ALB: Albertsons
|
6
|
+
AMZ: Amazon
|
7
|
+
ANR: AngusAndRobertson
|
8
|
+
ANB: Anobii
|
9
|
+
APC: Apple
|
10
|
+
ASD: Asda
|
11
|
+
AUD: Audible
|
12
|
+
BDL: BDalton
|
13
|
+
BNO: BarnesAndNoble
|
14
|
+
BBB: BedBathAndBeyond
|
15
|
+
BST: BestBuy
|
16
|
+
BIL: Bilbary
|
17
|
+
BJW: BjsWholesaleClub
|
18
|
+
BLK: Blackwells
|
19
|
+
BCA: BookClubAssociates
|
20
|
+
BSH: Bookish
|
21
|
+
BKP: Bookpeople
|
22
|
+
BKM: Booksamillion
|
23
|
+
BRD: Borders
|
24
|
+
BRB: BordersbooksEtc
|
25
|
+
BRT: BritishBookshops
|
26
|
+
CDL: CasaDelLibro
|
27
|
+
CHD: Christianbookcom
|
28
|
+
CST: Costco
|
29
|
+
CRB: CrateAndBarrel
|
30
|
+
CVS: CvsDrugStores
|
31
|
+
DSG: DicksSportingGoods
|
32
|
+
DYM: Dymocks
|
33
|
+
ELC: EarlyLearningCentre
|
34
|
+
ESN: Eason
|
35
|
+
EBC: EbooksCorp
|
36
|
+
ECH: Echristian
|
37
|
+
ECI: ElCorteInglés
|
38
|
+
ELE: Electre
|
39
|
+
ELB: Elibse
|
40
|
+
EMP: Empik
|
41
|
+
ENH: EnglishHeritage
|
42
|
+
FDB: Feedbooks
|
43
|
+
FNC: Fnac
|
44
|
+
FRY: FrysElectronics
|
45
|
+
GMS: Gamestop
|
46
|
+
GOO: GoogleBooks
|
47
|
+
GOS: BlinkboxFormerlyGospokenmobcast
|
48
|
+
HST: HastingsEntertainment
|
49
|
+
HMV: Hmv
|
50
|
+
HMD: HomeDepot
|
51
|
+
IND: Indigochapters
|
52
|
+
IMM: Immateriel.fr
|
53
|
+
JSM: JohnSmithAndSon
|
54
|
+
KMT: Kmart
|
55
|
+
KNB: Knfbblio
|
56
|
+
KNO: KnoInc
|
57
|
+
KBO: Kobo
|
58
|
+
KOO: Koorong
|
59
|
+
KRG: Kroger
|
60
|
+
LWE: Lowes
|
61
|
+
MKS: MarksAndSpencer
|
62
|
+
MAT: Matras
|
63
|
+
MMS: MediaMarktsaturn
|
64
|
+
MCR: Microcenter
|
65
|
+
MRR: Morrisons
|
66
|
+
MTC: Mothercare
|
67
|
+
MYB: Myboox
|
68
|
+
NTR: NationalTrust
|
69
|
+
NUM: Numilog
|
70
|
+
OFD: OfficeDepot
|
71
|
+
OFM: OfficeMax
|
72
|
+
OLF: Olf
|
73
|
+
PST: PastTimes
|
74
|
+
PTS: PetSmart
|
75
|
+
PTC: Petco
|
76
|
+
PLY: Playcom
|
77
|
+
PTB: PotteryBarn
|
78
|
+
RDB: Readbooks
|
79
|
+
RCL: Readcloud
|
80
|
+
RST: RestorationHardware
|
81
|
+
RET: Rethink
|
82
|
+
RTZ: RitzCamera
|
83
|
+
SFW: Safeway
|
84
|
+
SNS: Sainsburys
|
85
|
+
SLF: Selfridges
|
86
|
+
SNY: Sony
|
87
|
+
STP: Staples
|
88
|
+
TEA: TheEbookAlternative
|
89
|
+
TRG: Target
|
90
|
+
TES: Tesco
|
91
|
+
TSR: ToysRUs
|
92
|
+
TSO: TsoTheStationeryOffice
|
93
|
+
VRG: VirginMegastores
|
94
|
+
WHS: WHSmith
|
95
|
+
WTR: Waitrose
|
96
|
+
WLM: Walmart
|
97
|
+
WST: Waterstones
|
98
|
+
WHT: Whitcouls
|
99
|
+
WLS: WilliamsSonoma
|
100
|
+
WLW: Woolworths
|
101
|
+
ZVV: Zavvi
|
102
|
+
ZZZ: Other
|
@@ -0,0 +1,9 @@
|
|
1
|
+
---
|
2
|
+
:codelist:
|
3
|
+
'01': WarningChokingHazardSmallPartsNotForChildrenUnder3Yrs
|
4
|
+
'02': WarningChokingHazardThisToyIsASmallBallNotForChildrenUnder3Yrs
|
5
|
+
'03': WarningChokingHazardToyContainsASmallBallNotForChildrenUnder3Yrs
|
6
|
+
'04': WarningChokingHazardChildrenUnder8YrsCanChokeOrSuffocateOnUninflatedOrBrokenBalloonsAdultSupervisionRequiredKeepUninflatedBalloonsFromChildrenDiscardBrokenBalloonsAtOnce
|
7
|
+
'05': WarningChokingHazardThisToyIsAMarbleNotForChildrenUnder3Yrs
|
8
|
+
'06': WarningChokingHazardToyContainsAMarbleNotForChildrenUnder3Yrs
|
9
|
+
'07': NoChokingHazardWarningNecessary
|