cacofonix 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (294) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rvmrc +1 -0
  4. data/.travis.yml +10 -0
  5. data/CHANGELOG.md +205 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +5 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +76 -0
  10. data/Rakefile +6 -0
  11. data/TODO +14 -0
  12. data/bin/onix_extract_codelists +41 -0
  13. data/cacofonix.gemspec +39 -0
  14. data/data/9780194351898.xml +74 -0
  15. data/data/Ashgate Other.xml +382679 -0
  16. data/data/Bookwise_July_2008.xml +21611 -0
  17. data/data/Peribo Onix 0408.xml +17051 -0
  18. data/data/aau.xml +96 -0
  19. data/data/audience_range.xml +9 -0
  20. data/data/contributor.xml +6 -0
  21. data/data/control_chars.xml +74 -0
  22. data/data/entities.xml +78 -0
  23. data/data/extra_entities.xml +65 -0
  24. data/data/header.xml +21 -0
  25. data/data/header_invalid_sentdate.xml +21 -0
  26. data/data/hlasep08.xml +24519 -0
  27. data/data/imprint.xml +5 -0
  28. data/data/iso_8859_1.xml +58 -0
  29. data/data/jul.xml +24783 -0
  30. data/data/language.xml +7 -0
  31. data/data/market_representation.xml +11 -0
  32. data/data/measure.xml +6 -0
  33. data/data/media_file.xml +6 -0
  34. data/data/no_encoding.xml +78 -0
  35. data/data/no_xml_declaration.xml +95 -0
  36. data/data/other_text.xml +5 -0
  37. data/data/price.xml +5 -0
  38. data/data/product.xml +79 -0
  39. data/data/product_identifier.xml +5 -0
  40. data/data/product_invalid_pubdate.xml +42 -0
  41. data/data/publisher.xml +5 -0
  42. data/data/rba_FANT.xml +23 -0
  43. data/data/reference_with_release_attrib.xml +74 -0
  44. data/data/sales_restriction.xml +4 -0
  45. data/data/sales_rights.xml +35 -0
  46. data/data/sender_identifier.xml +5 -0
  47. data/data/series.xml +5 -0
  48. data/data/series_identifier.xml +6 -0
  49. data/data/short_tags.xml +191 -0
  50. data/data/short_tags_ivp.xml +231 -0
  51. data/data/sl_product.xml +81 -0
  52. data/data/stock.xml +5 -0
  53. data/data/subject.xml +6 -0
  54. data/data/supply_detail.xml +18 -0
  55. data/data/title.xml +6 -0
  56. data/data/two_products.xml +114 -0
  57. data/data/usd.xml +175 -0
  58. data/data/utf_16.xml +0 -0
  59. data/data/website.xml +6 -0
  60. data/examples/reader.rb +25 -0
  61. data/examples/reader_apa.rb +22 -0
  62. data/examples/writer.rb +13 -0
  63. data/examples/writer_apa.rb +38 -0
  64. data/lib/cacofonix.rb +151 -0
  65. data/lib/cacofonix/codelists/001.rb +16 -0
  66. data/lib/cacofonix/codelists/002.rb +11 -0
  67. data/lib/cacofonix/codelists/003.rb +13 -0
  68. data/lib/cacofonix/codelists/005.rb +20 -0
  69. data/lib/cacofonix/codelists/006.rb +82 -0
  70. data/lib/cacofonix/codelists/007.rb +129 -0
  71. data/lib/cacofonix/codelists/008.rb +13 -0
  72. data/lib/cacofonix/codelists/009.rb +13 -0
  73. data/lib/cacofonix/codelists/010.rb +52 -0
  74. data/lib/cacofonix/codelists/011.rb +17 -0
  75. data/lib/cacofonix/codelists/012.rb +17 -0
  76. data/lib/cacofonix/codelists/013.rb +13 -0
  77. data/lib/cacofonix/codelists/014.rb +10 -0
  78. data/lib/cacofonix/codelists/015.rb +19 -0
  79. data/lib/cacofonix/codelists/016.rb +12 -0
  80. data/lib/cacofonix/codelists/017.rb +96 -0
  81. data/lib/cacofonix/codelists/018.rb +11 -0
  82. data/lib/cacofonix/codelists/019.rb +13 -0
  83. data/lib/cacofonix/codelists/020.rb +7 -0
  84. data/lib/cacofonix/codelists/021.rb +39 -0
  85. data/lib/cacofonix/codelists/022.rb +15 -0
  86. data/lib/cacofonix/codelists/023.rb +19 -0
  87. data/lib/cacofonix/codelists/024.rb +17 -0
  88. data/lib/cacofonix/codelists/025.rb +35 -0
  89. data/lib/cacofonix/codelists/026.rb +86 -0
  90. data/lib/cacofonix/codelists/027.rb +90 -0
  91. data/lib/cacofonix/codelists/028.rb +14 -0
  92. data/lib/cacofonix/codelists/029.rb +25 -0
  93. data/lib/cacofonix/codelists/030.rb +22 -0
  94. data/lib/cacofonix/codelists/031.rb +9 -0
  95. data/lib/cacofonix/codelists/032.rb +8 -0
  96. data/lib/cacofonix/codelists/033.rb +43 -0
  97. data/lib/cacofonix/codelists/034.rb +21 -0
  98. data/lib/cacofonix/codelists/035.rb +12 -0
  99. data/lib/cacofonix/codelists/036.rb +9 -0
  100. data/lib/cacofonix/codelists/037.rb +12 -0
  101. data/lib/cacofonix/codelists/038.rb +43 -0
  102. data/lib/cacofonix/codelists/039.rb +14 -0
  103. data/lib/cacofonix/codelists/040.rb +12 -0
  104. data/lib/cacofonix/codelists/041.rb +12 -0
  105. data/lib/cacofonix/codelists/042.rb +22 -0
  106. data/lib/cacofonix/codelists/043.rb +12 -0
  107. data/lib/cacofonix/codelists/044.rb +22 -0
  108. data/lib/cacofonix/codelists/045.rb +19 -0
  109. data/lib/cacofonix/codelists/046.rb +15 -0
  110. data/lib/cacofonix/codelists/047.rb +10 -0
  111. data/lib/cacofonix/codelists/048.rb +17 -0
  112. data/lib/cacofonix/codelists/049.rb +91 -0
  113. data/lib/cacofonix/codelists/050.rb +14 -0
  114. data/lib/cacofonix/codelists/051.rb +36 -0
  115. data/lib/cacofonix/codelists/052.rb +7 -0
  116. data/lib/cacofonix/codelists/053.rb +10 -0
  117. data/lib/cacofonix/codelists/054.rb +29 -0
  118. data/lib/cacofonix/codelists/055.rb +23 -0
  119. data/lib/cacofonix/codelists/056.rb +8 -0
  120. data/lib/cacofonix/codelists/057.rb +11 -0
  121. data/lib/cacofonix/codelists/058.rb +29 -0
  122. data/lib/cacofonix/codelists/059.rb +13 -0
  123. data/lib/cacofonix/codelists/060.rb +8 -0
  124. data/lib/cacofonix/codelists/061.rb +9 -0
  125. data/lib/cacofonix/codelists/062.rb +11 -0
  126. data/lib/cacofonix/codelists/063.rb +7 -0
  127. data/lib/cacofonix/codelists/064.rb +19 -0
  128. data/lib/cacofonix/codelists/065.rb +34 -0
  129. data/lib/cacofonix/codelists/066.rb +10 -0
  130. data/lib/cacofonix/codelists/067.rb +8 -0
  131. data/lib/cacofonix/codelists/068.rb +22 -0
  132. data/lib/cacofonix/codelists/069.rb +10 -0
  133. data/lib/cacofonix/codelists/070.rb +8 -0
  134. data/lib/cacofonix/codelists/071.rb +16 -0
  135. data/lib/cacofonix/codelists/072.rb +13 -0
  136. data/lib/cacofonix/codelists/073.rb +42 -0
  137. data/lib/cacofonix/codelists/074.rb +495 -0
  138. data/lib/cacofonix/codelists/075.rb +8 -0
  139. data/lib/cacofonix/codelists/076.rb +18 -0
  140. data/lib/cacofonix/codelists/077.rb +25 -0
  141. data/lib/cacofonix/codelists/078.rb +173 -0
  142. data/lib/cacofonix/codelists/079.rb +25 -0
  143. data/lib/cacofonix/codelists/080.rb +26 -0
  144. data/lib/cacofonix/codelists/081.rb +45 -0
  145. data/lib/cacofonix/codelists/082.rb +23 -0
  146. data/lib/cacofonix/codelists/083.rb +74 -0
  147. data/lib/cacofonix/codelists/084.rb +16 -0
  148. data/lib/cacofonix/codelists/085.rb +29 -0
  149. data/lib/cacofonix/codelists/086.rb +11 -0
  150. data/lib/cacofonix/codelists/087.rb +12 -0
  151. data/lib/cacofonix/codelists/088.rb +7 -0
  152. data/lib/cacofonix/codelists/089.rb +7 -0
  153. data/lib/cacofonix/codelists/090.rb +17 -0
  154. data/lib/cacofonix/codelists/091.rb +257 -0
  155. data/lib/cacofonix/codelists/092.rb +14 -0
  156. data/lib/cacofonix/codelists/093.rb +19 -0
  157. data/lib/cacofonix/codelists/094.rb +9 -0
  158. data/lib/cacofonix/codelists/095.rb +9 -0
  159. data/lib/cacofonix/codelists/096.rb +191 -0
  160. data/lib/cacofonix/codelists/097.rb +7 -0
  161. data/lib/cacofonix/codelists/098.rb +27 -0
  162. data/lib/cacofonix/codelists/099.rb +30 -0
  163. data/lib/cacofonix/codelists/100.rb +12 -0
  164. data/lib/cacofonix/codelists/101.rb +8 -0
  165. data/lib/cacofonix/codelists/102.rb +9 -0
  166. data/lib/cacofonix/codelists/121.rb +164 -0
  167. data/lib/cacofonix/codelists/138.rb +12 -0
  168. data/lib/cacofonix/codelists/139.rb +76 -0
  169. data/lib/cacofonix/codelists/140.rb +13 -0
  170. data/lib/cacofonix/codelists/141.rb +16 -0
  171. data/lib/cacofonix/codelists/142.rb +18 -0
  172. data/lib/cacofonix/codelists/143.rb +13 -0
  173. data/lib/cacofonix/codelists/144.rb +12 -0
  174. data/lib/cacofonix/codelists/145.rb +13 -0
  175. data/lib/cacofonix/codelists/146.rb +9 -0
  176. data/lib/cacofonix/codelists/147.rb +16 -0
  177. data/lib/cacofonix/codelists/148.rb +9 -0
  178. data/lib/cacofonix/codelists/149.rb +10 -0
  179. data/lib/cacofonix/codelists/150.rb +130 -0
  180. data/lib/cacofonix/codelists/151.rb +13 -0
  181. data/lib/cacofonix/codelists/152.rb +8 -0
  182. data/lib/cacofonix/codelists/153.rb +20 -0
  183. data/lib/cacofonix/codelists/154.rb +15 -0
  184. data/lib/cacofonix/codelists/155.rb +11 -0
  185. data/lib/cacofonix/codelists/156.rb +10 -0
  186. data/lib/cacofonix/codelists/157.rb +10 -0
  187. data/lib/cacofonix/codelists/158.rb +32 -0
  188. data/lib/cacofonix/codelists/159.rb +12 -0
  189. data/lib/cacofonix/codelists/160.rb +10 -0
  190. data/lib/cacofonix/codelists/161.rb +9 -0
  191. data/lib/cacofonix/codelists/162.rb +12 -0
  192. data/lib/cacofonix/codelists/163.rb +17 -0
  193. data/lib/cacofonix/codelists/164.rb +11 -0
  194. data/lib/cacofonix/codelists/165.rb +9 -0
  195. data/lib/cacofonix/codelists/166.rb +9 -0
  196. data/lib/cacofonix/codelists/167.rb +9 -0
  197. data/lib/cacofonix/codelists/168.rb +8 -0
  198. data/lib/cacofonix/codelists/169.rb +9 -0
  199. data/lib/cacofonix/codelists/170.rb +7 -0
  200. data/lib/cacofonix/codelists/171.rb +8 -0
  201. data/lib/cacofonix/codelists/172.rb +7 -0
  202. data/lib/cacofonix/codelists/173.rb +8 -0
  203. data/lib/cacofonix/codelists/174.rb +8 -0
  204. data/lib/cacofonix/codelists/175.rb +206 -0
  205. data/lib/cacofonix/codelists/176.rb +20 -0
  206. data/lib/cacofonix/codelists/177.rb +8 -0
  207. data/lib/cacofonix/codelists/178.rb +24 -0
  208. data/lib/cacofonix/codelists/179.rb +7 -0
  209. data/lib/cacofonix/codelists/184.rb +11 -0
  210. data/lib/cacofonix/core/code.rb +106 -0
  211. data/lib/cacofonix/core/element.rb +275 -0
  212. data/lib/cacofonix/core/header.rb +45 -0
  213. data/lib/cacofonix/core/lists.rb +108 -0
  214. data/lib/cacofonix/core/reader.rb +166 -0
  215. data/lib/cacofonix/core/writer.rb +123 -0
  216. data/lib/cacofonix/elements/addressee_identifier.rb +6 -0
  217. data/lib/cacofonix/elements/agent_identifier.rb +6 -0
  218. data/lib/cacofonix/elements/audience.rb +8 -0
  219. data/lib/cacofonix/elements/audience_range.rb +15 -0
  220. data/lib/cacofonix/elements/batch_bonus.rb +7 -0
  221. data/lib/cacofonix/elements/bible.rb +12 -0
  222. data/lib/cacofonix/elements/complexity.rb +7 -0
  223. data/lib/cacofonix/elements/conference.rb +14 -0
  224. data/lib/cacofonix/elements/conference_sponsor.rb +8 -0
  225. data/lib/cacofonix/elements/conference_sponsor_identifier.rb +6 -0
  226. data/lib/cacofonix/elements/contained_item.rb +6 -0
  227. data/lib/cacofonix/elements/content_item.rb +21 -0
  228. data/lib/cacofonix/elements/contributor.rb +19 -0
  229. data/lib/cacofonix/elements/copyright_owner.rb +8 -0
  230. data/lib/cacofonix/elements/copyright_owner_identifier.rb +6 -0
  231. data/lib/cacofonix/elements/copyright_statement.rb +7 -0
  232. data/lib/cacofonix/elements/discount_coded.rb +8 -0
  233. data/lib/cacofonix/elements/extent.rb +8 -0
  234. data/lib/cacofonix/elements/identifier.rb +7 -0
  235. data/lib/cacofonix/elements/illustrations.rb +8 -0
  236. data/lib/cacofonix/elements/imprint.rb +9 -0
  237. data/lib/cacofonix/elements/language.rb +8 -0
  238. data/lib/cacofonix/elements/location_identifier.rb +8 -0
  239. data/lib/cacofonix/elements/main_subject.rb +9 -0
  240. data/lib/cacofonix/elements/market_date.rb +8 -0
  241. data/lib/cacofonix/elements/market_representation.rb +18 -0
  242. data/lib/cacofonix/elements/measure.rb +8 -0
  243. data/lib/cacofonix/elements/media_file.rb +16 -0
  244. data/lib/cacofonix/elements/name.rb +6 -0
  245. data/lib/cacofonix/elements/name_base.rb +17 -0
  246. data/lib/cacofonix/elements/new_supplier.rb +12 -0
  247. data/lib/cacofonix/elements/not_for_sale.rb +13 -0
  248. data/lib/cacofonix/elements/on_order_detail.rb +7 -0
  249. data/lib/cacofonix/elements/other_text.rb +17 -0
  250. data/lib/cacofonix/elements/page_run.rb +7 -0
  251. data/lib/cacofonix/elements/person_date.rb +8 -0
  252. data/lib/cacofonix/elements/person_name_identifier.rb +6 -0
  253. data/lib/cacofonix/elements/price.rb +46 -0
  254. data/lib/cacofonix/elements/prize.rb +10 -0
  255. data/lib/cacofonix/elements/product.rb +155 -0
  256. data/lib/cacofonix/elements/product_base.rb +61 -0
  257. data/lib/cacofonix/elements/product_classification.rb +8 -0
  258. data/lib/cacofonix/elements/product_form_feature.rb +8 -0
  259. data/lib/cacofonix/elements/product_identifier.rb +6 -0
  260. data/lib/cacofonix/elements/professional_affiliation.rb +7 -0
  261. data/lib/cacofonix/elements/publisher.rb +11 -0
  262. data/lib/cacofonix/elements/reissue.rb +9 -0
  263. data/lib/cacofonix/elements/related_product.rb +6 -0
  264. data/lib/cacofonix/elements/religious_text.rb +8 -0
  265. data/lib/cacofonix/elements/religious_text_feature.rb +8 -0
  266. data/lib/cacofonix/elements/sales_outlet.rb +7 -0
  267. data/lib/cacofonix/elements/sales_outlet_identifier.rb +6 -0
  268. data/lib/cacofonix/elements/sales_restriction.rb +7 -0
  269. data/lib/cacofonix/elements/sales_rights.rb +13 -0
  270. data/lib/cacofonix/elements/sender_identifier.rb +6 -0
  271. data/lib/cacofonix/elements/series.rb +11 -0
  272. data/lib/cacofonix/elements/series_identifier.rb +6 -0
  273. data/lib/cacofonix/elements/set.rb +13 -0
  274. data/lib/cacofonix/elements/stock.rb +16 -0
  275. data/lib/cacofonix/elements/stock_quantity_coded.rb +8 -0
  276. data/lib/cacofonix/elements/subject.rb +13 -0
  277. data/lib/cacofonix/elements/supplier_identifier.rb +6 -0
  278. data/lib/cacofonix/elements/supply_detail.rb +37 -0
  279. data/lib/cacofonix/elements/text_item.rb +11 -0
  280. data/lib/cacofonix/elements/text_item_identifier.rb +6 -0
  281. data/lib/cacofonix/elements/title.rb +11 -0
  282. data/lib/cacofonix/elements/website.rb +8 -0
  283. data/lib/cacofonix/elements/work_identifier.rb +6 -0
  284. data/lib/cacofonix/utils/code_list_extractor.rb +112 -0
  285. data/lib/cacofonix/utils/normaliser.rb +125 -0
  286. data/lib/cacofonix/version.rb +5 -0
  287. data/lib/cacofonix/wrappers/apa_product.rb +748 -0
  288. data/lib/cacofonix/wrappers/simple_product.rb +49 -0
  289. data/support/entities.txt +1499 -0
  290. data/support/extract.rb +25 -0
  291. data/support/switch-onix-2.1-short-to-reference.xsl +24 -0
  292. data/support/switch-onix-tagnames-1.1.xsl +25 -0
  293. data/support/switch-onix-tagnames-2.0.xsl +37 -0
  294. metadata +438 -0
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby1.9
2
+
3
+ #
4
+ # A small script to extract entities from the ONIX DTD
5
+ #
6
+ # USAGE: ./extract <dir>
7
+ #
8
+ # Where dir is a directory containing an ONIX 2.1r3 DTD.
9
+ #
10
+
11
+ unless File.directory?(ARGV.first)
12
+ $stderr.puts "directory doesn't exist"
13
+ exit(1)
14
+ end
15
+
16
+ Dir.entries(ARGV.first).each do |f|
17
+ next unless f[-4,4] == ".ent"
18
+
19
+ content = File.binread(ARGV.first + "/" + f)
20
+ content.scan(/ENTITY [a-zA-Z0-9]+.*"\&#x.+;/).each do |str|
21
+ m, name, numeric = *str.match(/ENTITY ([a-zA-Z0-9]+).*"\&([^;]+);/)
22
+ puts "#{name}:#{numeric}"
23
+ end
24
+
25
+ end
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
3
+ <xsl:variable name="target"><xsl:choose>
4
+ <xsl:when test="/ONIXMessage">short</xsl:when>
5
+ <xsl:otherwise>reference</xsl:otherwise>
6
+ </xsl:choose></xsl:variable>
7
+ <xsl:output method="xml" doctype-system="http://www.editeur.org/onix/2.1/reference/onix-international.dtd"/>
8
+ <xsl:template match="*">
9
+ <xsl:variable name="target-name">
10
+ <xsl:choose>
11
+ <xsl:when test="$target='short' and @shortname"><xsl:value-of select="@shortname"/></xsl:when>
12
+ <xsl:when test="$target='reference' and @refname"><xsl:value-of select="@refname"/></xsl:when>
13
+ <xsl:otherwise><xsl:value-of select="name()"/></xsl:otherwise>
14
+ </xsl:choose>
15
+ </xsl:variable>
16
+ <xsl:element name="{$target-name}">
17
+ <xsl:copy-of select="@*[not(name()='refname' or name()='shortname')]"/>
18
+ <xsl:apply-templates select="*|text()"/>
19
+ </xsl:element>
20
+ </xsl:template>
21
+ <xsl:template match="text()">
22
+ <xsl:copy/>
23
+ </xsl:template>
24
+ </xsl:stylesheet>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
3
+ <xsl:variable name="release" select="/*/@release"/>
4
+ <xsl:variable name="target"><xsl:choose>
5
+ <xsl:when test="/ONIXMessage">short</xsl:when>
6
+ <xsl:otherwise>reference</xsl:otherwise>
7
+ </xsl:choose></xsl:variable>
8
+ <xsl:variable name="dtd-url">http://www.editeur.org/onix/<xsl:value-of select="$release"/>/<xsl:value-of select="$target"/>/onix-international.dtd</xsl:variable>
9
+ <xsl:output method="xml" doctype-system="{$dtd-url}"/>
10
+ <xsl:template match="*">
11
+ <xsl:variable name="target-name">
12
+ <xsl:choose>
13
+ <xsl:when test="$target='short'"><xsl:value-of select="@shortname"/></xsl:when>
14
+ <xsl:otherwise><xsl:value-of select="@refname"/></xsl:otherwise>
15
+ </xsl:choose>
16
+ </xsl:variable>
17
+ <xsl:element name="{$target-name}">
18
+ <xsl:copy-of select="@*[not(name()='refname' or name()='shortname')]"/>
19
+ <xsl:apply-templates select="*|text()"/>
20
+ </xsl:element>
21
+ </xsl:template>
22
+ <xsl:template match="text()">
23
+ <xsl:copy/>
24
+ </xsl:template>
25
+ </xsl:stylesheet>
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
3
+ <xsl:param name="result-document" required="yes"/>
4
+ <xsl:variable name="release" select="/*/@release"/>
5
+ <xsl:variable name="target">
6
+ <xsl:choose>
7
+ <xsl:when test="/ONIXMessage">short</xsl:when>
8
+ <xsl:otherwise>reference</xsl:otherwise>
9
+ </xsl:choose>
10
+ </xsl:variable>
11
+ <xsl:variable name="dtd-url">http://www.editeur.org/onix/<xsl:value-of select="$release"/>/<xsl:value-of select="$target"/>/onix-international.dtd</xsl:variable>
12
+ <xsl:output method="xml"/>
13
+ <xsl:template match="/">
14
+ <xsl:result-document href="{$result-document}" method="xml" doctype-system="{$dtd-url}">
15
+ <xsl:apply-templates/>
16
+ </xsl:result-document>
17
+ </xsl:template>
18
+ <xsl:template match="*">
19
+ <xsl:variable name="target-name">
20
+ <xsl:choose>
21
+ <xsl:when test="$target='short'">
22
+ <xsl:value-of select="@shortname"/>
23
+ </xsl:when>
24
+ <xsl:otherwise>
25
+ <xsl:value-of select="@refname"/>
26
+ </xsl:otherwise>
27
+ </xsl:choose>
28
+ </xsl:variable>
29
+ <xsl:element name="{$target-name}">
30
+ <xsl:copy-of select="@*[not(name()='refname' or name()='shortname')]"/>
31
+ <xsl:apply-templates select="*|text()"/>
32
+ </xsl:element>
33
+ </xsl:template>
34
+ <xsl:template match="text()">
35
+ <xsl:copy/>
36
+ </xsl:template>
37
+ </xsl:stylesheet>
metadata ADDED
@@ -0,0 +1,438 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cacofonix
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.0
5
+ platform: ruby
6
+ authors:
7
+ - James Healy
8
+ - Tim Riley
9
+ autorequire:
10
+ bindir: exe
11
+ cert_chain: []
12
+ date: 2019-07-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: dry-core
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '0.4'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '0.4'
28
+ - !ruby/object:Gem::Dependency
29
+ name: roxml
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '4.0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '4.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: nokogiri
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: cacofonix-dtds
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.1'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.1'
70
+ - !ruby/object:Gem::Dependency
71
+ name: bundler
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '2.0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '2.0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rake
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '10.0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '10.0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '3.0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '3.0'
112
+ description: ONIX support for Ruby applications
113
+ email:
114
+ - jimmy@deefa.com
115
+ - tim@icelab.com.au
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - ".gitignore"
121
+ - ".rvmrc"
122
+ - ".travis.yml"
123
+ - CHANGELOG.md
124
+ - CODE_OF_CONDUCT.md
125
+ - Gemfile
126
+ - LICENSE.txt
127
+ - README.md
128
+ - Rakefile
129
+ - TODO
130
+ - bin/onix_extract_codelists
131
+ - cacofonix.gemspec
132
+ - data/9780194351898.xml
133
+ - data/Ashgate Other.xml
134
+ - data/Bookwise_July_2008.xml
135
+ - data/Peribo Onix 0408.xml
136
+ - data/aau.xml
137
+ - data/audience_range.xml
138
+ - data/contributor.xml
139
+ - data/control_chars.xml
140
+ - data/entities.xml
141
+ - data/extra_entities.xml
142
+ - data/header.xml
143
+ - data/header_invalid_sentdate.xml
144
+ - data/hlasep08.xml
145
+ - data/imprint.xml
146
+ - data/iso_8859_1.xml
147
+ - data/jul.xml
148
+ - data/language.xml
149
+ - data/market_representation.xml
150
+ - data/measure.xml
151
+ - data/media_file.xml
152
+ - data/no_encoding.xml
153
+ - data/no_xml_declaration.xml
154
+ - data/other_text.xml
155
+ - data/price.xml
156
+ - data/product.xml
157
+ - data/product_identifier.xml
158
+ - data/product_invalid_pubdate.xml
159
+ - data/publisher.xml
160
+ - data/rba_FANT.xml
161
+ - data/reference_with_release_attrib.xml
162
+ - data/sales_restriction.xml
163
+ - data/sales_rights.xml
164
+ - data/sender_identifier.xml
165
+ - data/series.xml
166
+ - data/series_identifier.xml
167
+ - data/short_tags.xml
168
+ - data/short_tags_ivp.xml
169
+ - data/sl_product.xml
170
+ - data/stock.xml
171
+ - data/subject.xml
172
+ - data/supply_detail.xml
173
+ - data/title.xml
174
+ - data/two_products.xml
175
+ - data/usd.xml
176
+ - data/utf_16.xml
177
+ - data/website.xml
178
+ - examples/reader.rb
179
+ - examples/reader_apa.rb
180
+ - examples/writer.rb
181
+ - examples/writer_apa.rb
182
+ - lib/cacofonix.rb
183
+ - lib/cacofonix/codelists/001.rb
184
+ - lib/cacofonix/codelists/002.rb
185
+ - lib/cacofonix/codelists/003.rb
186
+ - lib/cacofonix/codelists/005.rb
187
+ - lib/cacofonix/codelists/006.rb
188
+ - lib/cacofonix/codelists/007.rb
189
+ - lib/cacofonix/codelists/008.rb
190
+ - lib/cacofonix/codelists/009.rb
191
+ - lib/cacofonix/codelists/010.rb
192
+ - lib/cacofonix/codelists/011.rb
193
+ - lib/cacofonix/codelists/012.rb
194
+ - lib/cacofonix/codelists/013.rb
195
+ - lib/cacofonix/codelists/014.rb
196
+ - lib/cacofonix/codelists/015.rb
197
+ - lib/cacofonix/codelists/016.rb
198
+ - lib/cacofonix/codelists/017.rb
199
+ - lib/cacofonix/codelists/018.rb
200
+ - lib/cacofonix/codelists/019.rb
201
+ - lib/cacofonix/codelists/020.rb
202
+ - lib/cacofonix/codelists/021.rb
203
+ - lib/cacofonix/codelists/022.rb
204
+ - lib/cacofonix/codelists/023.rb
205
+ - lib/cacofonix/codelists/024.rb
206
+ - lib/cacofonix/codelists/025.rb
207
+ - lib/cacofonix/codelists/026.rb
208
+ - lib/cacofonix/codelists/027.rb
209
+ - lib/cacofonix/codelists/028.rb
210
+ - lib/cacofonix/codelists/029.rb
211
+ - lib/cacofonix/codelists/030.rb
212
+ - lib/cacofonix/codelists/031.rb
213
+ - lib/cacofonix/codelists/032.rb
214
+ - lib/cacofonix/codelists/033.rb
215
+ - lib/cacofonix/codelists/034.rb
216
+ - lib/cacofonix/codelists/035.rb
217
+ - lib/cacofonix/codelists/036.rb
218
+ - lib/cacofonix/codelists/037.rb
219
+ - lib/cacofonix/codelists/038.rb
220
+ - lib/cacofonix/codelists/039.rb
221
+ - lib/cacofonix/codelists/040.rb
222
+ - lib/cacofonix/codelists/041.rb
223
+ - lib/cacofonix/codelists/042.rb
224
+ - lib/cacofonix/codelists/043.rb
225
+ - lib/cacofonix/codelists/044.rb
226
+ - lib/cacofonix/codelists/045.rb
227
+ - lib/cacofonix/codelists/046.rb
228
+ - lib/cacofonix/codelists/047.rb
229
+ - lib/cacofonix/codelists/048.rb
230
+ - lib/cacofonix/codelists/049.rb
231
+ - lib/cacofonix/codelists/050.rb
232
+ - lib/cacofonix/codelists/051.rb
233
+ - lib/cacofonix/codelists/052.rb
234
+ - lib/cacofonix/codelists/053.rb
235
+ - lib/cacofonix/codelists/054.rb
236
+ - lib/cacofonix/codelists/055.rb
237
+ - lib/cacofonix/codelists/056.rb
238
+ - lib/cacofonix/codelists/057.rb
239
+ - lib/cacofonix/codelists/058.rb
240
+ - lib/cacofonix/codelists/059.rb
241
+ - lib/cacofonix/codelists/060.rb
242
+ - lib/cacofonix/codelists/061.rb
243
+ - lib/cacofonix/codelists/062.rb
244
+ - lib/cacofonix/codelists/063.rb
245
+ - lib/cacofonix/codelists/064.rb
246
+ - lib/cacofonix/codelists/065.rb
247
+ - lib/cacofonix/codelists/066.rb
248
+ - lib/cacofonix/codelists/067.rb
249
+ - lib/cacofonix/codelists/068.rb
250
+ - lib/cacofonix/codelists/069.rb
251
+ - lib/cacofonix/codelists/070.rb
252
+ - lib/cacofonix/codelists/071.rb
253
+ - lib/cacofonix/codelists/072.rb
254
+ - lib/cacofonix/codelists/073.rb
255
+ - lib/cacofonix/codelists/074.rb
256
+ - lib/cacofonix/codelists/075.rb
257
+ - lib/cacofonix/codelists/076.rb
258
+ - lib/cacofonix/codelists/077.rb
259
+ - lib/cacofonix/codelists/078.rb
260
+ - lib/cacofonix/codelists/079.rb
261
+ - lib/cacofonix/codelists/080.rb
262
+ - lib/cacofonix/codelists/081.rb
263
+ - lib/cacofonix/codelists/082.rb
264
+ - lib/cacofonix/codelists/083.rb
265
+ - lib/cacofonix/codelists/084.rb
266
+ - lib/cacofonix/codelists/085.rb
267
+ - lib/cacofonix/codelists/086.rb
268
+ - lib/cacofonix/codelists/087.rb
269
+ - lib/cacofonix/codelists/088.rb
270
+ - lib/cacofonix/codelists/089.rb
271
+ - lib/cacofonix/codelists/090.rb
272
+ - lib/cacofonix/codelists/091.rb
273
+ - lib/cacofonix/codelists/092.rb
274
+ - lib/cacofonix/codelists/093.rb
275
+ - lib/cacofonix/codelists/094.rb
276
+ - lib/cacofonix/codelists/095.rb
277
+ - lib/cacofonix/codelists/096.rb
278
+ - lib/cacofonix/codelists/097.rb
279
+ - lib/cacofonix/codelists/098.rb
280
+ - lib/cacofonix/codelists/099.rb
281
+ - lib/cacofonix/codelists/100.rb
282
+ - lib/cacofonix/codelists/101.rb
283
+ - lib/cacofonix/codelists/102.rb
284
+ - lib/cacofonix/codelists/121.rb
285
+ - lib/cacofonix/codelists/138.rb
286
+ - lib/cacofonix/codelists/139.rb
287
+ - lib/cacofonix/codelists/140.rb
288
+ - lib/cacofonix/codelists/141.rb
289
+ - lib/cacofonix/codelists/142.rb
290
+ - lib/cacofonix/codelists/143.rb
291
+ - lib/cacofonix/codelists/144.rb
292
+ - lib/cacofonix/codelists/145.rb
293
+ - lib/cacofonix/codelists/146.rb
294
+ - lib/cacofonix/codelists/147.rb
295
+ - lib/cacofonix/codelists/148.rb
296
+ - lib/cacofonix/codelists/149.rb
297
+ - lib/cacofonix/codelists/150.rb
298
+ - lib/cacofonix/codelists/151.rb
299
+ - lib/cacofonix/codelists/152.rb
300
+ - lib/cacofonix/codelists/153.rb
301
+ - lib/cacofonix/codelists/154.rb
302
+ - lib/cacofonix/codelists/155.rb
303
+ - lib/cacofonix/codelists/156.rb
304
+ - lib/cacofonix/codelists/157.rb
305
+ - lib/cacofonix/codelists/158.rb
306
+ - lib/cacofonix/codelists/159.rb
307
+ - lib/cacofonix/codelists/160.rb
308
+ - lib/cacofonix/codelists/161.rb
309
+ - lib/cacofonix/codelists/162.rb
310
+ - lib/cacofonix/codelists/163.rb
311
+ - lib/cacofonix/codelists/164.rb
312
+ - lib/cacofonix/codelists/165.rb
313
+ - lib/cacofonix/codelists/166.rb
314
+ - lib/cacofonix/codelists/167.rb
315
+ - lib/cacofonix/codelists/168.rb
316
+ - lib/cacofonix/codelists/169.rb
317
+ - lib/cacofonix/codelists/170.rb
318
+ - lib/cacofonix/codelists/171.rb
319
+ - lib/cacofonix/codelists/172.rb
320
+ - lib/cacofonix/codelists/173.rb
321
+ - lib/cacofonix/codelists/174.rb
322
+ - lib/cacofonix/codelists/175.rb
323
+ - lib/cacofonix/codelists/176.rb
324
+ - lib/cacofonix/codelists/177.rb
325
+ - lib/cacofonix/codelists/178.rb
326
+ - lib/cacofonix/codelists/179.rb
327
+ - lib/cacofonix/codelists/184.rb
328
+ - lib/cacofonix/core/code.rb
329
+ - lib/cacofonix/core/element.rb
330
+ - lib/cacofonix/core/header.rb
331
+ - lib/cacofonix/core/lists.rb
332
+ - lib/cacofonix/core/reader.rb
333
+ - lib/cacofonix/core/writer.rb
334
+ - lib/cacofonix/elements/addressee_identifier.rb
335
+ - lib/cacofonix/elements/agent_identifier.rb
336
+ - lib/cacofonix/elements/audience.rb
337
+ - lib/cacofonix/elements/audience_range.rb
338
+ - lib/cacofonix/elements/batch_bonus.rb
339
+ - lib/cacofonix/elements/bible.rb
340
+ - lib/cacofonix/elements/complexity.rb
341
+ - lib/cacofonix/elements/conference.rb
342
+ - lib/cacofonix/elements/conference_sponsor.rb
343
+ - lib/cacofonix/elements/conference_sponsor_identifier.rb
344
+ - lib/cacofonix/elements/contained_item.rb
345
+ - lib/cacofonix/elements/content_item.rb
346
+ - lib/cacofonix/elements/contributor.rb
347
+ - lib/cacofonix/elements/copyright_owner.rb
348
+ - lib/cacofonix/elements/copyright_owner_identifier.rb
349
+ - lib/cacofonix/elements/copyright_statement.rb
350
+ - lib/cacofonix/elements/discount_coded.rb
351
+ - lib/cacofonix/elements/extent.rb
352
+ - lib/cacofonix/elements/identifier.rb
353
+ - lib/cacofonix/elements/illustrations.rb
354
+ - lib/cacofonix/elements/imprint.rb
355
+ - lib/cacofonix/elements/language.rb
356
+ - lib/cacofonix/elements/location_identifier.rb
357
+ - lib/cacofonix/elements/main_subject.rb
358
+ - lib/cacofonix/elements/market_date.rb
359
+ - lib/cacofonix/elements/market_representation.rb
360
+ - lib/cacofonix/elements/measure.rb
361
+ - lib/cacofonix/elements/media_file.rb
362
+ - lib/cacofonix/elements/name.rb
363
+ - lib/cacofonix/elements/name_base.rb
364
+ - lib/cacofonix/elements/new_supplier.rb
365
+ - lib/cacofonix/elements/not_for_sale.rb
366
+ - lib/cacofonix/elements/on_order_detail.rb
367
+ - lib/cacofonix/elements/other_text.rb
368
+ - lib/cacofonix/elements/page_run.rb
369
+ - lib/cacofonix/elements/person_date.rb
370
+ - lib/cacofonix/elements/person_name_identifier.rb
371
+ - lib/cacofonix/elements/price.rb
372
+ - lib/cacofonix/elements/prize.rb
373
+ - lib/cacofonix/elements/product.rb
374
+ - lib/cacofonix/elements/product_base.rb
375
+ - lib/cacofonix/elements/product_classification.rb
376
+ - lib/cacofonix/elements/product_form_feature.rb
377
+ - lib/cacofonix/elements/product_identifier.rb
378
+ - lib/cacofonix/elements/professional_affiliation.rb
379
+ - lib/cacofonix/elements/publisher.rb
380
+ - lib/cacofonix/elements/reissue.rb
381
+ - lib/cacofonix/elements/related_product.rb
382
+ - lib/cacofonix/elements/religious_text.rb
383
+ - lib/cacofonix/elements/religious_text_feature.rb
384
+ - lib/cacofonix/elements/sales_outlet.rb
385
+ - lib/cacofonix/elements/sales_outlet_identifier.rb
386
+ - lib/cacofonix/elements/sales_restriction.rb
387
+ - lib/cacofonix/elements/sales_rights.rb
388
+ - lib/cacofonix/elements/sender_identifier.rb
389
+ - lib/cacofonix/elements/series.rb
390
+ - lib/cacofonix/elements/series_identifier.rb
391
+ - lib/cacofonix/elements/set.rb
392
+ - lib/cacofonix/elements/stock.rb
393
+ - lib/cacofonix/elements/stock_quantity_coded.rb
394
+ - lib/cacofonix/elements/subject.rb
395
+ - lib/cacofonix/elements/supplier_identifier.rb
396
+ - lib/cacofonix/elements/supply_detail.rb
397
+ - lib/cacofonix/elements/text_item.rb
398
+ - lib/cacofonix/elements/text_item_identifier.rb
399
+ - lib/cacofonix/elements/title.rb
400
+ - lib/cacofonix/elements/website.rb
401
+ - lib/cacofonix/elements/work_identifier.rb
402
+ - lib/cacofonix/utils/code_list_extractor.rb
403
+ - lib/cacofonix/utils/normaliser.rb
404
+ - lib/cacofonix/version.rb
405
+ - lib/cacofonix/wrappers/apa_product.rb
406
+ - lib/cacofonix/wrappers/simple_product.rb
407
+ - support/entities.txt
408
+ - support/extract.rb
409
+ - support/switch-onix-2.1-short-to-reference.xsl
410
+ - support/switch-onix-tagnames-1.1.xsl
411
+ - support/switch-onix-tagnames-2.0.xsl
412
+ homepage: https://github.com/icelab/cacofonix
413
+ licenses:
414
+ - MIT
415
+ metadata:
416
+ homepage_uri: https://github.com/icelab/cacofonix
417
+ source_code_uri: https://github.com/icelab/cacofonix
418
+ changelog_uri: https://github.com/icelab/cacofonix/blob/master/CHANGELOG.md
419
+ post_install_message:
420
+ rdoc_options: []
421
+ require_paths:
422
+ - lib
423
+ required_ruby_version: !ruby/object:Gem::Requirement
424
+ requirements:
425
+ - - ">="
426
+ - !ruby/object:Gem::Version
427
+ version: '2.5'
428
+ required_rubygems_version: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - ">="
431
+ - !ruby/object:Gem::Version
432
+ version: '0'
433
+ requirements: []
434
+ rubygems_version: 3.0.3
435
+ signing_key:
436
+ specification_version: 4
437
+ summary: ONIX support for Ruby applications
438
+ test_files: []