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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4c33b0d9e555f39d6325c27b46bc0557bd21699c1c050f1f5aa7eaa322082df
4
- data.tar.gz: 4427f44d8745804697c0d2a9a4f78f08c0552caa69079b88b50834a8645490bd
3
+ metadata.gz: 8daa9a90d46149ee4e37d9a02d9cd2e7869ec0633114f051d8c688a602087c7c
4
+ data.tar.gz: e81526b69471ebcd674384b029e7a7cf182b845223da5fdee1a5d2c033c15e71
5
5
  SHA512:
6
- metadata.gz: c450defe1889541f576c21ba203d09b872722583ef1f9843f5b9afea44d9b970ccd8a0deb99627c6f186643d188c1e77379dc62f6b634a3096d7c199a4e56c4d
7
- data.tar.gz: 152d2ec43794d41885c5f8172f29b6cebf6039384808555c8b157349b1337df9e4e0b4c2a18a472dbab04d3dd8fe7fcdbfe81cd4f4981932765784f7f5232fab
6
+ metadata.gz: 51a330986040cfb8708a1014d6781b2f55ec10662c6ff4f14c6695a9f5b7708ce3b5ce1dc0fd6bae7f757dd3b79880b5914dc46cd5510c70fba0527cdfb601e3
7
+ data.tar.gz: 40d77a758442401b7b824b27f958dcd39ca77e095778a4400c90632ce036bbffa7d011e80e91f40df5739c5f85b260600a957f76f8d48f32b82d9b50224adb07
@@ -2,12 +2,18 @@
2
2
  # See https://github.com/metanorma/cimas
3
3
  name: release
4
4
 
5
+ permissions:
6
+ contents: write
7
+ packages: write
8
+ id-token: write
9
+
5
10
  on:
6
11
  workflow_dispatch:
7
12
  inputs:
8
13
  next_version:
9
14
  description: |
10
- Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
15
+ Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
16
+ Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
11
17
  required: true
12
18
  default: 'skip'
13
19
  repository_dispatch:
data/.gitignore CHANGED
@@ -9,3 +9,5 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ Gemfile.lock
data/.rubocop_todo.yml CHANGED
@@ -1,42 +1,20 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2025-03-19 17:00:15 UTC using RuboCop version 1.74.0.
3
+ # on 2026-04-03 22:12:14 UTC using RuboCop version 1.86.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 6
9
+ # Offense count: 8
10
10
  # This cop supports safe autocorrection (--autocorrect).
11
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
12
- # SupportedHashRocketStyles: key, separator, table
13
- # SupportedColonStyles: key, separator, table
14
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
15
- Layout/HashAlignment:
16
- Exclude:
17
- - 'lib/sts/niso_sts/metadata_iso.rb'
18
- - 'lib/sts/niso_sts/metadata_std.rb'
19
- - 'lib/sts/niso_sts/standard_identification.rb'
20
- - 'lib/sts/tbx_iso_tml/mfenced.rb'
21
-
22
- # Offense count: 7
23
- # This cop supports safe autocorrection (--autocorrect).
24
- # Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
11
+ # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
25
12
  # URISchemes: http, https
26
13
  Layout/LineLength:
27
14
  Exclude:
28
- - 'lib/sts/niso_sts/metadata_iso.rb'
29
- - 'lib/sts/niso_sts/metadata_std.rb'
30
- - 'lib/sts/niso_sts/standard_identification.rb'
31
- - 'lib/sts/tbx_iso_tml/mfenced.rb'
15
+ - 'lib/sts/niso_sts/mml_content/containers.rb'
16
+ - 'lib/sts/niso_sts/mml_content/linear_algebra.rb'
17
+ - 'lib/sts/niso_sts/term.rb'
18
+ - 'lib/sts/tbx_iso_tml/lang_set.rb'
32
19
  - 'lib/sts/tbx_iso_tml/term_type.rb'
33
-
34
- # Offense count: 6
35
- # This cop supports safe autocorrection (--autocorrect).
36
- # Configuration parameters: AllowInHeredoc.
37
- Layout/TrailingWhitespace:
38
- Exclude:
39
- - 'lib/sts/niso_sts/metadata_iso.rb'
40
- - 'lib/sts/niso_sts/metadata_std.rb'
41
- - 'lib/sts/niso_sts/standard_identification.rb'
42
- - 'lib/sts/tbx_iso_tml/mfenced.rb'
20
+ - 'spec/spec_helper.rb'
data/Gemfile CHANGED
@@ -5,10 +5,12 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in sts.gemspec
6
6
  gemspec
7
7
 
8
- gem "equivalent-xml"
8
+ gem "canon"
9
+ gem "lutaml-model", github: "lutaml/lutaml-model", branch: "main"
9
10
  gem "pry"
10
11
  gem "rake"
11
12
  gem "rspec"
12
13
  gem "rubocop"
13
14
  gem "rubocop-performance"
