niso-jats 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rake.yml +18 -0
  3. data/.github/workflows/release.yml +25 -0
  4. data/.gitignore +13 -0
  5. data/.gitmodules +3 -0
  6. data/.rspec +3 -0
  7. data/.rubocop.yml +21 -0
  8. data/CODE_OF_CONDUCT.md +84 -0
  9. data/Gemfile +14 -0
  10. data/README.adoc +73 -0
  11. data/Rakefile +12 -0
  12. data/bin/console +11 -0
  13. data/bin/setup +8 -0
  14. data/lib/niso/jats/abbrev.rb +29 -0
  15. data/lib/niso/jats/abbrev_journal_title.rb +23 -0
  16. data/lib/niso/jats/abstract.rb +31 -0
  17. data/lib/niso/jats/access_date.rb +25 -0
  18. data/lib/niso/jats/ack.rb +39 -0
  19. data/lib/niso/jats/addr_line.rb +91 -0
  20. data/lib/niso/jats/address.rb +45 -0
  21. data/lib/niso/jats/aff.rb +93 -0
  22. data/lib/niso/jats/aff_alternatives.rb +17 -0
  23. data/lib/niso/jats/alt_text.rb +23 -0
  24. data/lib/niso/jats/alt_title.rb +65 -0
  25. data/lib/niso/jats/alternatives.rb +49 -0
  26. data/lib/niso/jats/annotation.rb +23 -0
  27. data/lib/niso/jats/anonymous.rb +19 -0
  28. data/lib/niso/jats/answer.rb +109 -0
  29. data/lib/niso/jats/answer_set.rb +37 -0
  30. data/lib/niso/jats/app.rb +105 -0
  31. data/lib/niso/jats/app_group.rb +105 -0
  32. data/lib/niso/jats/array.rb +45 -0
  33. data/lib/niso/jats/article.rb +37 -0
  34. data/lib/niso/jats/article_categories.rb +21 -0
  35. data/lib/niso/jats/article_id.rb +25 -0
  36. data/lib/niso/jats/article_meta.rb +108 -0
  37. data/lib/niso/jats/article_title.rb +61 -0
  38. data/lib/niso/jats/article_version.rb +39 -0
  39. data/lib/niso/jats/article_version_alternatives.rb +17 -0
  40. data/lib/niso/jats/attrib.rb +61 -0
  41. data/lib/niso/jats/author_comment.rb +25 -0
  42. data/lib/niso/jats/author_notes.rb +29 -0
  43. data/lib/niso/jats/award_desc.rb +21 -0
  44. data/lib/niso/jats/award_group.rb +40 -0
  45. data/lib/niso/jats/award_id.rb +83 -0
  46. data/lib/niso/jats/award_name.rb +21 -0
  47. data/lib/niso/jats/back.rb +35 -0
  48. data/lib/niso/jats/basic_text.rb +48 -0
  49. data/lib/niso/jats/bio.rb +107 -0
  50. data/lib/niso/jats/block_alternatives.rb +27 -0
  51. data/lib/niso/jats/body.rb +89 -0
  52. data/lib/niso/jats/bold.rb +61 -0
  53. data/lib/niso/jats/boxed_text.rb +113 -0
  54. data/lib/niso/jats/break.rb +15 -0
  55. data/lib/niso/jats/caption.rb +27 -0
  56. data/lib/niso/jats/chapter_title.rb +81 -0
  57. data/lib/niso/jats/chem_struct.rb +95 -0
  58. data/lib/niso/jats/chem_struct_wrap.rb +65 -0
  59. data/lib/niso/jats/citation_alternatives.rb +23 -0
  60. data/lib/niso/jats/city.rb +23 -0
  61. data/lib/niso/jats/code.rb +95 -0
  62. data/lib/niso/jats/col.rb +31 -0
  63. data/lib/niso/jats/colgroup.rb +33 -0
  64. data/lib/niso/jats/collab.rb +123 -0
  65. data/lib/niso/jats/collab_alternatives.rb +17 -0
  66. data/lib/niso/jats/comment.rb +63 -0
  67. data/lib/niso/jats/compound_kwd.rb +29 -0
  68. data/lib/niso/jats/compound_kwd_part.rb +67 -0
  69. data/lib/niso/jats/compound_subject.rb +29 -0
  70. data/lib/niso/jats/compound_subject_part.rb +61 -0
  71. data/lib/niso/jats/conf_acronym.rb +23 -0
  72. data/lib/niso/jats/conf_date.rb +27 -0
  73. data/lib/niso/jats/conf_loc.rb +41 -0
  74. data/lib/niso/jats/conf_name.rb +23 -0
  75. data/lib/niso/jats/conf_num.rb +23 -0
  76. data/lib/niso/jats/conf_sponsor.rb +27 -0
  77. data/lib/niso/jats/conf_theme.rb +75 -0
  78. data/lib/niso/jats/conference.rb +37 -0
  79. data/lib/niso/jats/contrib.rb +67 -0
  80. data/lib/niso/jats/contrib_group.rb +43 -0
  81. data/lib/niso/jats/contrib_id.rb +29 -0
  82. data/lib/niso/jats/contributed_resource_group.rb +27 -0
  83. data/lib/niso/jats/copyright_holder.rb +31 -0
  84. data/lib/niso/jats/copyright_statement.rb +59 -0
  85. data/lib/niso/jats/copyright_year.rb +21 -0
  86. data/lib/niso/jats/corresp.rb +79 -0
  87. data/lib/niso/jats/count.rb +19 -0
  88. data/lib/niso/jats/country.rb +25 -0
  89. data/lib/niso/jats/counts.rb +29 -0
  90. data/lib/niso/jats/custom_meta.rb +35 -0
  91. data/lib/niso/jats/custom_meta_group.rb +23 -0
  92. data/lib/niso/jats/data_title.rb +65 -0
  93. data/lib/niso/jats/date.rb +35 -0
  94. data/lib/niso/jats/date_in_citation.rb +37 -0
  95. data/lib/niso/jats/day.rb +23 -0
  96. data/lib/niso/jats/def.rb +23 -0
  97. data/lib/niso/jats/def_head.rb +57 -0
  98. data/lib/niso/jats/def_item.rb +23 -0
  99. data/lib/niso/jats/def_list.rb +39 -0
  100. data/lib/niso/jats/degrees.rb +23 -0
  101. data/lib/niso/jats/disp_formula.rb +103 -0
  102. data/lib/niso/jats/disp_formula_group.rb +47 -0
  103. data/lib/niso/jats/disp_quote.rb +97 -0
  104. data/lib/niso/jats/edition.rb +29 -0
  105. data/lib/niso/jats/element_citation.rb +203 -0
  106. data/lib/niso/jats/elocation_id.rb +23 -0
  107. data/lib/niso/jats/email.rb +25 -0
  108. data/lib/niso/jats/equation_count.rb +17 -0
  109. data/lib/niso/jats/era.rb +23 -0
  110. data/lib/niso/jats/etal.rb +21 -0
  111. data/lib/niso/jats/event.rb +48 -0
  112. data/lib/niso/jats/event_desc.rb +49 -0
  113. data/lib/niso/jats/explanation.rb +107 -0
  114. data/lib/niso/jats/ext_link.rb +59 -0
  115. data/lib/niso/jats/extended_by.rb +31 -0
  116. data/lib/niso/jats/fax.rb +21 -0
  117. data/lib/niso/jats/fig.rb +87 -0
  118. data/lib/niso/jats/fig_count.rb +17 -0
  119. data/lib/niso/jats/fig_group.rb +59 -0
  120. data/lib/niso/jats/fixed_case.rb +61 -0
  121. data/lib/niso/jats/floats_group.rb +41 -0
  122. data/lib/niso/jats/fn.rb +32 -0
  123. data/lib/niso/jats/fn_group.rb +27 -0
  124. data/lib/niso/jats/fpage.rb +25 -0
  125. data/lib/niso/jats/front.rb +21 -0
  126. data/lib/niso/jats/front_stub.rb +108 -0
  127. data/lib/niso/jats/funding_group.rb +25 -0
  128. data/lib/niso/jats/funding_source.rb +85 -0
  129. data/lib/niso/jats/funding_statement.rb +59 -0
  130. data/lib/niso/jats/given_names.rb +19 -0
  131. data/lib/niso/jats/glossary.rb +97 -0
  132. data/lib/niso/jats/glyph_data.rb +29 -0
  133. data/lib/niso/jats/glyph_ref.rb +17 -0
  134. data/lib/niso/jats/gov.rb +53 -0
  135. data/lib/niso/jats/graphic.rb +61 -0
  136. data/lib/niso/jats/history.rb +17 -0
  137. data/lib/niso/jats/hr.rb +15 -0
  138. data/lib/niso/jats/index_term.rb +39 -0
  139. data/lib/niso/jats/index_term_range_end.rb +17 -0
  140. data/lib/niso/jats/inline_formula.rb +73 -0
  141. data/lib/niso/jats/inline_graphic.rb +33 -0
  142. data/lib/niso/jats/inline_media.rb +77 -0
  143. data/lib/niso/jats/inline_supplementary_material.rb +69 -0
  144. data/lib/niso/jats/institution.rb +31 -0
  145. data/lib/niso/jats/institution_id.rb +31 -0
  146. data/lib/niso/jats/institution_wrap.rb +19 -0
  147. data/lib/niso/jats/isbn.rb +25 -0
  148. data/lib/niso/jats/issn.rb +27 -0
  149. data/lib/niso/jats/issn_l.rb +21 -0
  150. data/lib/niso/jats/issue.rb +25 -0
  151. data/lib/niso/jats/issue_id.rb +29 -0
  152. data/lib/niso/jats/issue_part.rb +23 -0
  153. data/lib/niso/jats/issue_sponsor.rb +23 -0
  154. data/lib/niso/jats/issue_subtitle.rb +23 -0
  155. data/lib/niso/jats/issue_title.rb +23 -0
  156. data/lib/niso/jats/issue_title_group.rb +27 -0
  157. data/lib/niso/jats/italic.rb +61 -0
  158. data/lib/niso/jats/journal_id.rb +25 -0
  159. data/lib/niso/jats/journal_meta.rb +37 -0
  160. data/lib/niso/jats/journal_subtitle.rb +23 -0
  161. data/lib/niso/jats/journal_title.rb +23 -0
  162. data/lib/niso/jats/journal_title_group.rb +25 -0
  163. data/lib/niso/jats/kwd.rb +59 -0
  164. data/lib/niso/jats/kwd_group.rb +37 -0
  165. data/lib/niso/jats/label.rb +59 -0
  166. data/lib/niso/jats/license.rb +25 -0
  167. data/lib/niso/jats/license_p.rb +169 -0
  168. data/lib/niso/jats/license_paragraph.rb +17 -0
  169. data/lib/niso/jats/list.rb +35 -0
  170. data/lib/niso/jats/list_item.rb +29 -0
  171. data/lib/niso/jats/long_desc.rb +25 -0
  172. data/lib/niso/jats/lpage.rb +23 -0
  173. data/lib/niso/jats/media.rb +59 -0
  174. data/lib/niso/jats/meta_name.rb +17 -0
  175. data/lib/niso/jats/meta_value.rb +57 -0
  176. data/lib/niso/jats/milestone_end.rb +25 -0
  177. data/lib/niso/jats/milestone_start.rb +25 -0
  178. data/lib/niso/jats/mixed_citation.rb +205 -0
  179. data/lib/niso/jats/module_includer.rb +47 -0
  180. data/lib/niso/jats/monospace.rb +61 -0
  181. data/lib/niso/jats/month.rb +23 -0
  182. data/lib/niso/jats/name.rb +31 -0
  183. data/lib/niso/jats/name_alternatives.rb +19 -0
  184. data/lib/niso/jats/named_content.rb +169 -0
  185. data/lib/niso/jats/nested_kwd.rb +33 -0
  186. data/lib/niso/jats/nlm_citation.rb +85 -0
  187. data/lib/niso/jats/note.rb +27 -0
  188. data/lib/niso/jats/notes.rb +103 -0
  189. data/lib/niso/jats/object_id.rb +25 -0
  190. data/lib/niso/jats/on_behalf_of.rb +61 -0
  191. data/lib/niso/jats/open_access.rb +21 -0
  192. data/lib/niso/jats/option.rb +109 -0
  193. data/lib/niso/jats/overline.rb +61 -0
  194. data/lib/niso/jats/overline_end.rb +19 -0
  195. data/lib/niso/jats/overline_start.rb +17 -0
  196. data/lib/niso/jats/page_count.rb +17 -0
  197. data/lib/niso/jats/page_range.rb +23 -0
  198. data/lib/niso/jats/paragraph.rb +169 -0
  199. data/lib/niso/jats/part_title.rb +81 -0
  200. data/lib/niso/jats/patent.rb +25 -0
  201. data/lib/niso/jats/permissions.rb +23 -0
  202. data/lib/niso/jats/person_group.rb +45 -0
  203. data/lib/niso/jats/phone.rb +21 -0
  204. data/lib/niso/jats/postal_code.rb +23 -0
  205. data/lib/niso/jats/prefix.rb +23 -0
  206. data/lib/niso/jats/preformat.rb +81 -0
  207. data/lib/niso/jats/price.rb +47 -0
  208. data/lib/niso/jats/principal_award_recipient.rb +33 -0
  209. data/lib/niso/jats/principal_investigator.rb +29 -0
  210. data/lib/niso/jats/private_char.rb +27 -0
  211. data/lib/niso/jats/processing_meta.rb +31 -0
  212. data/lib/niso/jats/product.rb +215 -0
  213. data/lib/niso/jats/pub_date.rb +39 -0
  214. data/lib/niso/jats/pub_date_not_available.rb +17 -0
  215. data/lib/niso/jats/pub_history.rb +17 -0
  216. data/lib/niso/jats/pub_id.rb +27 -0
  217. data/lib/niso/jats/publisher.rb +21 -0
  218. data/lib/niso/jats/publisher_loc.rb +45 -0
  219. data/lib/niso/jats/publisher_name.rb +25 -0
  220. data/lib/niso/jats/question.rb +113 -0
  221. data/lib/niso/jats/question_preamble.rb +101 -0
  222. data/lib/niso/jats/question_wrap.rb +33 -0
  223. data/lib/niso/jats/question_wrap_group.rb +37 -0
  224. data/lib/niso/jats/rb.rb +43 -0
  225. data/lib/niso/jats/ref.rb +33 -0
  226. data/lib/niso/jats/ref_count.rb +17 -0
  227. data/lib/niso/jats/ref_list.rb +99 -0
  228. data/lib/niso/jats/related_article.rb +185 -0
  229. data/lib/niso/jats/related_object.rb +195 -0
  230. data/lib/niso/jats/resource_group.rb +23 -0
  231. data/lib/niso/jats/resource_id.rb +31 -0
  232. data/lib/niso/jats/resource_name.rb +49 -0
  233. data/lib/niso/jats/resource_wrap.rb +19 -0
  234. data/lib/niso/jats/response.rb +33 -0
  235. data/lib/niso/jats/restricted_by.rb +31 -0
  236. data/lib/niso/jats/role.rb +65 -0
  237. data/lib/niso/jats/roman.rb +61 -0
  238. data/lib/niso/jats/rp.rb +17 -0
  239. data/lib/niso/jats/rt.rb +23 -0
  240. data/lib/niso/jats/ruby.rb +23 -0
  241. data/lib/niso/jats/sans_serif.rb +97 -0
  242. data/lib/niso/jats/sc.rb +61 -0
  243. data/lib/niso/jats/season.rb +23 -0
  244. data/lib/niso/jats/sec.rb +103 -0
  245. data/lib/niso/jats/sec_meta.rb +27 -0
  246. data/lib/niso/jats/see.rb +79 -0
  247. data/lib/niso/jats/see_also.rb +87 -0
  248. data/lib/niso/jats/self_uri.rb +27 -0
  249. data/lib/niso/jats/series.rb +53 -0
  250. data/lib/niso/jats/series_text.rb +53 -0
  251. data/lib/niso/jats/series_title.rb +53 -0
  252. data/lib/niso/jats/sig.rb +67 -0
  253. data/lib/niso/jats/sig_block.rb +69 -0
  254. data/lib/niso/jats/size.rb +23 -0
  255. data/lib/niso/jats/source.rb +83 -0
  256. data/lib/niso/jats/speaker.rb +39 -0
  257. data/lib/niso/jats/speech.rb +27 -0
  258. data/lib/niso/jats/state.rb +23 -0
  259. data/lib/niso/jats/statement.rb +39 -0
  260. data/lib/niso/jats/std.rb +71 -0
  261. data/lib/niso/jats/std_organization.rb +31 -0
  262. data/lib/niso/jats/strike.rb +61 -0
  263. data/lib/niso/jats/string_conf.rb +91 -0
  264. data/lib/niso/jats/string_date.rb +37 -0
  265. data/lib/niso/jats/string_name.rb +35 -0
  266. data/lib/niso/jats/styled_content.rb +163 -0
  267. data/lib/niso/jats/sub.rb +61 -0
  268. data/lib/niso/jats/sub_article.rb +37 -0
  269. data/lib/niso/jats/subj_group.rb +33 -0
  270. data/lib/niso/jats/subject.rb +71 -0
  271. data/lib/niso/jats/subtitle.rb +65 -0
  272. data/lib/niso/jats/suffix.rb +23 -0
  273. data/lib/niso/jats/sup.rb +61 -0
  274. data/lib/niso/jats/supplement.rb +79 -0
  275. data/lib/niso/jats/supplementary_material.rb +93 -0
  276. data/lib/niso/jats/support_description.rb +23 -0
  277. data/lib/niso/jats/support_group.rb +25 -0
  278. data/lib/niso/jats/support_source.rb +85 -0
  279. data/lib/niso/jats/surname.rb +19 -0
  280. data/lib/niso/jats/table.rb +47 -0
  281. data/lib/niso/jats/table_count.rb +17 -0
  282. data/lib/niso/jats/table_wrap.rb +83 -0
  283. data/lib/niso/jats/table_wrap_foot.rb +27 -0
  284. data/lib/niso/jats/table_wrap_group.rb +51 -0
  285. data/lib/niso/jats/target.rb +53 -0
  286. data/lib/niso/jats/tbody.rb +29 -0
  287. data/lib/niso/jats/td.rb +169 -0
  288. data/lib/niso/jats/term.rb +89 -0
  289. data/lib/niso/jats/term_head.rb +57 -0
  290. data/lib/niso/jats/tex_math.rb +25 -0
  291. data/lib/niso/jats/textual_form.rb +61 -0
  292. data/lib/niso/jats/tfoot.rb +29 -0
  293. data/lib/niso/jats/th.rb +169 -0
  294. data/lib/niso/jats/thead.rb +29 -0
  295. data/lib/niso/jats/time_stamp.rb +21 -0
  296. data/lib/niso/jats/title.rb +71 -0
  297. data/lib/niso/jats/title_group.rb +25 -0
  298. data/lib/niso/jats/tr.rb +31 -0
  299. data/lib/niso/jats/trans_abstract.rb +31 -0
  300. data/lib/niso/jats/trans_source.rb +83 -0
  301. data/lib/niso/jats/trans_subtitle.rb +63 -0
  302. data/lib/niso/jats/trans_title.rb +65 -0
  303. data/lib/niso/jats/trans_title_group.rb +25 -0
  304. data/lib/niso/jats/underline.rb +63 -0
  305. data/lib/niso/jats/underline_end.rb +19 -0
  306. data/lib/niso/jats/underline_start.rb +17 -0
  307. data/lib/niso/jats/unstructured_kwd_group.rb +29 -0
  308. data/lib/niso/jats/uri.rb +31 -0
  309. data/lib/niso/jats/verse_group.rb +41 -0
  310. data/lib/niso/jats/verse_line.rb +89 -0
  311. data/lib/niso/jats/version.rb +5 -0
  312. data/lib/niso/jats/version_element.rb +29 -0
  313. data/lib/niso/jats/volume.rb +25 -0
  314. data/lib/niso/jats/volume_id.rb +29 -0
  315. data/lib/niso/jats/volume_issue_group.rb +39 -0
  316. data/lib/niso/jats/volume_series.rb +23 -0
  317. data/lib/niso/jats/word_count.rb +17 -0
  318. data/lib/niso/jats/x.rb +23 -0
  319. data/lib/niso/jats/xref.rb +59 -0
  320. data/lib/niso/jats/year.rb +27 -0
  321. data/lib/niso/jats.rb +14 -0
  322. data/lib/niso-jats.rb +1 -0
  323. data/lib/niso_jats.rb +5 -0
  324. data/niso-jats.gemspec +39 -0
  325. data/reference-docs/JATS-journalpublishing1-3-elements-modified-for-shale.xsd +9604 -0
  326. data/reference-docs/JATS-journalpublishing1-3-elements.xsd +9604 -0
  327. data/reference-docs/JATS-journalpublishing1-3.xsd.xml +45 -0
  328. data/reference-docs/mathml2.xsd +59 -0
  329. data/reference-docs/module-ali.xsd +46 -0
  330. data/reference-docs/xlink.xsd +100 -0
  331. data/reference-docs/xml.xsd +287 -0
  332. data/sig/niso/jats.rbs +6 -0
  333. metadata +434 -0
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class VerseLine < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :content_type, :string
8
+ attribute :id, :string
9
+ attribute :indent_level, :string
10
+ attribute :specific_use, :string
11
+ attribute :style, :string
12
+ attribute :style_detail, :string
13
+ attribute :style_type, :string
14
+ attribute :lang, :string
15
+ attribute :bold, Bold, collection: true
16
+ attribute :fixed_case, FixedCase, collection: true
17
+ attribute :italic, Italic, collection: true
18
+ attribute :monospace, Monospace, collection: true
19
+ attribute :overline, Overline, collection: true
20
+ attribute :roman, Roman, collection: true
21
+ attribute :sans_serif, SansSerif, collection: true
22
+ attribute :sc, Sc, collection: true
23
+ attribute :strike, Strike, collection: true
24
+ attribute :underline, Underline, collection: true
25
+ attribute :ruby, Ruby, collection: true
26
+ attribute :alternatives, Alternatives, collection: true
27
+ attribute :inline_graphic, InlineGraphic, collection: true
28
+ attribute :inline_media, InlineMedia, collection: true
29
+ attribute :private_char, PrivateChar, collection: true
30
+ attribute :chem_struct, ChemStruct, collection: true
31
+ attribute :inline_formula, InlineFormula, collection: true
32
+ attribute :abbrev, Abbrev, collection: true
33
+ attribute :index_term, IndexTerm, collection: true
34
+ attribute :index_term_range_end, IndexTermRangeEnd, collection: true
35
+ attribute :milestone_end, MilestoneEnd, collection: true
36
+ attribute :milestone_start, MilestoneStart, collection: true
37
+ attribute :named_content, NamedContent, collection: true
38
+ attribute :styled_content, StyledContent, collection: true
39
+ attribute :sub, Sub, collection: true
40
+ attribute :sup, Sup, collection: true
41
+ attribute :fn, Fn, collection: true
42
+ attribute :target, Target, collection: true
43
+ attribute :xref, Xref, collection: true
44
+
45
+ xml do
46
+ root "verse-line"
47
+
48
+ map_content to: :content
49
+ map_attribute "content-type", to: :content_type
50
+ map_attribute "id", to: :id
51
+ map_attribute "indent-level", to: :indent_level
52
+ map_attribute "specific-use", to: :specific_use
53
+ map_attribute "style", to: :style
54
+ map_attribute "style-detail", to: :style_detail
55
+ map_attribute "style-type", to: :style_type
56
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
57
+ map_element "bold", to: :bold
58
+ map_element "fixed-case", to: :fixed_case
59
+ map_element "italic", to: :italic
60
+ map_element "monospace", to: :monospace
61
+ map_element "overline", to: :overline
62
+ map_element "roman", to: :roman
63
+ map_element "sans-serif", to: :sans_serif
64
+ map_element "sc", to: :sc
65
+ map_element "strike", to: :strike
66
+ map_element "underline", to: :underline
67
+ map_element "ruby", to: :ruby
68
+ map_element "alternatives", to: :alternatives
69
+ map_element "inline-graphic", to: :inline_graphic
70
+ map_element "inline-media", to: :inline_media
71
+ map_element "private-char", to: :private_char
72
+ map_element "chem-struct", to: :chem_struct
73
+ map_element "inline-formula", to: :inline_formula
74
+ map_element "abbrev", to: :abbrev
75
+ map_element "index-term", to: :index_term
76
+ map_element "index-term-range-end", to: :index_term_range_end
77
+ map_element "milestone-end", to: :milestone_end
78
+ map_element "milestone-start", to: :milestone_start
79
+ map_element "named-content", to: :named_content
80
+ map_element "styled-content", to: :styled_content
81
+ map_element "sub", to: :sub
82
+ map_element "sup", to: :sup
83
+ map_element "fn", to: :fn
84
+ map_element "target", to: :target
85
+ map_element "xref", to: :xref
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,5 @@
1
+ module Niso
2
+ module Jats
3
+ VERSION = "0.1.1".freeze
4
+ end
5
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class VersionElement < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :content_type, :string
8
+ attribute :designator, :string
9
+ attribute :id, :string
10
+ attribute :specific_use, :string
11
+ attribute :lang, :string
12
+ attribute :sub, Sub, collection: true
13
+ attribute :sup, Sup, collection: true
14
+
15
+ xml do
16
+ root "version"
17
+
18
+ map_content to: :content
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "designator", to: :designator
21
+ map_attribute "id", to: :id
22
+ map_attribute "specific-use", to: :specific_use
23
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
24
+ map_element "sub", to: :sub
25
+ map_element "sup", to: :sup
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class Volume < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :content_type, :string
8
+ attribute :id, :string
9
+ attribute :seq, :string
10
+ attribute :specific_use, :string
11
+ attribute :lang, :string
12
+
13
+ xml do
14
+ root "volume"
15
+
16
+ map_content to: :content
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "id", to: :id
19
+ map_attribute "seq", to: :seq
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class VolumeId < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :assigning_authority, :string
8
+ attribute :content_type, :string
9
+ attribute :hreflang, :string
10
+ attribute :id, :string
11
+ attribute :pub_id_type, :string
12
+ attribute :specific_use, :string
13
+ attribute :lang, :string
14
+
15
+ xml do
16
+ root "volume-id"
17
+
18
+ map_content to: :content
19
+ map_attribute "assigning-authority", to: :assigning_authority
20
+ map_attribute "content-type", to: :content_type
21
+ map_attribute "hreflang", to: :hreflang
22
+ map_attribute "id", to: :id
23
+ map_attribute "pub-id-type", to: :pub_id_type
24
+ map_attribute "specific-use", to: :specific_use
25
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class VolumeIssueGroup < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :lang, :string
10
+ attribute :volume, Volume, collection: true
11
+ attribute :volume_id, VolumeId, collection: true
12
+ attribute :volume_series, VolumeSeries
13
+ attribute :issue, Issue, collection: true
14
+ attribute :issue_id, IssueId, collection: true
15
+ attribute :issue_title, IssueTitle, collection: true
16
+ attribute :issue_title_group, IssueTitleGroup, collection: true
17
+ attribute :issue_sponsor, IssueSponsor, collection: true
18
+ attribute :issue_part, IssuePart
19
+
20
+ xml do
21
+ root "volume-issue-group"
22
+
23
+ map_attribute "content-type", to: :content_type
24
+ map_attribute "id", to: :id
25
+ map_attribute "specific-use", to: :specific_use
26
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
27
+ map_element "volume", to: :volume
28
+ map_element "volume-id", to: :volume_id
29
+ map_element "volume-series", to: :volume_series
30
+ map_element "issue", to: :issue
31
+ map_element "issue-id", to: :issue_id
32
+ map_element "issue-title", to: :issue_title
33
+ map_element "issue-title-group", to: :issue_title_group
34
+ map_element "issue-sponsor", to: :issue_sponsor
35
+ map_element "issue-part", to: :issue_part
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class VolumeSeries < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :content_type, :string
8
+ attribute :id, :string
9
+ attribute :specific_use, :string
10
+ attribute :lang, :string
11
+
12
+ xml do
13
+ root "volume-series"
14
+
15
+ map_content to: :content
16
+ map_attribute "content-type", to: :content_type
17
+ map_attribute "id", to: :id
18
+ map_attribute "specific-use", to: :specific_use
19
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class WordCount < Lutaml::Model::Serializable
6
+ attribute :count, :string
7
+ attribute :id, :string
8
+
9
+ xml do
10
+ root "word-count"
11
+
12
+ map_attribute "count", to: :count
13
+ map_attribute "id", to: :id
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class X < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :content_type, :string
8
+ attribute :id, :string
9
+ attribute :specific_use, :string
10
+ attribute :lang, :string
11
+
12
+ xml do
13
+ root "x"
14
+
15
+ map_content to: :content
16
+ map_attribute "content-type", to: :content_type
17
+ map_attribute "id", to: :id
18
+ map_attribute "specific-use", to: :specific_use
19
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class Xref < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :alt, :string
8
+ attribute :custom_type, :string
9
+ attribute :id, :string
10
+ attribute :ref_type, :string
11
+ attribute :rid, :string
12
+ attribute :specific_use, :string
13
+ attribute :lang, :string
14
+ attribute :bold, Bold, collection: true
15
+ attribute :fixed_case, FixedCase, collection: true
16
+ attribute :italic, Italic, collection: true
17
+ attribute :monospace, Monospace, collection: true
18
+ attribute :overline, Overline, collection: true
19
+ attribute :roman, Roman, collection: true
20
+ attribute :sans_serif, SansSerif, collection: true
21
+ attribute :sc, Sc, collection: true
22
+ attribute :strike, Strike, collection: true
23
+ attribute :underline, Underline, collection: true
24
+ attribute :ruby, Ruby, collection: true
25
+ attribute :named_content, NamedContent, collection: true
26
+ attribute :styled_content, StyledContent, collection: true
27
+ attribute :sub, Sub, collection: true
28
+ attribute :sup, Sup, collection: true
29
+
30
+ xml do
31
+ root "xref"
32
+
33
+ map_content to: :content
34
+ map_attribute "alt", to: :alt
35
+ map_attribute "custom-type", to: :custom_type
36
+ map_attribute "id", to: :id
37
+ map_attribute "ref-type", to: :ref_type
38
+ map_attribute "rid", to: :rid
39
+ map_attribute "specific-use", to: :specific_use
40
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
41
+ map_element "bold", to: :bold
42
+ map_element "fixed-case", to: :fixed_case
43
+ map_element "italic", to: :italic
44
+ map_element "monospace", to: :monospace
45
+ map_element "overline", to: :overline
46
+ map_element "roman", to: :roman
47
+ map_element "sans-serif", to: :sans_serif
48
+ map_element "sc", to: :sc
49
+ map_element "strike", to: :strike
50
+ map_element "underline", to: :underline
51
+ map_element "ruby", to: :ruby
52
+ map_element "named-content", to: :named_content
53
+ map_element "styled-content", to: :styled_content
54
+ map_element "sub", to: :sub
55
+ map_element "sup", to: :sup
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Niso
4
+ module Jats
5
+ class Year < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :calendar, :string
8
+ attribute :content_type, :string
9
+ attribute :id, :string
10
+ attribute :iso_8601_date, :string
11
+ attribute :specific_use, :string
12
+ attribute :lang, :string
13
+
14
+ xml do
15
+ root "year"
16
+
17
+ map_content to: :content
18
+ map_attribute "calendar", to: :calendar
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "id", to: :id
21
+ map_attribute "iso-8601-date", to: :iso_8601_date
22
+ map_attribute "specific-use", to: :specific_use
23
+ map_attribute "lang", to: :lang, namespace: "http://www.w3.org/XML/1998/namespace", prefix: "xml"
24
+ end
25
+ end
26
+ end
27
+ end
data/lib/niso/jats.rb ADDED
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "lutaml/model"
4
+
5
+ Lutaml::Model::Config.configure do |config|
6
+ require "lutaml/model/xml_adapter/nokogiri_adapter"
7
+ config.xml_adapter = Lutaml::Model::XmlAdapter::NokogiriAdapter
8
+ end
9
+
10
+ module Niso
11
+ module Jats
12
+ class Error < StandardError; end
13
+ end
14
+ end
data/lib/niso-jats.rb ADDED
@@ -0,0 +1 @@
1
+ require_relative "niso_jats"
data/lib/niso_jats.rb ADDED
@@ -0,0 +1,5 @@
1
+ require "zeitwerk"
2
+
3
+ loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
4
+ loader.ignore("#{__dir__}/niso-jats.rb")
5
+ loader.setup
data/niso-jats.gemspec ADDED
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/niso/jats/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "niso-jats"
7
+ spec.version = Niso::Jats::VERSION
8
+ spec.authors = ["Ribose Inc."]
9
+ spec.email = ["open.source@ribose.com'"]
10
+
11
+ spec.summary = "NISO JATS format parser"
12
+ spec.description = "NISO JATS format parser"
13
+ spec.homepage = "https://github.com/metanorma/niso-jats"
14
+ spec.license = "MIT"
15
+
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = spec.homepage
18
+ spec.metadata["changelog_uri"] = "https://github.com/metanorma/niso-jats/releases"
19
+
20
+ # Specify which files should be added to the gem when it is released.
21
+ # The `git ls-files -z` loads the files in the RubyGem
22
+ # that have been added into git.
23
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
+ `git ls-files -z`
25
+ .split("\x0")
26
+ .reject { |f| f.match(%r{^(test|spec|features)/}) }
27
+ end
28
+ spec.bindir = "exe"
29
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ["lib"]
31
+
32
+ spec.required_ruby_version = ">= 3.0.0"
33
+
34
+ spec.add_dependency "bigdecimal"
35
+ spec.add_dependency "lutaml-model"
36
+ spec.add_dependency "nokogiri"
37
+ spec.add_dependency "zeitwerk", "~> 2.6.18"
38
+ spec.metadata["rubygems_mfa_required"] = "true"
39
+ end