sts 0.3.4 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +7 -1
  3. data/.gitignore +2 -0
  4. data/.rubocop_todo.yml +8 -30
  5. data/Gemfile +4 -2
  6. data/lib/sts/namespaces.rb +13 -0
  7. data/lib/sts/niso_sts/abstract.rb +23 -0
  8. data/lib/sts/niso_sts/access_date.rb +20 -0
  9. data/lib/sts/niso_sts/accrediting_organization.rb +16 -0
  10. data/lib/sts/niso_sts/ack.rb +27 -0
  11. data/lib/sts/niso_sts/addr_line.rb +20 -0
  12. data/lib/sts/niso_sts/address.rb +29 -0
  13. data/lib/sts/niso_sts/adoption.rb +8 -12
  14. data/lib/sts/niso_sts/adoption_front.rb +1 -3
  15. data/lib/sts/niso_sts/aff.rb +51 -0
  16. data/lib/sts/niso_sts/aff_alternatives.rb +15 -0
  17. data/lib/sts/niso_sts/ali/ali.rb +10 -0
  18. data/lib/sts/niso_sts/ali/free_to_read.rb +25 -0
  19. data/lib/sts/niso_sts/ali/license_ref.rb +26 -0
  20. data/lib/sts/niso_sts/alt_text.rb +16 -0
  21. data/lib/sts/niso_sts/alt_title.rb +16 -0
  22. data/lib/sts/niso_sts/alternatives.rb +16 -0
  23. data/lib/sts/niso_sts/annotation.rb +26 -0
  24. data/lib/sts/niso_sts/anonymous.rb +11 -0
  25. data/lib/sts/niso_sts/app.rb +11 -22
  26. data/lib/sts/niso_sts/app_group.rb +1 -5
  27. data/lib/sts/niso_sts/article_title.rb +20 -0
  28. data/lib/sts/niso_sts/attrib.rb +16 -0
  29. data/lib/sts/niso_sts/attribution.rb +16 -0
  30. data/lib/sts/niso_sts/author_comment.rb +24 -0
  31. data/lib/sts/niso_sts/author_notes.rb +31 -0
  32. data/lib/sts/niso_sts/authorization.rb +16 -0
  33. data/lib/sts/niso_sts/award_group.rb +26 -0
  34. data/lib/sts/niso_sts/award_id.rb +20 -0
  35. data/lib/sts/niso_sts/back.rb +5 -12
  36. data/lib/sts/niso_sts/bio.rb +24 -0
  37. data/lib/sts/niso_sts/body.rb +2 -6
  38. data/lib/sts/niso_sts/boxed_text.rb +31 -0
  39. data/lib/sts/niso_sts/caption.rb +6 -10
  40. data/lib/sts/niso_sts/chapter_title.rb +20 -0
  41. data/lib/sts/niso_sts/chem_struct.rb +16 -0
  42. data/lib/sts/niso_sts/chem_struct_wrap.rb +32 -0
  43. data/lib/sts/niso_sts/citation_alternatives.rb +19 -0
  44. data/lib/sts/niso_sts/city.rb +20 -0
  45. data/lib/sts/niso_sts/collab.rb +28 -0
  46. data/lib/sts/niso_sts/collab_alternatives.rb +15 -0
  47. data/lib/sts/niso_sts/comm_ref_group.rb +15 -0
  48. data/lib/sts/niso_sts/comment.rb +16 -0
  49. data/lib/sts/niso_sts/compound_kwd.rb +25 -0
  50. data/lib/sts/niso_sts/compound_kwd_part.rb +24 -0
  51. data/lib/sts/niso_sts/conf_acronym.rb +16 -0
  52. data/lib/sts/niso_sts/conf_date.rb +20 -0
  53. data/lib/sts/niso_sts/conf_loc.rb +16 -0
  54. data/lib/sts/niso_sts/conf_name.rb +16 -0
  55. data/lib/sts/niso_sts/conf_num.rb +16 -0
  56. data/lib/sts/niso_sts/conf_sponsor.rb +16 -0
  57. data/lib/sts/niso_sts/conf_theme.rb +16 -0
  58. data/lib/sts/niso_sts/conference.rb +29 -0
  59. data/lib/sts/niso_sts/content_language.rb +20 -0
  60. data/lib/sts/niso_sts/contrib.rb +58 -0
  61. data/lib/sts/niso_sts/contrib_group.rb +22 -0
  62. data/lib/sts/niso_sts/contrib_id.rb +20 -0
  63. data/lib/sts/niso_sts/copyright_holder.rb +16 -0
  64. data/lib/sts/niso_sts/copyright_statement.rb +16 -0
  65. data/lib/sts/niso_sts/copyright_year.rb +16 -0
  66. data/lib/sts/niso_sts/corresp.rb +20 -0
  67. data/lib/sts/niso_sts/country.rb +20 -0
  68. data/lib/sts/niso_sts/counts.rb +25 -0
  69. data/lib/sts/niso_sts/custom_meta.rb +3 -7
  70. data/lib/sts/niso_sts/custom_meta_group.rb +2 -6
  71. data/lib/sts/niso_sts/data_title.rb +20 -0
  72. data/lib/sts/niso_sts/date.rb +25 -0
  73. data/lib/sts/niso_sts/date_in_citation.rb +25 -0
  74. data/lib/sts/niso_sts/day.rb +16 -0
  75. data/lib/sts/niso_sts/def.rb +2 -6
  76. data/lib/sts/niso_sts/def_item.rb +3 -8
  77. data/lib/sts/niso_sts/def_list.rb +3 -7
  78. data/lib/sts/niso_sts/degrees.rb +20 -0
  79. data/lib/sts/niso_sts/disp_formula_group.rb +26 -0
  80. data/lib/sts/niso_sts/disp_quote.rb +27 -0
  81. data/lib/sts/niso_sts/display_formula.rb +4 -7
  82. data/lib/sts/niso_sts/doc_number.rb +16 -0
  83. data/lib/sts/niso_sts/doc_type.rb +16 -0
  84. data/lib/sts/niso_sts/document_identification.rb +1 -3
  85. data/lib/sts/niso_sts/editing_instruction.rb +24 -0
  86. data/lib/sts/niso_sts/edition.rb +16 -0
  87. data/lib/sts/niso_sts/element_citation.rb +103 -0
  88. data/lib/sts/niso_sts/elocation_id.rb +17 -0
  89. data/lib/sts/niso_sts/email.rb +20 -0
  90. data/lib/sts/niso_sts/equation_count.rb +14 -0
  91. data/lib/sts/niso_sts/era.rb +16 -0
  92. data/lib/sts/niso_sts/etal.rb +22 -0
  93. data/lib/sts/niso_sts/ext_link.rb +3 -7
  94. data/lib/sts/niso_sts/fax.rb +20 -0
  95. data/lib/sts/niso_sts/fig_count.rb +14 -0
  96. data/lib/sts/niso_sts/fig_group.rb +30 -0
  97. data/lib/sts/niso_sts/figure.rb +6 -13
  98. data/lib/sts/niso_sts/floats_group.rb +16 -0
  99. data/lib/sts/niso_sts/fn.rb +3 -8
  100. data/lib/sts/niso_sts/fn_group.rb +2 -6
  101. data/lib/sts/niso_sts/fpage.rb +20 -0
  102. data/lib/sts/niso_sts/front.rb +4 -10
  103. data/lib/sts/niso_sts/funding_group.rb +22 -0
  104. data/lib/sts/niso_sts/funding_source.rb +26 -0
  105. data/lib/sts/niso_sts/funding_statement.rb +20 -0
  106. data/lib/sts/niso_sts/given_names.rb +20 -0
  107. data/lib/sts/niso_sts/glossary.rb +33 -0
  108. data/lib/sts/niso_sts/gov.rb +20 -0
  109. data/lib/sts/niso_sts/graphic.rb +5 -11
  110. data/lib/sts/niso_sts/history.rb +18 -0
  111. data/lib/sts/niso_sts/hr.rb +11 -0
  112. data/lib/sts/niso_sts/ics.rb +15 -0
  113. data/lib/sts/niso_sts/ics_desc.rb +16 -0
  114. data/lib/sts/niso_sts/ics_wrap.rb +15 -0
  115. data/lib/sts/niso_sts/index_term.rb +32 -0
  116. data/lib/sts/niso_sts/index_term_range_end.rb +17 -0
  117. data/lib/sts/niso_sts/inline_formula.rb +3 -6
  118. data/lib/sts/niso_sts/inline_graphic.rb +39 -0
  119. data/lib/sts/niso_sts/inline_supplementary_material.rb +38 -0
  120. data/lib/sts/niso_sts/institution.rb +20 -0
  121. data/lib/sts/niso_sts/institution_id.rb +18 -0
  122. data/lib/sts/niso_sts/institution_wrap.rb +17 -0
  123. data/lib/sts/niso_sts/intro.rb +16 -0
  124. data/lib/sts/niso_sts/is_proof.rb +15 -0
  125. data/lib/sts/niso_sts/isbn.rb +20 -0
  126. data/lib/sts/niso_sts/issn.rb +22 -0
  127. data/lib/sts/niso_sts/issn_l.rb +20 -0
  128. data/lib/sts/niso_sts/issue.rb +20 -0
  129. data/lib/sts/niso_sts/kwd.rb +26 -0
  130. data/lib/sts/niso_sts/kwd_group.rb +35 -0
  131. data/lib/sts/niso_sts/label.rb +1 -5
  132. data/lib/sts/niso_sts/license.rb +19 -0
  133. data/lib/sts/niso_sts/license_p.rb +16 -0
  134. data/lib/sts/niso_sts/list.rb +3 -6
  135. data/lib/sts/niso_sts/list_item.rb +8 -13
  136. data/lib/sts/niso_sts/long_desc.rb +22 -0
  137. data/lib/sts/niso_sts/lpage.rb +20 -0
  138. data/lib/sts/niso_sts/main.rb +16 -0
  139. data/lib/sts/niso_sts/mathml.rb +69 -0
  140. data/lib/sts/niso_sts/media.rb +44 -0
  141. data/lib/sts/niso_sts/meta_date.rb +1 -3
  142. data/lib/sts/niso_sts/meta_note.rb +3 -6
  143. data/lib/sts/niso_sts/metadata_iso.rb +11 -22
  144. data/lib/sts/niso_sts/metadata_std.rb +12 -19
  145. data/lib/sts/niso_sts/milestone_end.rb +26 -0
  146. data/lib/sts/niso_sts/milestone_start.rb +24 -0
  147. data/lib/sts/niso_sts/mixed_citation.rb +101 -12
  148. data/lib/sts/niso_sts/mml_content/apply.rb +47 -0
  149. data/lib/sts/niso_sts/mml_content/bind.rb +22 -0
  150. data/lib/sts/niso_sts/mml_content/calculus.rb +77 -0
  151. data/lib/sts/niso_sts/mml_content/ci.rb +22 -0
  152. data/lib/sts/niso_sts/mml_content/cn.rb +24 -0
  153. data/lib/sts/niso_sts/mml_content/constants.rb +114 -0
  154. data/lib/sts/niso_sts/mml_content/containers.rb +104 -0
  155. data/lib/sts/niso_sts/mml_content/csymbol.rb +24 -0
  156. data/lib/sts/niso_sts/mml_content/functional.rb +110 -0
  157. data/lib/sts/niso_sts/mml_content/linear_algebra.rb +98 -0
  158. data/lib/sts/niso_sts/mml_content/operators.rb +154 -0
  159. data/lib/sts/niso_sts/mml_content/qualifiers.rb +111 -0
  160. data/lib/sts/niso_sts/mml_content/relations.rb +84 -0
  161. data/lib/sts/niso_sts/mml_content/sets.rb +84 -0
  162. data/lib/sts/niso_sts/mml_content/statistics.rb +49 -0
  163. data/lib/sts/niso_sts/mml_content/trigonometry.rb +135 -0
  164. data/lib/sts/niso_sts/mml_content.rb +152 -0
  165. data/lib/sts/niso_sts/monospace.rb +22 -0
  166. data/lib/sts/niso_sts/month.rb +16 -0
  167. data/lib/sts/niso_sts/name.rb +25 -0
  168. data/lib/sts/niso_sts/name_alternatives.rb +15 -0
  169. data/lib/sts/{tbx_iso_tml → niso_sts}/named_content.rb +2 -5
  170. data/lib/sts/niso_sts/nat_meta.rb +44 -0
  171. data/lib/sts/niso_sts/nested_kwd.rb +19 -0
  172. data/lib/sts/niso_sts/nlm_citation.rb +103 -0
  173. data/lib/sts/niso_sts/non_normative_example.rb +4 -9
  174. data/lib/sts/niso_sts/non_normative_note.rb +4 -7
  175. data/lib/sts/niso_sts/normative_example.rb +27 -0
  176. data/lib/sts/niso_sts/normative_note.rb +29 -0
  177. data/lib/sts/niso_sts/note.rb +29 -0
  178. data/lib/sts/niso_sts/notes.rb +31 -0
  179. data/lib/sts/niso_sts/notes_group.rb +26 -0
  180. data/lib/sts/niso_sts/object_id.rb +1 -3
  181. data/lib/sts/niso_sts/on_behalf_of.rb +20 -0
  182. data/lib/sts/niso_sts/open_access.rb +16 -0
  183. data/lib/sts/niso_sts/originator.rb +16 -0
  184. data/lib/sts/niso_sts/overline.rb +22 -0
  185. data/lib/sts/niso_sts/page_count.rb +1 -3
  186. data/lib/sts/niso_sts/page_range.rb +20 -0
  187. data/lib/sts/niso_sts/paragraph.rb +17 -34
  188. data/lib/sts/niso_sts/part_number.rb +16 -0
  189. data/lib/sts/niso_sts/part_of_speech.rb +16 -0
  190. data/lib/sts/niso_sts/patent.rb +20 -0
  191. data/lib/sts/niso_sts/permissions.rb +1 -3
  192. data/lib/sts/niso_sts/person_group.rb +28 -0
  193. data/lib/sts/niso_sts/phone.rb +20 -0
  194. data/lib/sts/niso_sts/postal_code.rb +20 -0
  195. data/lib/sts/niso_sts/prefix.rb +20 -0
  196. data/lib/sts/niso_sts/preformat.rb +26 -0
  197. data/lib/sts/niso_sts/price.rb +16 -0
  198. data/lib/sts/niso_sts/principal_award_recipient.rb +16 -0
  199. data/lib/sts/niso_sts/principal_investigator.rb +16 -0
  200. data/lib/sts/niso_sts/private_char.rb +22 -0
  201. data/lib/sts/niso_sts/product.rb +20 -0
  202. data/lib/sts/niso_sts/proj_id.rb +16 -0
  203. data/lib/sts/niso_sts/pub_date.rb +29 -0
  204. data/lib/sts/niso_sts/pub_id.rb +19 -0
  205. data/lib/sts/niso_sts/publisher.rb +17 -0
  206. data/lib/sts/niso_sts/publisher_loc.rb +20 -0
  207. data/lib/sts/niso_sts/publisher_name.rb +20 -0
  208. data/lib/sts/niso_sts/rb.rb +22 -0
  209. data/lib/sts/niso_sts/ref_count.rb +14 -0
  210. data/lib/sts/niso_sts/reference.rb +10 -7
  211. data/lib/sts/niso_sts/reference_list.rb +3 -5
  212. data/lib/sts/niso_sts/reference_standard.rb +10 -15
  213. data/lib/sts/niso_sts/reg_meta.rb +44 -0
  214. data/lib/sts/niso_sts/related_article.rb +24 -0
  215. data/lib/sts/niso_sts/related_object.rb +22 -0
  216. data/lib/sts/niso_sts/related_term.rb +18 -0
  217. data/lib/sts/niso_sts/release_date.rb +19 -0
  218. data/lib/sts/niso_sts/release_version.rb +16 -0
  219. data/lib/sts/niso_sts/release_version_id.rb +16 -0
  220. data/lib/sts/niso_sts/role.rb +22 -0
  221. data/lib/sts/niso_sts/roman.rb +22 -0
  222. data/lib/sts/niso_sts/rp.rb +18 -0
  223. data/lib/sts/niso_sts/rt.rb +22 -0
  224. data/lib/sts/niso_sts/ruby.rb +23 -0
  225. data/lib/sts/niso_sts/sans_serif.rb +22 -0
  226. data/lib/sts/niso_sts/sc.rb +22 -0
  227. data/lib/sts/niso_sts/sdo.rb +16 -0
  228. data/lib/sts/niso_sts/season.rb +16 -0
  229. data/lib/sts/niso_sts/secretariat.rb +16 -0
  230. data/lib/sts/niso_sts/section.rb +16 -29
  231. data/lib/sts/niso_sts/section_array.rb +2 -6
  232. data/lib/sts/niso_sts/see.rb +26 -0
  233. data/lib/sts/niso_sts/see_also.rb +26 -0
  234. data/lib/sts/niso_sts/self_uri.rb +22 -0
  235. data/lib/sts/niso_sts/series.rb +22 -0
  236. data/lib/sts/niso_sts/series_text.rb +22 -0
  237. data/lib/sts/niso_sts/series_title.rb +22 -0
  238. data/lib/sts/niso_sts/sig.rb +18 -0
  239. data/lib/sts/niso_sts/sig_block.rb +22 -0
  240. data/lib/sts/niso_sts/size.rb +18 -0
  241. data/lib/sts/niso_sts/source.rb +20 -0
  242. data/lib/sts/niso_sts/speaker.rb +16 -0
  243. data/lib/sts/niso_sts/speech.rb +25 -0
  244. data/lib/sts/niso_sts/standard.rb +11 -15
  245. data/lib/sts/niso_sts/standard_identification.rb +3 -6
  246. data/lib/sts/niso_sts/standard_ref.rb +1 -3
  247. data/lib/sts/niso_sts/state.rb +20 -0
  248. data/lib/sts/niso_sts/statement.rb +29 -0
  249. data/lib/sts/niso_sts/std_cross_reference.rb +2 -4
  250. data/lib/sts/niso_sts/std_doc_meta.rb +44 -0
  251. data/lib/sts/niso_sts/std_id.rb +1 -3
  252. data/lib/sts/niso_sts/std_id_group.rb +2 -6
  253. data/lib/sts/niso_sts/std_org.rb +25 -0
  254. data/lib/sts/niso_sts/std_org_abbrev.rb +16 -0
  255. data/lib/sts/niso_sts/std_org_group.rb +15 -0
  256. data/lib/sts/niso_sts/std_org_loc.rb +16 -0
  257. data/lib/sts/niso_sts/std_org_name.rb +16 -0
  258. data/lib/sts/niso_sts/std_organization.rb +16 -0
  259. data/lib/sts/niso_sts/strike.rb +22 -0
  260. data/lib/sts/niso_sts/string_conf.rb +16 -0
  261. data/lib/sts/niso_sts/string_date.rb +16 -0
  262. data/lib/sts/niso_sts/string_name.rb +24 -0
  263. data/lib/sts/niso_sts/styled_content.rb +26 -0
  264. data/lib/sts/niso_sts/sub.rb +20 -0
  265. data/lib/sts/niso_sts/subj_group.rb +24 -0
  266. data/lib/sts/niso_sts/subject.rb +24 -0
  267. data/lib/sts/niso_sts/subtitle.rb +16 -0
  268. data/lib/sts/niso_sts/suffix.rb +20 -0
  269. data/lib/sts/niso_sts/sup.rb +20 -0
  270. data/lib/sts/niso_sts/suppl_number.rb +16 -0
  271. data/lib/sts/niso_sts/suppl_type.rb +16 -0
  272. data/lib/sts/niso_sts/suppl_version.rb +16 -0
  273. data/lib/sts/niso_sts/supplement.rb +24 -0
  274. data/lib/sts/niso_sts/supplementary_material.rb +46 -0
  275. data/lib/sts/niso_sts/surname.rb +20 -0
  276. data/lib/sts/niso_sts/table_count.rb +14 -0
  277. data/lib/sts/niso_sts/target.rb +24 -0
  278. data/lib/sts/niso_sts/term.rb +70 -0
  279. data/lib/sts/niso_sts/term_display.rb +4 -8
  280. data/lib/sts/niso_sts/term_head.rb +16 -0
  281. data/lib/sts/niso_sts/term_section.rb +6 -13
  282. data/lib/sts/niso_sts/term_source.rb +16 -0
  283. data/lib/sts/niso_sts/tex_math.rb +16 -0
  284. data/lib/sts/niso_sts/textual_form.rb +16 -0
  285. data/lib/sts/niso_sts/time_stamp.rb +20 -0
  286. data/lib/sts/niso_sts/title.rb +2 -6
  287. data/lib/sts/niso_sts/title_compl.rb +14 -0
  288. data/lib/sts/niso_sts/title_full.rb +18 -0
  289. data/lib/sts/niso_sts/title_wrap.rb +12 -17
  290. data/lib/sts/niso_sts/trans_abstract.rb +23 -0
  291. data/lib/sts/niso_sts/trans_source.rb +20 -0
  292. data/lib/sts/niso_sts/trans_title.rb +20 -0
  293. data/lib/sts/niso_sts/trans_title_group.rb +15 -0
  294. data/lib/sts/niso_sts/underline.rb +22 -0
  295. data/lib/sts/niso_sts/unstructured_kwd_group.rb +24 -0
  296. data/lib/sts/niso_sts/uri.rb +20 -0
  297. data/lib/sts/niso_sts/urn.rb +16 -0
  298. data/lib/sts/niso_sts/verse_group.rb +29 -0
  299. data/lib/sts/niso_sts/verse_line.rb +16 -0
  300. data/lib/sts/niso_sts/version.rb +16 -0
  301. data/lib/sts/niso_sts/volume.rb +20 -0
  302. data/lib/sts/niso_sts/volume_id.rb +22 -0
  303. data/lib/sts/niso_sts/volume_issue_group.rb +16 -0
  304. data/lib/sts/niso_sts/volume_series.rb +16 -0
  305. data/lib/sts/niso_sts/word_count.rb +14 -0
  306. data/lib/sts/niso_sts/xi/fallback.rb +18 -0
  307. data/lib/sts/niso_sts/xi/include.rb +27 -0
  308. data/lib/sts/niso_sts/xi/xi.rb +10 -0
  309. data/lib/sts/niso_sts/year.rb +16 -0
  310. data/lib/sts/niso_sts.rb +288 -18
  311. data/lib/sts/tbx_iso_tml/bold.rb +1 -3
  312. data/lib/sts/tbx_iso_tml/caption.rb +1 -3
  313. data/lib/sts/tbx_iso_tml/col.rb +1 -3
  314. data/lib/sts/tbx_iso_tml/cross_reference.rb +17 -0
  315. data/lib/sts/tbx_iso_tml/definition.rb +14 -22
  316. data/lib/sts/tbx_iso_tml/entailed_term.rb +6 -10
  317. data/lib/sts/tbx_iso_tml/example.rb +6 -10
  318. data/lib/sts/tbx_iso_tml/external_graphic.rb +2 -4
  319. data/lib/sts/tbx_iso_tml/external_source.rb +2 -4
  320. data/lib/sts/tbx_iso_tml/fn.rb +2 -4
  321. data/lib/sts/tbx_iso_tml/fn_group.rb +2 -6
  322. data/lib/sts/tbx_iso_tml/geographical_usage.rb +2 -4
  323. data/lib/sts/tbx_iso_tml/grammatical_gender.rb +2 -4
  324. data/lib/sts/tbx_iso_tml/grammatical_number.rb +2 -4
  325. data/lib/sts/tbx_iso_tml/italic.rb +2 -3
  326. data/lib/sts/tbx_iso_tml/lang_set.rb +16 -30
  327. data/lib/sts/tbx_iso_tml/math.rb +12 -25
  328. data/lib/sts/tbx_iso_tml/mfenced.rb +7 -13
  329. data/lib/sts/tbx_iso_tml/mfrac.rb +5 -8
  330. data/lib/sts/tbx_iso_tml/mi.rb +2 -3
  331. data/lib/sts/tbx_iso_tml/mrow.rb +10 -15
  332. data/lib/sts/tbx_iso_tml/mspace.rb +2 -4
  333. data/lib/sts/tbx_iso_tml/mstyle.rb +5 -5
  334. data/lib/sts/tbx_iso_tml/msub.rb +6 -11
  335. data/lib/sts/tbx_iso_tml/msup.rb +4 -9
  336. data/lib/sts/tbx_iso_tml/munder.rb +3 -7
  337. data/lib/sts/tbx_iso_tml/munderover.rb +4 -7
  338. data/lib/sts/tbx_iso_tml/normative_authorization.rb +2 -4
  339. data/lib/sts/tbx_iso_tml/note.rb +18 -30
  340. data/lib/sts/tbx_iso_tml/part_of_speech.rb +2 -4
  341. data/lib/sts/tbx_iso_tml/pronunciation.rb +16 -0
  342. data/lib/sts/tbx_iso_tml/see.rb +2 -4
  343. data/lib/sts/tbx_iso_tml/semantics.rb +5 -9
  344. data/lib/sts/tbx_iso_tml/source.rb +5 -7
  345. data/lib/sts/tbx_iso_tml/subject_field.rb +17 -0
  346. data/lib/sts/tbx_iso_tml/sup.rb +3 -6
  347. data/lib/sts/tbx_iso_tml/table.rb +4 -10
  348. data/lib/sts/tbx_iso_tml/table_break.rb +0 -2
  349. data/lib/sts/tbx_iso_tml/table_wrap.rb +4 -10
  350. data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +2 -6
  351. data/lib/sts/tbx_iso_tml/tbody.rb +2 -6
  352. data/lib/sts/tbx_iso_tml/td.rb +12 -23
  353. data/lib/sts/tbx_iso_tml/term.rb +13 -29
  354. data/lib/sts/tbx_iso_tml/term_entry.rb +5 -9
  355. data/lib/sts/tbx_iso_tml/term_information_group.rb +11 -20
  356. data/lib/sts/tbx_iso_tml/term_type.rb +2 -4
  357. data/lib/sts/tbx_iso_tml/th.rb +8 -16
  358. data/lib/sts/tbx_iso_tml/thead.rb +2 -6
  359. data/lib/sts/tbx_iso_tml/tr.rb +3 -8
  360. data/lib/sts/tbx_iso_tml/xref.rb +2 -3
  361. data/lib/sts/tbx_iso_tml.rb +52 -25
  362. data/lib/sts/version.rb +1 -1
  363. data/lib/sts.rb +5 -12
  364. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/NISO-STS-extended-1-mathml3-elements.xsd +11447 -0
  365. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/NISO-STS-extended-1-mathml3.xsd +97 -0
  366. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/module-oasis.xsd +227 -0
  367. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-common.xsd +101 -0
  368. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-content.xsd +683 -0
  369. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-presentation.xsd +2092 -0
  370. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-strict-content.xsd +186 -0
  371. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3.xsd +9 -0
  372. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-ali.xsd +46 -0
  373. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-tbx.xsd +494 -0
  374. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-xi.xsd +51 -0
  375. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/xlink.xsd +100 -0
  376. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/xml.xsd +287 -0
  377. data/sts.gemspec +1 -1
  378. metadata +274 -5
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Metrics/BlockLength
4
+ module Sts
5
+ module NisoSts
6
+ class NlmCitation < Lutaml::Model::Serializable
7
+ attribute :citation_type, :string
8
+ attribute :id, :string
9
+ attribute :publisher, ::Sts::NisoSts::Publisher
10
+ attribute :person_group, ::Sts::NisoSts::PersonGroup, collection: true
11
+ attribute :article_title, ::Sts::NisoSts::ArticleTitle
12
+ attribute :source, ::Sts::NisoSts::Source
13
+ attribute :trans_source, ::Sts::NisoSts::TransSource
14
+ attribute :chapter_title, ::Sts::NisoSts::ChapterTitle
15
+ attribute :data_title, ::Sts::NisoSts::DataTitle
16
+ attribute :trans_title, ::Sts::NisoSts::TransTitle
17
+ attribute :trans_title_group, ::Sts::NisoSts::TransTitleGroup
18
+ attribute :edition, ::Sts::NisoSts::Edition
19
+ attribute :volume, ::Sts::NisoSts::Volume
20
+ attribute :issue, ::Sts::NisoSts::Issue
21
+ attribute :pub_id, ::Sts::NisoSts::PubId, collection: true
22
+ attribute :isbn, ::Sts::NisoSts::Isbn
23
+ attribute :issn, ::Sts::NisoSts::Issn
24
+ attribute :issn_l, ::Sts::NisoSts::IssnL
25
+ attribute :fpage, ::Sts::NisoSts::Fpage
26
+ attribute :lpage, ::Sts::NisoSts::Lpage
27
+ attribute :page_range, ::Sts::NisoSts::PageRange
28
+ attribute :elocation_id, ::Sts::NisoSts::ElocationId
29
+ attribute :date, ::Sts::NisoSts::Date
30
+ attribute :date_in_citation, ::Sts::NisoSts::DateInCitation
31
+ attribute :access_date, ::Sts::NisoSts::AccessDate
32
+ attribute :time_stamp, ::Sts::NisoSts::TimeStamp
33
+ attribute :conf_name, ::Sts::NisoSts::ConfName
34
+ attribute :conf_date, ::Sts::NisoSts::ConfDate
35
+ attribute :conf_loc, ::Sts::NisoSts::ConfLoc
36
+ attribute :conference, ::Sts::NisoSts::Conference
37
+ attribute :size, ::Sts::NisoSts::Size
38
+ attribute :series, ::Sts::NisoSts::Series
39
+ attribute :series_title, ::Sts::NisoSts::SeriesTitle
40
+ attribute :series_text, ::Sts::NisoSts::SeriesText
41
+ attribute :comment, ::Sts::NisoSts::Comment
42
+ attribute :annotation, ::Sts::NisoSts::Annotation
43
+ attribute :patent, ::Sts::NisoSts::Patent
44
+ attribute :gov, ::Sts::NisoSts::Gov
45
+ attribute :aff, ::Sts::NisoSts::Aff, collection: true
46
+ attribute :aff_alternatives, ::Sts::NisoSts::AffAlternatives
47
+ attribute :collab, ::Sts::NisoSts::Collab, collection: true
48
+ attribute :etal, ::Sts::NisoSts::Etal
49
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
50
+
51
+ xml do
52
+ element "nlm-citation"
53
+ mixed_content
54
+
55
+ map_attribute "citation-type", to: :citation_type
56
+ map_attribute "id", to: :id
57
+
58
+ map_element "publisher", to: :publisher
59
+ map_element "person-group", to: :person_group
60
+ map_element "article-title", to: :article_title
61
+ map_element "source", to: :source
62
+ map_element "trans-source", to: :trans_source
63
+ map_element "chapter-title", to: :chapter_title
64
+ map_element "data-title", to: :data_title
65
+ map_element "trans-title", to: :trans_title
66
+ map_element "trans-title-group", to: :trans_title_group
67
+ map_element "edition", to: :edition
68
+ map_element "volume", to: :volume
69
+ map_element "issue", to: :issue
70
+ map_element "pub-id", to: :pub_id
71
+ map_element "isbn", to: :isbn
72
+ map_element "issn", to: :issn
73
+ map_element "issn-l", to: :issn_l
74
+ map_element "fpage", to: :fpage
75
+ map_element "lpage", to: :lpage
76
+ map_element "page-range", to: :page_range
77
+ map_element "elocation-id", to: :elocation_id
78
+ map_element "date", to: :date
79
+ map_element "date-in-citation", to: :date_in_citation
80
+ map_element "access-date", to: :access_date
81
+ map_element "time-stamp", to: :time_stamp
82
+ map_element "conf-name", to: :conf_name
83
+ map_element "conf-date", to: :conf_date
84
+ map_element "conf-loc", to: :conf_loc
85
+ map_element "conference", to: :conference
86
+ map_element "size", to: :size
87
+ map_element "series", to: :series
88
+ map_element "series-title", to: :series_title
89
+ map_element "series-text", to: :series_text
90
+ map_element "comment", to: :comment
91
+ map_element "annotation", to: :annotation
92
+ map_element "patent", to: :patent
93
+ map_element "gov", to: :gov
94
+ map_element "aff", to: :aff
95
+ map_element "aff-alternatives", to: :aff_alternatives
96
+ map_element "collab", to: :collab
97
+ map_element "etal", to: :etal
98
+ map_element "ext-link", to: :ext_link
99
+ end
100
+ end
101
+ end
102
+ end
103
+ # rubocop:enable Metrics/BlockLength
@@ -1,20 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
- require_relative "paragraph"
6
-
7
3
  module Sts