14
- gem "xml-c14n"
15
+ gem "rubocop-rake"
16
+ gem "rubocop-rspec"
@@ -0,0 +1,13 @@
1
+ module Sts
2
+ module Namespaces
3
+ class MathmlNamespace < Lutaml::Xml::Namespace
4
+ uri "http://www.w3.org/1998/Math/MathML"
5
+ prefix_default "mml"
6
+ end
7
+
8
+ class TbxNamespace < Lutaml::Xml::Namespace
9
+ uri "urn:iso:std:iso:30042:ed-1"
10
+ prefix_default "tbx"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Abstract < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :abstract_type, :string
8
+ attribute :lang, Lutaml::Xml::W3c::XmlLangType
9
+ attribute :title, :string
10
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
11
+
12
+ xml do
13
+ element "abstract"
14
+
15
+ map_attribute "id", to: :id
16
+ map_attribute "abstract-type", to: :abstract_type
17
+ map_attribute "xml:lang", to: :lang
18
+ map_element "title", to: :title
19
+ map_element "p", to: :p
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class AccessDate < 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 "access-date"
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 AccreditingOrganization < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "accrediting-organization"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Ack < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :xml_lang, :string
8
+ attribute :specific_use, :string
9
+ attribute :title, ::Sts::NisoSts::Title
10
+ attribute :paragraphs, ::Sts::NisoSts::Paragraph, collection: true
11
+ attribute :sec, ::Sts::NisoSts::Section, collection: true
12
+
13
+ xml do
14
+ element "ack"
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
+
21
+ map_element "title", to: :title
22
+ map_element "p", to: :paragraphs
23
+ map_element "sec", to: :sec
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class AddrLine < 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 "addr-line"
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,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Address < Lutaml::Model::Serializable
6
+ attribute :addr_line, ::Sts::NisoSts::AddrLine, collection: true
7
+ attribute :city, ::Sts::NisoSts::City
8
+ attribute :state, ::Sts::NisoSts::State
9
+ attribute :country, ::Sts::NisoSts::Country
10
+ attribute :postal_code, ::Sts::NisoSts::PostalCode
11
+ attribute :phone, ::Sts::NisoSts::Phone, collection: true
12
+ attribute :fax, ::Sts::NisoSts::Fax, collection: true
13
+ attribute :email, ::Sts::NisoSts::Email, collection: true
14
+
15
+ xml do
16
+ element "address"
17
+
18
+ map_element "addr-line", to: :addr_line
19
+ map_element "city", to: :city
20
+ map_element "state", to: :state
21
+ map_element "country", to: :country
22
+ map_element "postal-code", to: :postal_code
23
+ map_element "phone", to: :phone
24
+ map_element "fax", to: :fax
25
+ map_element "email", to: :email
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,25 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "standard"
4
- require_relative "adoption_front"
5
-
6
3
  module Sts
7
4
  module NisoSts
8
5
  class Adoption < Lutaml::Model::Serializable
9
- attribute :front, AdoptionFront
10
- attribute :back, Back
6
+ attribute :front, ::Sts::NisoSts::AdoptionFront
7
+ attribute :back, ::Sts::NisoSts::Back
11
8
  attribute :id, :string
12
- attribute :lang, :string
13
- attribute :adoptions, Adoption, collection: true
14
- attribute :standard, Standard
9
+ attribute :lang, Lutaml::Xml::W3c::XmlLangType
10
+ attribute :adoptions, ::Sts::NisoSts::Adoption, collection: true
11
+ attribute :standard, ::Sts::NisoSts::Standard
15
12
 
16
13
  xml do
17
- root "adoption", mixed: true
14
+ element "adoption"
15
+ mixed_content
18
16
 
19
17
  map_attribute "id", to: :id
20
- map_attribute "lang", to: :lang,
21
- namespace: "http://www.w3.org/XML/1998/namespace",
22
- prefix: "xml"
18
+ map_attribute "lang", to: :lang
23
19
  map_element "adoption-front", to: :front
24
20
  map_element "back", to: :back
25
21
  map_element "adoption", to: :adoptions
@@ -1,12 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "front"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class AdoptionFront < Front
8
6
  xml do
9
- root "adoption-front"
7
+ element "adoption-front"
10
8
  map_element "iso-meta", to: :iso_meta
11
9
  map_element "std-meta", to: :std_meta
