sts 0.4.0 → 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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +4 -8
  3. data/lib/sts/niso_sts/abstract.rb +23 -0
  4. data/lib/sts/niso_sts/access_date.rb +20 -0
  5. data/lib/sts/niso_sts/accrediting_organization.rb +16 -0
  6. data/lib/sts/niso_sts/ack.rb +27 -0
  7. data/lib/sts/niso_sts/addr_line.rb +20 -0
  8. data/lib/sts/niso_sts/address.rb +29 -0
  9. data/lib/sts/niso_sts/aff.rb +51 -0
  10. data/lib/sts/niso_sts/aff_alternatives.rb +15 -0
  11. data/lib/sts/niso_sts/ali/ali.rb +10 -0
  12. data/lib/sts/niso_sts/ali/free_to_read.rb +25 -0
  13. data/lib/sts/niso_sts/ali/license_ref.rb +26 -0
  14. data/lib/sts/niso_sts/alt_text.rb +16 -0
  15. data/lib/sts/niso_sts/alt_title.rb +16 -0
  16. data/lib/sts/niso_sts/alternatives.rb +16 -0
  17. data/lib/sts/niso_sts/annotation.rb +26 -0
  18. data/lib/sts/niso_sts/anonymous.rb +11 -0
  19. data/lib/sts/niso_sts/article_title.rb +20 -0
  20. data/lib/sts/niso_sts/attrib.rb +16 -0
  21. data/lib/sts/niso_sts/attribution.rb +16 -0
  22. data/lib/sts/niso_sts/author_comment.rb +24 -0
  23. data/lib/sts/niso_sts/author_notes.rb +31 -0
  24. data/lib/sts/niso_sts/authorization.rb +16 -0
  25. data/lib/sts/niso_sts/award_group.rb +26 -0
  26. data/lib/sts/niso_sts/award_id.rb +20 -0
  27. data/lib/sts/niso_sts/bio.rb +24 -0
  28. data/lib/sts/niso_sts/boxed_text.rb +31 -0
  29. data/lib/sts/niso_sts/chapter_title.rb +20 -0
  30. data/lib/sts/niso_sts/chem_struct.rb +16 -0
  31. data/lib/sts/niso_sts/chem_struct_wrap.rb +32 -0
  32. data/lib/sts/niso_sts/citation_alternatives.rb +19 -0
  33. data/lib/sts/niso_sts/city.rb +20 -0
  34. data/lib/sts/niso_sts/collab.rb +28 -0
  35. data/lib/sts/niso_sts/collab_alternatives.rb +15 -0
  36. data/lib/sts/niso_sts/comm_ref_group.rb +15 -0
  37. data/lib/sts/niso_sts/comment.rb +16 -0
  38. data/lib/sts/niso_sts/compound_kwd.rb +25 -0
  39. data/lib/sts/niso_sts/compound_kwd_part.rb +24 -0
  40. data/lib/sts/niso_sts/conf_acronym.rb +16 -0
  41. data/lib/sts/niso_sts/conf_date.rb +20 -0
  42. data/lib/sts/niso_sts/conf_loc.rb +16 -0
  43. data/lib/sts/niso_sts/conf_name.rb +16 -0
  44. data/lib/sts/niso_sts/conf_num.rb +16 -0
  45. data/lib/sts/niso_sts/conf_sponsor.rb +16 -0
  46. data/lib/sts/niso_sts/conf_theme.rb +16 -0
  47. data/lib/sts/niso_sts/conference.rb +29 -0
  48. data/lib/sts/niso_sts/content_language.rb +20 -0
  49. data/lib/sts/niso_sts/contrib.rb +58 -0
  50. data/lib/sts/niso_sts/contrib_group.rb +22 -0
  51. data/lib/sts/niso_sts/contrib_id.rb +20 -0
  52. data/lib/sts/niso_sts/copyright_holder.rb +16 -0
  53. data/lib/sts/niso_sts/copyright_statement.rb +16 -0
  54. data/lib/sts/niso_sts/copyright_year.rb +16 -0
  55. data/lib/sts/niso_sts/corresp.rb +20 -0
  56. data/lib/sts/niso_sts/country.rb +20 -0
  57. data/lib/sts/niso_sts/counts.rb +25 -0
  58. data/lib/sts/niso_sts/data_title.rb +20 -0
  59. data/lib/sts/niso_sts/date.rb +25 -0
  60. data/lib/sts/niso_sts/date_in_citation.rb +25 -0
  61. data/lib/sts/niso_sts/day.rb +16 -0
  62. data/lib/sts/niso_sts/degrees.rb +20 -0
  63. data/lib/sts/niso_sts/disp_formula_group.rb +26 -0
  64. data/lib/sts/niso_sts/disp_quote.rb +27 -0
  65. data/lib/sts/niso_sts/doc_number.rb +16 -0
  66. data/lib/sts/niso_sts/doc_type.rb +16 -0
  67. data/lib/sts/niso_sts/editing_instruction.rb +24 -0
  68. data/lib/sts/niso_sts/edition.rb +16 -0
  69. data/lib/sts/niso_sts/element_citation.rb +103 -0
  70. data/lib/sts/niso_sts/elocation_id.rb +17 -0
  71. data/lib/sts/niso_sts/email.rb +20 -0
  72. data/lib/sts/niso_sts/equation_count.rb +14 -0
  73. data/lib/sts/niso_sts/era.rb +16 -0
  74. data/lib/sts/niso_sts/etal.rb +22 -0
  75. data/lib/sts/niso_sts/fax.rb +20 -0
  76. data/lib/sts/niso_sts/fig_count.rb +14 -0
  77. data/lib/sts/niso_sts/fig_group.rb +30 -0
  78. data/lib/sts/niso_sts/floats_group.rb +16 -0
  79. data/lib/sts/niso_sts/fpage.rb +20 -0
  80. data/lib/sts/niso_sts/funding_group.rb +22 -0
  81. data/lib/sts/niso_sts/funding_source.rb +26 -0
  82. data/lib/sts/niso_sts/funding_statement.rb +20 -0
  83. data/lib/sts/niso_sts/given_names.rb +20 -0
  84. data/lib/sts/niso_sts/glossary.rb +33 -0
  85. data/lib/sts/niso_sts/gov.rb +20 -0
  86. data/lib/sts/niso_sts/history.rb +18 -0
  87. data/lib/sts/niso_sts/hr.rb +11 -0
  88. data/lib/sts/niso_sts/ics.rb +15 -0
  89. data/lib/sts/niso_sts/ics_desc.rb +16 -0
  90. data/lib/sts/niso_sts/ics_wrap.rb +15 -0
  91. data/lib/sts/niso_sts/index_term.rb +32 -0
  92. data/lib/sts/niso_sts/index_term_range_end.rb +17 -0
  93. data/lib/sts/niso_sts/inline_graphic.rb +39 -0
  94. data/lib/sts/niso_sts/inline_supplementary_material.rb +38 -0
  95. data/lib/sts/niso_sts/institution.rb +20 -0
  96. data/lib/sts/niso_sts/institution_id.rb +18 -0
  97. data/lib/sts/niso_sts/institution_wrap.rb +17 -0
  98. data/lib/sts/niso_sts/intro.rb +16 -0
  99. data/lib/sts/niso_sts/is_proof.rb +15 -0
  100. data/lib/sts/niso_sts/isbn.rb +20 -0
  101. data/lib/sts/niso_sts/issn.rb +22 -0
  102. data/lib/sts/niso_sts/issn_l.rb +20 -0
  103. data/lib/sts/niso_sts/issue.rb +20 -0
  104. data/lib/sts/niso_sts/kwd.rb +26 -0
  105. data/lib/sts/niso_sts/kwd_group.rb +35 -0
  106. data/lib/sts/niso_sts/license.rb +19 -0
  107. data/lib/sts/niso_sts/license_p.rb +16 -0
  108. data/lib/sts/niso_sts/long_desc.rb +22 -0
  109. data/lib/sts/niso_sts/lpage.rb +20 -0
  110. data/lib/sts/niso_sts/main.rb +16 -0
  111. data/lib/sts/niso_sts/mathml.rb +69 -0
  112. data/lib/sts/niso_sts/media.rb +44 -0
  113. data/lib/sts/niso_sts/milestone_end.rb +26 -0
  114. data/lib/sts/niso_sts/milestone_start.rb +24 -0
  115. data/lib/sts/niso_sts/mixed_citation.rb +98 -5
  116. data/lib/sts/niso_sts/mml_content/apply.rb +47 -0
  117. data/lib/sts/niso_sts/mml_content/bind.rb +22 -0
  118. data/lib/sts/niso_sts/mml_content/calculus.rb +77 -0
  119. data/lib/sts/niso_sts/mml_content/ci.rb +22 -0
  120. data/lib/sts/niso_sts/mml_content/cn.rb +24 -0
  121. data/lib/sts/niso_sts/mml_content/constants.rb +114 -0
  122. data/lib/sts/niso_sts/mml_content/containers.rb +104 -0
  123. data/lib/sts/niso_sts/mml_content/csymbol.rb +24 -0
  124. data/lib/sts/niso_sts/mml_content/functional.rb +110 -0
  125. data/lib/sts/niso_sts/mml_content/linear_algebra.rb +98 -0
  126. data/lib/sts/niso_sts/mml_content/operators.rb +154 -0
  127. data/lib/sts/niso_sts/mml_content/qualifiers.rb +111 -0
  128. data/lib/sts/niso_sts/mml_content/relations.rb +84 -0
  129. data/lib/sts/niso_sts/mml_content/sets.rb +84 -0
  130. data/lib/sts/niso_sts/mml_content/statistics.rb +49 -0
  131. data/lib/sts/niso_sts/mml_content/trigonometry.rb +135 -0
  132. data/lib/sts/niso_sts/mml_content.rb +152 -0
  133. data/lib/sts/niso_sts/monospace.rb +22 -0
  134. data/lib/sts/niso_sts/month.rb +16 -0
  135. data/lib/sts/niso_sts/name.rb +25 -0
  136. data/lib/sts/niso_sts/name_alternatives.rb +15 -0
  137. data/lib/sts/niso_sts/nat_meta.rb +44 -0
  138. data/lib/sts/niso_sts/nested_kwd.rb +19 -0
  139. data/lib/sts/niso_sts/nlm_citation.rb +103 -0
  140. data/lib/sts/niso_sts/normative_example.rb +27 -0
  141. data/lib/sts/niso_sts/normative_note.rb +29 -0
  142. data/lib/sts/niso_sts/note.rb +29 -0
  143. data/lib/sts/niso_sts/notes.rb +31 -0
  144. data/lib/sts/niso_sts/notes_group.rb +26 -0
  145. data/lib/sts/niso_sts/on_behalf_of.rb +20 -0
  146. data/lib/sts/niso_sts/open_access.rb +16 -0
  147. data/lib/sts/niso_sts/originator.rb +16 -0
  148. data/lib/sts/niso_sts/overline.rb +22 -0
  149. data/lib/sts/niso_sts/page_range.rb +20 -0
  150. data/lib/sts/niso_sts/paragraph.rb +2 -2
  151. data/lib/sts/niso_sts/part_number.rb +16 -0
  152. data/lib/sts/niso_sts/part_of_speech.rb +16 -0
  153. data/lib/sts/niso_sts/patent.rb +20 -0
  154. data/lib/sts/niso_sts/person_group.rb +28 -0
  155. data/lib/sts/niso_sts/phone.rb +20 -0
  156. data/lib/sts/niso_sts/postal_code.rb +20 -0
  157. data/lib/sts/niso_sts/prefix.rb +20 -0
  158. data/lib/sts/niso_sts/preformat.rb +26 -0
  159. data/lib/sts/niso_sts/price.rb +16 -0
  160. data/lib/sts/niso_sts/principal_award_recipient.rb +16 -0
  161. data/lib/sts/niso_sts/principal_investigator.rb +16 -0
  162. data/lib/sts/niso_sts/private_char.rb +22 -0
  163. data/lib/sts/niso_sts/product.rb +20 -0
  164. data/lib/sts/niso_sts/proj_id.rb +16 -0
  165. data/lib/sts/niso_sts/pub_date.rb +29 -0
  166. data/lib/sts/niso_sts/pub_id.rb +19 -0
  167. data/lib/sts/niso_sts/publisher.rb +17 -0
  168. data/lib/sts/niso_sts/publisher_loc.rb +20 -0
  169. data/lib/sts/niso_sts/publisher_name.rb +20 -0
  170. data/lib/sts/niso_sts/rb.rb +22 -0
  171. data/lib/sts/niso_sts/ref_count.rb +14 -0
  172. data/lib/sts/niso_sts/reference.rb +6 -0
  173. data/lib/sts/niso_sts/reg_meta.rb +44 -0
  174. data/lib/sts/niso_sts/related_article.rb +24 -0
  175. data/lib/sts/niso_sts/related_object.rb +22 -0
  176. data/lib/sts/niso_sts/related_term.rb +18 -0
  177. data/lib/sts/niso_sts/release_date.rb +19 -0
  178. data/lib/sts/niso_sts/release_version.rb +16 -0
  179. data/lib/sts/niso_sts/release_version_id.rb +16 -0
  180. data/lib/sts/niso_sts/role.rb +22 -0
  181. data/lib/sts/niso_sts/roman.rb +22 -0
  182. data/lib/sts/niso_sts/rp.rb +18 -0
  183. data/lib/sts/niso_sts/rt.rb +22 -0
  184. data/lib/sts/niso_sts/ruby.rb +23 -0
  185. data/lib/sts/niso_sts/sans_serif.rb +22 -0
  186. data/lib/sts/niso_sts/sc.rb +22 -0
  187. data/lib/sts/niso_sts/sdo.rb +16 -0
  188. data/lib/sts/niso_sts/season.rb +16 -0
  189. data/lib/sts/niso_sts/secretariat.rb +16 -0
  190. data/lib/sts/niso_sts/see.rb +26 -0
  191. data/lib/sts/niso_sts/see_also.rb +26 -0
  192. data/lib/sts/niso_sts/self_uri.rb +22 -0
  193. data/lib/sts/niso_sts/series.rb +22 -0
  194. data/lib/sts/niso_sts/series_text.rb +22 -0
  195. data/lib/sts/niso_sts/series_title.rb +22 -0
  196. data/lib/sts/niso_sts/sig.rb +18 -0
  197. data/lib/sts/niso_sts/sig_block.rb +22 -0
  198. data/lib/sts/niso_sts/size.rb +18 -0
  199. data/lib/sts/niso_sts/source.rb +20 -0
  200. data/lib/sts/niso_sts/speaker.rb +16 -0
  201. data/lib/sts/niso_sts/speech.rb +25 -0
  202. data/lib/sts/niso_sts/state.rb +20 -0
  203. data/lib/sts/niso_sts/statement.rb +29 -0
  204. data/lib/sts/niso_sts/std_doc_meta.rb +44 -0
  205. data/lib/sts/niso_sts/std_org.rb +25 -0
  206. data/lib/sts/niso_sts/std_org_abbrev.rb +16 -0
  207. data/lib/sts/niso_sts/std_org_group.rb +15 -0
  208. data/lib/sts/niso_sts/std_org_loc.rb +16 -0
  209. data/lib/sts/niso_sts/std_org_name.rb +16 -0
  210. data/lib/sts/niso_sts/std_organization.rb +16 -0
  211. data/lib/sts/niso_sts/strike.rb +22 -0
  212. data/lib/sts/niso_sts/string_conf.rb +16 -0
  213. data/lib/sts/niso_sts/string_date.rb +16 -0
  214. data/lib/sts/niso_sts/string_name.rb +24 -0
  215. data/lib/sts/niso_sts/styled_content.rb +26 -0
  216. data/lib/sts/niso_sts/sub.rb +20 -0
  217. data/lib/sts/niso_sts/subj_group.rb +24 -0
  218. data/lib/sts/niso_sts/subject.rb +24 -0
  219. data/lib/sts/niso_sts/subtitle.rb +16 -0
  220. data/lib/sts/niso_sts/suffix.rb +20 -0
  221. data/lib/sts/niso_sts/sup.rb +20 -0
  222. data/lib/sts/niso_sts/suppl_number.rb +16 -0
  223. data/lib/sts/niso_sts/suppl_type.rb +16 -0
  224. data/lib/sts/niso_sts/suppl_version.rb +16 -0
  225. data/lib/sts/niso_sts/supplement.rb +24 -0
  226. data/lib/sts/niso_sts/supplementary_material.rb +46 -0
  227. data/lib/sts/niso_sts/surname.rb +20 -0
  228. data/lib/sts/niso_sts/table_count.rb +14 -0
  229. data/lib/sts/niso_sts/target.rb +24 -0
  230. data/lib/sts/niso_sts/term.rb +4 -2
  231. data/lib/sts/niso_sts/term_head.rb +16 -0
  232. data/lib/sts/niso_sts/term_source.rb +16 -0
  233. data/lib/sts/niso_sts/tex_math.rb +16 -0
  234. data/lib/sts/niso_sts/textual_form.rb +16 -0
  235. data/lib/sts/niso_sts/time_stamp.rb +20 -0
  236. data/lib/sts/niso_sts/trans_abstract.rb +23 -0
  237. data/lib/sts/niso_sts/trans_source.rb +20 -0
  238. data/lib/sts/niso_sts/trans_title.rb +20 -0
  239. data/lib/sts/niso_sts/trans_title_group.rb +15 -0
  240. data/lib/sts/niso_sts/underline.rb +22 -0
  241. data/lib/sts/niso_sts/unstructured_kwd_group.rb +24 -0
  242. data/lib/sts/niso_sts/uri.rb +20 -0
  243. data/lib/sts/niso_sts/urn.rb +16 -0
  244. data/lib/sts/niso_sts/verse_group.rb +29 -0
  245. data/lib/sts/niso_sts/verse_line.rb +16 -0
  246. data/lib/sts/niso_sts/version.rb +16 -0
  247. data/lib/sts/niso_sts/volume.rb +20 -0
  248. data/lib/sts/niso_sts/volume_id.rb +22 -0
  249. data/lib/sts/niso_sts/volume_issue_group.rb +16 -0
  250. data/lib/sts/niso_sts/volume_series.rb +16 -0
  251. data/lib/sts/niso_sts/word_count.rb +14 -0
  252. data/lib/sts/niso_sts/xi/fallback.rb +18 -0
  253. data/lib/sts/niso_sts/xi/include.rb +27 -0
  254. data/lib/sts/niso_sts/xi/xi.rb +10 -0
  255. data/lib/sts/niso_sts/year.rb +16 -0
  256. data/lib/sts/niso_sts.rb +233 -1
  257. data/lib/sts/tbx_iso_tml/td.rb +3 -3
  258. data/lib/sts/version.rb +1 -1
  259. data/lib/sts.rb +1 -0
  260. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/NISO-STS-extended-1-mathml3-elements.xsd +11447 -0
  261. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/NISO-STS-extended-1-mathml3.xsd +97 -0
  262. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/module-oasis.xsd +227 -0
  263. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-common.xsd +101 -0
  264. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-content.xsd +683 -0
  265. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-presentation.xsd +2092 -0
  266. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3-strict-content.xsd +186 -0
  267. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/mathml3/mathml3.xsd +9 -0
  268. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-ali.xsd +46 -0
  269. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-tbx.xsd +494 -0
  270. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-xi.xsd +51 -0
  271. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/xlink.xsd +100 -0
  272. data/reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/xml.xsd +287 -0
  273. metadata +264 -2
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Hr < Lutaml::Model::Serializable
6
+ xml do
7
+ element "hr"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Ics < Lutaml::Model::Serializable
6
+ attribute :ics_desc, ::Sts::NisoSts::IcsDesc
7
+
8
+ xml do
9
+ element "ics"
10
+
11
+ map_element "ics-desc", to: :ics_desc
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IcsDesc < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "ics-desc"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IcsWrap < Lutaml::Model::Serializable
6
+ attribute :ics, ::Sts::NisoSts::Ics, collection: true
7
+
8
+ xml do
9
+ element "ics-wrap"
10
+
11
+ map_element "ics", to: :ics
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IndexTerm < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :index_type, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :term, ::Sts::NisoSts::Term
12
+ attribute :index_term, ::Sts::NisoSts::IndexTerm, collection: true
13
+ attribute :see, ::Sts::NisoSts::See, collection: true
14
+ attribute :see_also, ::Sts::NisoSts::SeeAlso, collection: true
15
+
16
+ xml do
17
+ element "index-term"
18
+
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "id", to: :id
21
+ map_attribute "index-type", to: :index_type
22
+ map_attribute "specific-use", to: :specific_use
23
+ map_attribute "xml:lang", to: :xml_lang
24
+
25
+ map_element "term", to: :term
26
+ map_element "index-term", to: :index_term
27
+ map_element "see", to: :see
28
+ map_element "see-also", to: :see_also
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IndexTermRangeEnd < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :rid, :string
8
+
9
+ xml do
10
+ element "index-term-range-end"
11
+
12
+ map_attribute "id", to: :id
13
+ map_attribute "rid", to: :rid
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class InlineGraphic < Lutaml::Model::Serializable
6
+ attribute :href, :xlink_href
7
+ attribute :content_type, :string
8
+ attribute :id, :string
9
+ attribute :mimetype, :string
10
+ attribute :mime_subtype, :string
11
+ attribute :orientation, :string
12
+ attribute :position, :string
13
+ attribute :specific_use, :string
14
+ attribute :xml_lang, :string
15
+ attribute :xlink_role, :string
16
+ attribute :xlink_title, :string
17
+ attribute :xlink_show, :string
18
+ attribute :xlink_actuate, :string
19
+
20
+ xml do
21
+ element "inline-graphic"
22
+
23
+ map_attribute "href", to: :href
24
+ map_attribute "content-type", to: :content_type
25
+ map_attribute "id", to: :id
26
+ map_attribute "mimetype", to: :mimetype
27
+ map_attribute "mime-subtype", to: :mime_subtype
28
+ map_attribute "orientation", to: :orientation
29
+ map_attribute "position", to: :position
30
+ map_attribute "specific-use", to: :specific_use
31
+ map_attribute "xml:lang", to: :xml_lang
32
+ map_attribute "xlink:role", to: :xlink_role
33
+ map_attribute "xlink:title", to: :xlink_title
34
+ map_attribute "xlink:show", to: :xlink_show
35
+ map_attribute "xlink:actuate", to: :xlink_actuate
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class InlineSupplementaryMaterial < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :mimetype, :string
9
+ attribute :mime_subtype, :string
10
+ attribute :orientation, :string
11
+ attribute :specific_use, :string
12
+ attribute :xlink_href, :string
13
+ attribute :xlink_role, :string
14
+ attribute :xlink_actuate, :string
15
+ attribute :xlink_show, :string
16
+ attribute :xlink_title, :string
17
+ attribute :content, :string
18
+
19
+ xml do
20
+ element "inline-supplementary-material"
21
+ mixed_content
22
+
23
+ map_attribute "id", to: :id
24
+ map_attribute "content-type", to: :content_type
25
+ map_attribute "mimetype", to: :mimetype
26
+ map_attribute "mime-subtype", to: :mime_subtype
27
+ map_attribute "orientation", to: :orientation
28
+ map_attribute "specific-use", to: :specific_use
29
+ map_attribute "xlink:href", to: :xlink_href
30
+ map_attribute "xlink:role", to: :xlink_role
31
+ map_attribute "xlink:actuate", to: :xlink_actuate
32
+ map_attribute "xlink:show", to: :xlink_show
33
+ map_attribute "xlink:title", to: :xlink_title
34
+ map_content to: :content
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Institution < 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 "institution"
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,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class InstitutionId < Lutaml::Model::Serializable
6
+ attribute :institution_id_type, :string
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "institution-id"
11
+ mixed_content
12
+
13
+ map_attribute "institution-id-type", to: :institution_id_type
14
+ map_content to: :content
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class InstitutionWrap < Lutaml::Model::Serializable
6
+ attribute :institution, ::Sts::NisoSts::Institution
7
+ attribute :institution_id, ::Sts::NisoSts::InstitutionId
8
+
9
+ xml do
10
+ element "institution-wrap"
11
+
12
+ map_element "institution", to: :institution
13
+ map_element "institution-id", to: :institution_id
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Intro < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "intro"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IsProof < Lutaml::Model::Serializable
6
+ attribute :is_proof, :string
7
+
8
+ xml do
9
+ element "is-proof"
10
+
11
+ map_attribute "is-proof", to: :is_proof
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Isbn < 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 "isbn"
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,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Issn < Lutaml::Model::Serializable
6
+ attribute :pub_type, :string
7
+ attribute :content, :string
8
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
9
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
10
+
11
+ xml do
12
+ element "issn"
13
+ mixed_content
14
+
15
+ map_attribute "pub-type", to: :pub_type
16
+ map_content to: :content
17
+ map_element "bold", to: :bold
18
+ map_element "italic", to: :italic
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IssnL < 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 "issn-l"
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 Issue < 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 "issue"
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,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Kwd < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :kwd_type, :string
9
+ attribute :xml_lang, :string
10
+ attribute :specific_use, :string
11
+ attribute :content, :string
12
+
13
+ xml do
14
+ element "kwd"
15
+ mixed_content
16
+
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "id", to: :id
19
+ map_attribute "kwd-type", to: :kwd_type
20
+ map_attribute "xml:lang", to: :xml_lang
21
+ map_attribute "specific-use", to: :specific_use
22
+ map_content to: :content
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class KwdGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :kwd_group_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 :kwd, ::Sts::NisoSts::Kwd, collection: true
13
+ attribute :nested_kwd, ::Sts::NisoSts::NestedKwd, collection: true
14
+ attribute :compound_kwd, ::Sts::NisoSts::CompoundKwd, collection: true
15
+ attribute :unstructured_kwd_group, ::Sts::NisoSts::UnstructuredKwdGroup,
16
+ collection: true
17
+
18
+ xml do
19
+ element "kwd-group"
20
+
21
+ map_attribute "id", to: :id
22
+ map_attribute "kwd-group-type", to: :kwd_group_type
23
+ map_attribute "xml:lang", to: :xml_lang
24
+ map_attribute "specific-use", to: :specific_use
25
+
26
+ map_element "label", to: :label
27
+ map_element "title", to: :title
28
+ map_element "kwd", to: :kwd
29
+ map_element "nested-kwd", to: :nested_kwd
30
+ map_element "compound-kwd", to: :compound_kwd
31
+ map_element "unstructured-kwd-group", to: :unstructured_kwd_group
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class License < Lutaml::Model::Serializable
6
+ attribute :href, :xlink_href
7
+ attribute :lang, Lutaml::Xml::W3c::XmlLangType
8
+ attribute :license_p, ::Sts::NisoSts::LicenseP, collection: true
9
+
10
+ xml do
11
+ element "license"
12
+
13
+ map_attribute "xlink:href", to: :href
14
+ map_attribute "xml:lang", to: :lang
15
+ map_element "license-p", to: :license_p
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class LicenseP < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "license-p"
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 LongDesc < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :xml_lang, :string
8
+ attribute :specific_use, :string
9
+ attribute :content, :string
10
+
11
+ xml do
12
+ element "long-desc"
13
+ mixed_content
14
+
15
+ map_attribute "content-type", to: :content_type
16
+ map_attribute "xml:lang", to: :xml_lang
17
+ map_attribute "specific-use", to: :specific_use
18
+ map_content to: :content
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Lpage < 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 "lpage"
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 Main < Lutaml::Model::Serializable
6
+ attribute :content, :string
7
+
8
+ xml do
9
+ element "main"
10
+ mixed_content
11
+
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "lutaml/model"
4
+
5
+ module Sts
6
+ module Mathml
7
+ class Math < Lutaml::Model::Serializable
8
+ # Delegate to Mml::V3::Math for actual MathML handling
9
+ attribute :id, :string
10
+ attribute :display, :string
11
+ attribute :math, Mml::V3::Math
12
+
13
+ xml do
14
+ namespace ::Sts::Namespaces::MathmlNamespace
15
+ element "math"
16
+ mixed_content
17
+
18
+ map_attribute :id, to: :id
19
+ map_attribute :display, to: :display
20
+ map_element "math", to: :math
21
+ end
22
+
23
+ def id
24
+ @id ||= math&.id
25
+ end
26
+
27
+ def id=(value)
28
+ @id = value
29
+ math.id = value if math
30
+ end
31
+
32
+ def display
33
+ @display ||= math&.display
34
+ end
35
+
36
+ def display=(value)
37
+ @display = value
38
+ math.display = value if math
39
+ end
40
+
41
+ # Forward missing methods to the underlying math object
42
+ def method_missing(method_name, *args, &block)
43
+ if math.respond_to?(method_name)
44
+ math.send(method_name, *args, &block)
45
+ else
46
+ super
47
+ end
48
+ end
49
+
50
+ def respond_to_missing?(method_name, include_private = false)
51
+ math.respond_to?(method_name, include_private) || super
52
+ end
53
+
54
+ def to_xml
55
+ math&.to_xml
56
+ end
57
+
58
+ def self.from_xml(input)
59
+ # Parse the inner math element and wrap it
60
+ parsed = Mml::V3::Math.from_xml(input)
61
+ math = new
62
+ math.instance_variable_set(:@math, parsed)
63
+ math.id = parsed.id
64
+ math.display = parsed.display
65
+ math
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Media < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :mimetype, :string
9
+ attribute :mime_subtype, :string
10
+ attribute :orientation, :string
11
+ attribute :position, :string
12
+ attribute :specific_use, :string
13
+ attribute :xlink_href, :string
14
+ attribute :xlink_role, :string
15
+ attribute :xlink_actuate, :string
16
+ attribute :xlink_show, :string
17
+ attribute :xlink_title, :string
18
+ attribute :label, ::Sts::NisoSts::Label
19
+ attribute :caption, ::Sts::NisoSts::Caption
20
+ attribute :sts_object_id, ::Sts::NisoSts::ObjectId, collection: true
21
+
22
+ xml do
23
+ element "media"
24
+
25
+ map_attribute "id", to: :id
26
+ map_attribute "content-type", to: :content_type
27
+ map_attribute "mimetype", to: :mimetype
28
+ map_attribute "mime-subtype", to: :mime_subtype
29
+ map_attribute "orientation", to: :orientation
30
+ map_attribute "position", to: :position
31
+ map_attribute "specific-use", to: :specific_use
32
+ map_attribute "xlink:href", to: :xlink_href
33
+ map_attribute "xlink:role", to: :xlink_role
34
+ map_attribute "xlink:actuate", to: :xlink_actuate
35
+ map_attribute "xlink:show", to: :xlink_show
36
+ map_attribute "xlink:title", to: :xlink_title
37
+
38
+ map_element "label", to: :label
39
+ map_element "caption", to: :caption
40
+ map_element "object-id", to: :sts_object_id
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class MilestoneEnd < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :rid, :string
8
+ attribute :content_type, :string
9
+ attribute :rationale, :string
10
+ attribute :specific_use, :string
11
+ attribute :content, :string
12
+
13
+ xml do
14
+ element "milestone-end"
15
+ mixed_content
16
+
17
+ map_attribute "id", to: :id
18
+ map_attribute "rid", to: :rid
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "rationale", to: :rationale
21
+ map_attribute "specific-use", to: :specific_use
22
+ map_content to: :content
23
+ end
24
+ end
25
+ end
26
+ end