8
4
  module NisoSts
9
- class Paragraph < Lutaml::Model::Serializable; end
10
-
11
5
  class NonNormativeExample < Lutaml::Model::Serializable
12
6
  attribute :id, :string
13
- attribute :p, Paragraph
14
- attribute :label, Label
7
+ attribute :p, ::Sts::NisoSts::Paragraph
8
+ attribute :label, ::Sts::NisoSts::Label
15
9
 
16
10
  xml do
17
- root "non-normative-example", mixed: true
11
+ element "non-normative-example"
12
+ mixed_content
18
13
 
19
14
  map_attribute "id", to: :id
20
15
  map_element "p", to: :p
@@ -1,19 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
- require_relative "paragraph"
6
-
7
3
  module Sts
8
4
  module NisoSts
9
5
  class NonNormativeNote < Lutaml::Model::Serializable
10
6
  attribute :id, :string
11
7
  attribute :content_type, :string
12
- attribute :p, Paragraph
13
- attribute :label, Label
8
+ attribute :p, ::Sts::NisoSts::Paragraph
9
+ attribute :label, ::Sts::NisoSts::Label
14
10
 
15
11
  xml do
16
- root "non-normative-note", mixed: true
12
+ element "non-normative-note"
13
+ mixed_content
17
14
 