12
10
  map_element "sec", to: :sec
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Aff < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content, :string
8
+ attribute :content_type, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
12
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
13
+ attribute :institution_wrap, ::Sts::NisoSts::InstitutionWrap
14
+ attribute :institution, ::Sts::NisoSts::Institution, collection: true
15
+ attribute :addr_line, ::Sts::NisoSts::AddrLine
16
+ attribute :city, ::Sts::NisoSts::City
17
+ attribute :state, ::Sts::NisoSts::State
18
+ attribute :country, ::Sts::NisoSts::Country
19
+ attribute :postal_code, ::Sts::NisoSts::PostalCode
20
+ attribute :phone, ::Sts::NisoSts::Phone
21
+ attribute :fax, ::Sts::NisoSts::Fax
22
+ attribute :email, ::Sts::NisoSts::Email
23
+ attribute :ext_link, ::Sts::NisoSts::ExtLink
24
+
25
+ xml do
26
+ element "aff"
27
+ mixed_content
28
+
29
+ map_attribute "id", to: :id
30
+ map_attribute "content-type", to: :content_type
31
+ map_attribute "specific-use", to: :specific_use
32
+ map_attribute "xml:lang", to: :xml_lang
33
+
34
+ map_content to: :content
35
+ map_element "bold", to: :bold
36
+ map_element "italic", to: :italic
37
+ map_element "institution-wrap", to: :institution_wrap
38
+ map_element "institution", to: :institution
39
+ map_element "addr-line", to: :addr_line
40
+ map_element "city", to: :city
41
+ map_element "state", to: :state
42
+ map_element "country", to: :country
43
+ map_element "postal-code", to: :postal_code
44
+ map_element "phone", to: :phone
45
+ map_element "fax", to: :fax
46
+ map_element "email", to: :email
47
+ map_element "ext-link", to: :ext_link
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class AffAlternatives < Lutaml::Model::Serializable
6
+ attribute :aff, ::Sts::NisoSts::Aff, collection: true
7
+
8
+ xml do
9
+ element "aff-alternatives"
10
+
11
+ map_element "aff", to: :aff
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ module Ali
6
+ autoload :FreeToRead, "#{__dir__}/free_to_read"
7
+ autoload :LicenseRef, "#{__dir__}/license_ref"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ module Ali
6
+ class FreeToRead < Lutaml::Model::Serializable
7
+ attribute :content_type, :string
8
+ attribute :end_date, :string
9
+ attribute :id, :string
10
+ attribute :specific_use, :string
11
+ attribute :start_date, :string
12
+
13
+ xml do
14
+ element "ali:free_to_read"
15
+
16
+ map_attribute "content-type", to: :content_type
17
+ map_attribute "end_date", to: :end_date
18
+ map_attribute "id", to: :id
19
+ map_attribute "specific-use", to: :specific_use
20
+ map_attribute "start_date", to: :start_date
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ module Ali
6
+ class LicenseRef < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :content_type, :string
9
+ attribute :id, :string
10
+ attribute :specific_use, :string
11
+ attribute :start_date, :string
12
+
13
+ xml do
14
+ element "ali:license_ref"
15
+ mixed_content
16
+
17
+ map_content to: :content
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "id", to: :id
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "start_date", to: :start_date
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class AltText < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "alt-text"
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 AltTitle < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "alt-title"
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 Alternatives < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "alternatives"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Annotation < 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 :content, :string
12
+
13
+ xml do
14
+ element "annotation"
15
+ mixed_content
16
+
17
+ map_attribute "id", to: :id
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "xml:lang", to: :xml_lang
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "symbol", to: :symbol
22
+ map_content to: :content
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Anonymous < Lutaml::Model::Serializable
6
+ xml do
7
+ element "anonymous"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,35 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
- require_relative "section"
6
- require_relative "title"
7
- require_relative "paragraph"
8
- require_relative "non_normative_note"
9
- require_relative "figure"
10
- require_relative "reference_list"
11
- require_relative "../tbx_iso_tml/table_wrap"
12
-
13
3
  module Sts
14
4
  module NisoSts
15
- class Title < Lutaml::Model::Serializable; end
16
- class ReferenceList < Lutaml::Model::Serializable; end
17
-
18
5
  class App < Lutaml::Model::Serializable
19
6
  attribute :id, :string
20
7
  attribute :content_type, :string
21
- attribute :label, Label
8
+ attribute :label, ::Sts::NisoSts::Label
22
9
  attribute :annex_type, :string
23
- attribute :title, Title
24
- attribute :fig, Figure, collection: true
25
- attribute :sec, Section, collection: true
26
- attribute :paragraph, Paragraph, collection: true
27
- attribute :ref_list, ReferenceList, collection: true
28
- attribute :non_normative_note, NonNormativeNote, collection: true
29
- attribute :table_wrap, Sts::TbxIsoTml::TableWrap, collection: true
10
+ attribute :title, ::Sts::NisoSts::Title
11
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
12
+ attribute :sec, ::Sts::NisoSts::Section, collection: true
13
+ attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
14
+ attribute :ref_list, ::Sts::NisoSts::ReferenceList, collection: true
15
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
16
+ collection: true
17
+ attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
30
18
 
31
19
  xml do
32
- root "app", mixed: true
20
+ element "app"
21
+ mixed_content
33
22
 
34
23
  map_attribute "id", to: :id
35
24
  map_attribute "content-type", to: :content_type
@@ -1,16 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
- require_relative "app"
6
-
7
3
  module Sts
8
4
  module NisoSts
9
5
  class AppGroup < Lutaml::Model::Serializable
10
6
  attribute :app, Sts::NisoSts::App, collection: true
11
7
 
12
8
  xml do
13
- root "app-group"
9
+ element "app-group"
14
10
 
15
11
  map_element "app", to: :app
16
12
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class ArticleTitle < 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 "article-title"
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 Attrib < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "attrib"
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 Attribution < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "attribution"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end