18
15
  map_attribute "content-type", to: :content_type
19
16
  map_attribute "id", to: :id
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class NormativeExample < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :xml_lang, :string
8
+ attribute :specific_use, :string
9
+ attribute :symbol, :string
10
+ attribute :p, ::Sts::NisoSts::Paragraph
11
+ attribute :label, ::Sts::NisoSts::Label
12
+
13
+ xml do
14
+ element "normative-example"
15
+ mixed_content
16
+
17
+ map_attribute "id", to: :id
18
+ map_attribute "xml:lang", to: :xml_lang
19
+ map_attribute "specific-use", to: :specific_use
20
+ map_attribute "symbol", to: :symbol
21
+
22
+ map_element "p", to: :p
23
+ map_element "label", to: :label
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class NormativeNote < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :xml_lang, :string
9
+ attribute :specific_use, :string
10
+ attribute :symbol, :string
11
+ attribute :p, ::Sts::NisoSts::Paragraph
12
+ attribute :label, ::Sts::NisoSts::Label
13
+
14
+ xml do
15
+ element "normative-note"
16
+ mixed_content
17
+
18
+ map_attribute "id", to: :id
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "xml:lang", to: :xml_lang
21
+ map_attribute "specific-use", to: :specific_use
22
+ map_attribute "symbol", to: :symbol
23
+
24
+ map_element "p", to: :p
25
+ map_element "label", to: :label
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Note < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :xml_lang, :string
9
+ attribute :specific_use, :string
10
+ attribute :symbol, :string
11
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
12
+ attribute :label, ::Sts::NisoSts::Label
13
+
14
+ xml do
15
+ element "note"
16
+ mixed_content
17
+
18
+ map_attribute "id", to: :id
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "xml:lang", to: :xml_lang
21
+ map_attribute "specific-use", to: :specific_use
22
+ map_attribute "symbol", to: :symbol
23
+
24
+ map_element "p", to: :p
25
+ map_element "label", to: :label
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Notes < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :notes_type, :string
8
+ attribute :xml_lang, :string
9
+ attribute :specific_use, :string
10
+ attribute :label, ::Sts::NisoSts::Label
11
+ attribute :title, ::Sts::NisoSts::Title
12
+ attribute :note, ::Sts::NisoSts::NonNormativeNote, collection: true
13
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
14
+
15
+ xml do
16
+ element "notes"
17
+ mixed_content
18
+
19
+ map_attribute "id", to: :id
20
+ map_attribute "notes-type", to: :notes_type
21
+ map_attribute "xml:lang", to: :xml_lang
22
+ map_attribute "specific-use", to: :specific_use
23
+
24
+ map_element "label", to: :label
25
+ map_element "title", to: :title
26
+ map_element "note", to: :note
27
+ map_element "p", to: :p
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class NotesGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :label, ::Sts::NisoSts::Label
10
+ attribute :title, ::Sts::NisoSts::Title
11
+ attribute :notes, ::Sts::NisoSts::Notes, collection: true
12
+
13
+ xml do
14
+ element "notes-group"
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "specific-use", to: :specific_use
19
+
20
+ map_element "label", to: :label
21
+ map_element "title", to: :title
22
+ map_element "notes", to: :notes
23
+ end
24
+ end
25
+ end
26
+ end
@@ -4,8 +4,6 @@
4
4
  # <object-id pub-id-type="publisher-id">fig-1</object-id>
5
5
  # rubocop:enable Layout/LineLength
6
6
 
7
- require "lutaml/model"
8
-
9
7
  module Sts
10
8
  module NisoSts
11
9
  class ObjectId < Lutaml::Model::Serializable
@@ -13,7 +11,7 @@ module Sts
13
11
  attribute :content, :string
14
12
 
15
13
  xml do
16
- root "object-id"
14
+ element "object-id"
17
15
 
18
16
  map_attribute "pub-id-type", to: :pub_id_type
19
17
  map_content to: :content
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class OnBehalfOf < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+
10
+ xml do
11
+ element "on-behalf-of"
12
+ mixed_content
13
+
14
+ map_content to: :content
15
+ map_element "bold", to: :bold
16
+ map_element "italic", to: :italic
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class OpenAccess < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "open-access"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Originator < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "originator"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Overline < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :specific_use, :string
8
+ attribute :toggle, :string
9
+ attribute :content, :string
10
+
11
+ xml do
12
+ element "overline"
13
+ mixed_content
14
+
15
+ map_attribute "id", to: :id
16
+ map_attribute "specific-use", to: :specific_use
17
+ map_attribute "toggle", to: :toggle
18
+ map_content to: :content
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,14 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class PageCount < Lutaml::Model::Serializable
8
6
  attribute :count, :integer
9
7
 
10
8
  xml do
11
- root "page-count"
9
+ element "page-count"
12
10
  map_attribute "count", to: :count
13
11
  end
14
12
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class PageRange < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+
10
+ xml do
11
+ element "page-range"
12
+ mixed_content
13
+
14
+ map_content to: :content
15
+ map_element "bold", to: :bold
16
+ map_element "italic", to: :italic
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,42 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
- require_relative "list"
6
- require_relative "inline_formula"
7
- require_relative "display_formula"
8
- require_relative "def_list"
9
- require_relative "non_normative_note"
10
- require_relative "non_normative_example"
11
- require_relative "reference_standard"
12
- require_relative "ext_link"
13
- require_relative "../tbx_iso_tml/entailed_term"
14
- require_relative "../tbx_iso_tml/xref"
15
-
16
3
  module Sts
17
4
  module NisoSts
18
- class NonNormativeNote < Lutaml::Model::Serializable; end
19
- class ReferenceStandard < Lutaml::Model::Serializable; end
20
-
21
5
  class Paragraph < Lutaml::Model::Serializable
22
6
  attribute :id, :string
23
7
  attribute :text, :string
24
- attribute :italic, :string, collection: true
25
- attribute :bold, :string, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
26
10
  attribute :uri, :string
27
- attribute :list, Sts::NisoSts::List
28
- attribute :def_list, DefList
29
- attribute :non_normative_note, NonNormativeNote
30
- attribute :non_normative_example, NonNormativeExample
31
- attribute :inline_formula, Sts::NisoSts::InlineFormula, collection: true
32
- attribute :disp_formula, Sts::NisoSts::DisplayFormula, collection: true
33
- attribute :xref, TbxIsoTml::Xref, collection: true
34
- attribute :std, ReferenceStandard, collection: true
35
- attribute :ext_link, ExtLink
36
- attribute :entailed_term, Sts::TbxIsoTml::EntailedTerm
11
+ attribute :list, ::Sts::NisoSts::List
12
+ attribute :def_list, ::Sts::NisoSts::DefList
13
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote
14
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample
15
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
16
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula, collection: true
17
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
18
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
19
+ attribute :ext_link, ::Sts::NisoSts::ExtLink
20
+ attribute :entailed_term, ::Sts::TbxIsoTml::EntailedTerm
37
21
 
38
22
  xml do
39
- root "p", mixed: true
23
+ element "p"
24
+ mixed_content
40
25
 
41
26
  map_attribute "id", to: :id
42
27
  map_content to: :text
@@ -49,12 +34,10 @@ module Sts
49
34
  map_element "inline-formula", to: :inline_formula
50
35
  map_element "disp-formula", to: :disp_formula
51
36
  map_element "ext-link", to: :ext_link
52
- map_element "entailedTerm", to: :entailed_term,
53
- namespace: "urn:iso:std:iso:30042:ed-1",
54
- prefix: "tbx"
37
+ map_element "entailedTerm", to: :entailed_term
55
38
  map_element "uri", to: :uri
56
- map_element "std", to: :std, namespace: nil, prefix: nil
57
- map_element "xref", to: :xref, namespace: nil, prefix: nil
39
+ map_element "std", to: :std
40
+ map_element "xref", to: :xref
58
41
  end
59
42
  end
60
43
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class PartNumber < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "part-number"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class PartOfSpeech < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "part-of-speech"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Patent < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+
10
+ xml do
11
+ element "patent"
12
+ mixed_content
13
+
14
+ map_content to: :content
15
+ map_element "bold", to: :bold
16
+ map_element "italic", to: :italic
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class Permissions < Lutaml::Model::Serializable
@@ -10,7 +8,7 @@ module Sts
10
8
  attribute :copyright_holder, :string
11
9
 
12
10
  xml do
13
- root "permissions"
11
+ element "permissions"
14
12
  map_element "copyright-statement", to: :copyright_statement
15
13
  map_element "copyright-year", to: :copyright_year
16
14
  map_element "copyright-holder", to: :copyright_holder
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class PersonGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :person_group_type, :string
8
+ attribute :name, ::Sts::NisoSts::Name, collection: true
9
+ attribute :collab, ::Sts::NisoSts::Collab, collection: true
10
+ attribute :string_name, ::Sts::NisoSts::StringName, collection: true
11
+ attribute :etal, ::Sts::NisoSts::Etal
12
+ attribute :aff, ::Sts::NisoSts::Aff, collection: true
13
+
14
+ xml do
15
+ element "person-group"
16
+
17
+ map_attribute "id", to: :id
18
+ map_attribute "person-group-type", to: :person_group_type
19
+
20
+ map_element "name", to: :name
21
+ map_element "collab", to: :collab
22
+ map_element "string-name", to: :string_name
23
+ map_element "etal", to: :etal
24
+ map_element "aff", to: :aff
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Phone < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+
10
+ xml do
11
+ element "phone"
12
+ mixed_content
13
+
14
+ map_content to: :content
15
+ map_element "bold", to: :bold
16
+ map_element "italic", to: :italic
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class PostalCode < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+
10
+ xml do
11
+ element "postal-code"
12
+ mixed_content
13
+
14
+ map_content to: :content
15
+ map_element "bold", to: :bold
16
+ map_element "italic", to: :italic
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Prefix < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
+
10
+ xml do
11
+ element "prefix"
12
+ mixed_content
13
+
14
+ map_content to: :content
15
+ map_element "bold", to: :bold
16
+ map_element "italic", to: :italic
17
+ end
18
+ end
19
+ end
20
+ end