sts 0.5.2 → 0.5.4

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 (446) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -0
  3. data/.rubocop.yml +3 -0
  4. data/.rubocop_todo.yml +17 -3
  5. data/CLAUDE.md +72 -0
  6. data/GAPS.guidelines.iso-sts-ed2.1/01-maintenance.md +19 -0
  7. data/GAPS.guidelines.iso-sts-ed2.1/03-general.md +75 -0
  8. data/GAPS.guidelines.iso-sts-ed2.1/04-structure.md +75 -0
  9. data/GAPS.guidelines.iso-sts-ed2.1/05-content.md +63 -0
  10. data/GAPS.guidelines.iso-sts-ed2.1/06-tables.md +53 -0
  11. data/GAPS.guidelines.iso-sts-ed2.1/07-formulae.md +41 -0
  12. data/GAPS.guidelines.iso-sts-ed2.1/08-figures.md +45 -0
  13. data/GAPS.guidelines.iso-sts-ed2.1/09-terms.md +56 -0
  14. data/GAPS.guidelines.iso-sts-ed2.1/10-references.md +56 -0
  15. data/GAPS.guidelines.iso-sts-ed2.1/annex-a-multilingual.md +79 -0
  16. data/GAPS.guidelines.niso-sts-v1.0/01-introduction-scope.md +27 -0
  17. data/GAPS.guidelines.niso-sts-v1.0/02-document-structure.md +100 -0
  18. data/GAPS.guidelines.niso-sts-v1.0/03-front-matter.md +149 -0
  19. data/GAPS.guidelines.niso-sts-v1.0/04-body-content.md +209 -0
  20. data/GAPS.guidelines.niso-sts-v1.0/05-tables-figures.md +152 -0
  21. data/GAPS.guidelines.niso-sts-v1.0/06-math-formulae.md +128 -0
  22. data/GAPS.guidelines.niso-sts-v1.0/07-references.md +113 -0
  23. data/GAPS.guidelines.niso-sts-v1.0/08-terminology.md +127 -0
  24. data/GAPS.guidelines.niso-sts-v1.0/09-metadata.md +113 -0
  25. data/GAPS.guidelines.niso-sts-v1.0/10-iso-iec-variant.md +141 -0
  26. data/GAPS.guidelines.niso-sts-v1.0/SUMMARY.md +96 -0
  27. data/GAPS.guidelines.schema-xref.md +101 -0
  28. data/Gemfile +2 -1
  29. data/TODO.sts-refactor/00-overview.md +172 -0
  30. data/TODO.sts-refactor/01-mathml-delegation.md +153 -0
  31. data/TODO.sts-refactor/02-type-resolution.md +122 -0
  32. data/TODO.sts-refactor/03-namespace-coupling.md +158 -0
  33. data/TODO.sts-refactor/04-register-versioning.md +180 -0
  34. data/TODO.sts-refactor/05-missing-elements.md +195 -0
  35. data/TODO.sts-refactor/06-missing-attributes.md +152 -0
  36. data/TODO.sts-refactor/07-incomplete-models.md +180 -0
  37. data/TODO.sts-refactor/08-isoiec-profile.md +169 -0
  38. data/TODO.sts-refactor/09-autoload-cleanup.md +88 -0
  39. data/TODO.sts-refactor/10-test-coverage.md +164 -0
  40. data/TODO.sts-refactor/11-duplicate-models.md +168 -0
  41. data/lib/sts/iso_sts/annex_type.rb +2 -0
  42. data/lib/sts/iso_sts/app.rb +26 -1
  43. data/lib/sts/iso_sts/app_group.rb +1 -0
  44. data/lib/sts/iso_sts/array.rb +1 -0
  45. data/lib/sts/iso_sts/back.rb +1 -0
  46. data/lib/sts/iso_sts/body.rb +4 -0
  47. data/lib/sts/iso_sts/bold.rb +23 -11
  48. data/lib/sts/iso_sts/break.rb +3 -0
  49. data/lib/sts/iso_sts/caption.rb +1 -0
  50. data/lib/sts/iso_sts/comm_ref.rb +2 -0
  51. data/lib/sts/iso_sts/content_language.rb +22 -0
  52. data/lib/sts/iso_sts/copyright_holder.rb +4 -2
  53. data/lib/sts/iso_sts/copyright_statement.rb +4 -2
  54. data/lib/sts/iso_sts/copyright_year.rb +3 -0
  55. data/lib/sts/iso_sts/def.rb +1 -0
  56. data/lib/sts/iso_sts/def_item.rb +1 -0
  57. data/lib/sts/iso_sts/def_list.rb +1 -0
  58. data/lib/sts/iso_sts/disp_formula.rb +5 -1
  59. data/lib/sts/iso_sts/doc_ref.rb +2 -0
  60. data/lib/sts/iso_sts/document_identification.rb +3 -0
  61. data/lib/sts/iso_sts/edition.rb +2 -0
  62. data/lib/sts/iso_sts/ext_link.rb +1 -1
  63. data/lib/sts/iso_sts/fig.rb +1 -0
  64. data/lib/sts/iso_sts/fn.rb +1 -0
  65. data/lib/sts/iso_sts/fn_group.rb +1 -0
  66. data/lib/sts/iso_sts/front.rb +5 -0
  67. data/lib/sts/iso_sts/graphic.rb +5 -0
  68. data/lib/sts/iso_sts/inline_formula.rb +1 -1
  69. data/lib/sts/iso_sts/iso_meta.rb +4 -3
  70. data/lib/sts/iso_sts/italic.rb +23 -11
  71. data/lib/sts/iso_sts/label.rb +7 -5
  72. data/lib/sts/iso_sts/language.rb +2 -0
  73. data/lib/sts/iso_sts/list.rb +1 -0
  74. data/lib/sts/iso_sts/list_item.rb +7 -4
  75. data/lib/sts/iso_sts/mathml2/math.rb +20 -18
  76. data/lib/sts/iso_sts/meta_date.rb +20 -0
  77. data/lib/sts/iso_sts/mixed_citation.rb +35 -11
  78. data/lib/sts/iso_sts/monospace.rb +26 -0
  79. data/lib/sts/iso_sts/named_content.rb +44 -0
  80. data/lib/sts/iso_sts/nat_meta.rb +5 -4
  81. data/lib/sts/iso_sts/non_normative_example.rb +5 -0
  82. data/lib/sts/iso_sts/non_normative_note.rb +1 -0
  83. data/lib/sts/iso_sts/page_count.rb +2 -0
  84. data/lib/sts/iso_sts/paragraph.rb +34 -22
  85. data/lib/sts/iso_sts/permissions.rb +3 -0
  86. data/lib/sts/iso_sts/preformat.rb +8 -5
  87. data/lib/sts/iso_sts/ref.rb +1 -0
  88. data/lib/sts/iso_sts/ref_list.rb +1 -0
  89. data/lib/sts/iso_sts/reg_meta.rb +5 -4
  90. data/lib/sts/iso_sts/release_date.rb +2 -0
  91. data/lib/sts/iso_sts/sc.rb +26 -0
  92. data/lib/sts/iso_sts/sec.rb +12 -2
  93. data/lib/sts/iso_sts/secretariat.rb +2 -0
  94. data/lib/sts/iso_sts/standard.rb +6 -0
  95. data/lib/sts/iso_sts/standard_cross_reference.rb +5 -2
  96. data/lib/sts/iso_sts/standard_identification.rb +3 -0
  97. data/lib/sts/iso_sts/standard_ref.rb +16 -0
  98. data/lib/sts/iso_sts/std.rb +7 -5
  99. data/lib/sts/iso_sts/std_ref.rb +2 -0
  100. data/lib/sts/iso_sts/strike.rb +26 -0
  101. data/lib/sts/iso_sts/styled_content.rb +19 -15
  102. data/lib/sts/iso_sts/sub.rb +2 -0
  103. data/lib/sts/iso_sts/sup.rb +2 -0
  104. data/lib/sts/iso_sts/table.rb +1 -0
  105. data/lib/sts/iso_sts/table_wrap.rb +1 -0
  106. data/lib/sts/iso_sts/table_wrap_foot.rb +3 -0
  107. data/lib/sts/iso_sts/td.rb +32 -14
  108. data/lib/sts/iso_sts/term.rb +6 -6
  109. data/lib/sts/iso_sts/term_sec.rb +1 -0
  110. data/lib/sts/iso_sts/th.rb +32 -14
  111. data/lib/sts/iso_sts/title.rb +17 -7
  112. data/lib/sts/iso_sts/title_compl.rb +2 -0
  113. data/lib/sts/iso_sts/title_full.rb +2 -0
  114. data/lib/sts/iso_sts/title_intro.rb +2 -0
  115. data/lib/sts/iso_sts/title_main.rb +2 -0
  116. data/lib/sts/iso_sts/title_wrap.rb +1 -0
  117. data/lib/sts/iso_sts/tr.rb +1 -0
  118. data/lib/sts/iso_sts/underline.rb +26 -0
  119. data/lib/sts/iso_sts/uri.rb +32 -0
  120. data/lib/sts/iso_sts/xref.rb +3 -3
  121. data/lib/sts/iso_sts.rb +11 -0
  122. data/lib/sts/mathml.rb +21 -0
  123. data/lib/sts/namespaces.rb +3 -0
  124. data/lib/sts/niso_sts/abstract.rb +3 -0
  125. data/lib/sts/niso_sts/access_date.rb +2 -0
  126. data/lib/sts/niso_sts/accrediting_organization.rb +2 -0
  127. data/lib/sts/niso_sts/ack.rb +1 -1
  128. data/lib/sts/niso_sts/addr_line.rb +2 -0
  129. data/lib/sts/niso_sts/address.rb +3 -0
  130. data/lib/sts/niso_sts/adoption.rb +1 -1
  131. data/lib/sts/niso_sts/adoption_front.rb +1 -0
  132. data/lib/sts/niso_sts/aff_alternatives.rb +3 -0
  133. data/lib/sts/niso_sts/alt_text.rb +2 -0
  134. data/lib/sts/niso_sts/alt_title.rb +2 -0
  135. data/lib/sts/niso_sts/alternatives.rb +3 -4
  136. data/lib/sts/niso_sts/annotation.rb +1 -3
  137. data/lib/sts/niso_sts/anonymous.rb +3 -0
  138. data/lib/sts/niso_sts/app.rb +16 -1
  139. data/lib/sts/niso_sts/app_group.rb +5 -0
  140. data/lib/sts/niso_sts/article_title.rb +2 -0
  141. data/lib/sts/niso_sts/attrib.rb +2 -0
  142. data/lib/sts/niso_sts/author_comment.rb +1 -3
  143. data/lib/sts/niso_sts/author_notes.rb +1 -1
  144. data/lib/sts/niso_sts/authorization.rb +2 -0
  145. data/lib/sts/niso_sts/award_group.rb +23 -4
  146. data/lib/sts/niso_sts/award_id.rb +6 -0
  147. data/lib/sts/niso_sts/back.rb +25 -6
  148. data/lib/sts/niso_sts/bio.rb +1 -3
  149. data/lib/sts/niso_sts/body.rb +38 -0
  150. data/lib/sts/niso_sts/boxed_text.rb +41 -3
  151. data/lib/sts/niso_sts/break.rb +14 -0
  152. data/lib/sts/niso_sts/caption.rb +15 -1
  153. data/lib/sts/niso_sts/chapter_title.rb +2 -0
  154. data/lib/sts/niso_sts/chem_struct.rb +2 -0
  155. data/lib/sts/niso_sts/chem_struct_wrap.rb +1 -0
  156. data/lib/sts/niso_sts/citation_alternatives.rb +3 -0
  157. data/lib/sts/niso_sts/city.rb +2 -0
  158. data/lib/sts/niso_sts/code.rb +111 -0
  159. data/lib/sts/niso_sts/collab.rb +8 -0
  160. data/lib/sts/niso_sts/collab_alternatives.rb +3 -0
  161. data/lib/sts/niso_sts/comm_ref_group.rb +3 -0
  162. data/lib/sts/niso_sts/comment.rb +2 -0
  163. data/lib/sts/niso_sts/compound_subject.rb +29 -0
  164. data/lib/sts/niso_sts/compound_subject_part.rb +39 -0
  165. data/lib/sts/niso_sts/conf_acronym.rb +2 -0
  166. data/lib/sts/niso_sts/conf_date.rb +2 -0
  167. data/lib/sts/niso_sts/conf_loc.rb +2 -0
  168. data/lib/sts/niso_sts/conf_name.rb +2 -0
  169. data/lib/sts/niso_sts/conf_num.rb +2 -0
  170. data/lib/sts/niso_sts/conf_sponsor.rb +2 -0
  171. data/lib/sts/niso_sts/conf_theme.rb +2 -0
  172. data/lib/sts/niso_sts/conference.rb +3 -0
  173. data/lib/sts/niso_sts/content_language.rb +2 -0
  174. data/lib/sts/niso_sts/contrib.rb +1 -0
  175. data/lib/sts/niso_sts/contrib_group.rb +1 -0
  176. data/lib/sts/niso_sts/contrib_id.rb +2 -0
  177. data/lib/sts/niso_sts/copyright_holder.rb +2 -0
  178. data/lib/sts/niso_sts/copyright_statement.rb +2 -0
  179. data/lib/sts/niso_sts/copyright_year.rb +2 -0
  180. data/lib/sts/niso_sts/country.rb +2 -0
  181. data/lib/sts/niso_sts/counts.rb +3 -0
  182. data/lib/sts/niso_sts/custom_meta.rb +3 -0
  183. data/lib/sts/niso_sts/custom_meta_group.rb +3 -0
  184. data/lib/sts/niso_sts/data_title.rb +29 -0
  185. data/lib/sts/niso_sts/date.rb +3 -0
  186. data/lib/sts/niso_sts/date_in_citation.rb +2 -0
  187. data/lib/sts/niso_sts/day.rb +2 -0
  188. data/lib/sts/niso_sts/def.rb +3 -0
  189. data/lib/sts/niso_sts/def_head.rb +18 -0
  190. data/lib/sts/niso_sts/def_item.rb +13 -0
  191. data/lib/sts/niso_sts/def_list.rb +25 -3
  192. data/lib/sts/niso_sts/degrees.rb +2 -0
  193. data/lib/sts/niso_sts/disp_formula_group.rb +1 -4
  194. data/lib/sts/niso_sts/disp_quote.rb +3 -1
  195. data/lib/sts/niso_sts/display_formula.rb +47 -2
  196. data/lib/sts/niso_sts/doc_number.rb +2 -0
  197. data/lib/sts/niso_sts/doc_type.rb +2 -0
  198. data/lib/sts/niso_sts/document_identification.rb +1 -0
  199. data/lib/sts/niso_sts/editing_instruction.rb +9 -5
  200. data/lib/sts/niso_sts/edition.rb +2 -0
  201. data/lib/sts/niso_sts/element_citation.rb +1 -1
  202. data/lib/sts/niso_sts/elocation_id.rb +2 -0
  203. data/lib/sts/niso_sts/email.rb +2 -0
  204. data/lib/sts/niso_sts/equation_count.rb +2 -0
  205. data/lib/sts/niso_sts/era.rb +2 -0
  206. data/lib/sts/niso_sts/ext_link.rb +32 -2
  207. data/lib/sts/niso_sts/fax.rb +2 -0
  208. data/lib/sts/niso_sts/fig_count.rb +2 -0
  209. data/lib/sts/niso_sts/fig_group.rb +1 -0
  210. data/lib/sts/niso_sts/figure.rb +14 -1
  211. data/lib/sts/niso_sts/floats_group.rb +3 -4
  212. data/lib/sts/niso_sts/fn.rb +2 -1
  213. data/lib/sts/niso_sts/fn_group.rb +3 -0
  214. data/lib/sts/niso_sts/fpage.rb +2 -0
  215. data/lib/sts/niso_sts/front.rb +16 -0
  216. data/lib/sts/niso_sts/funding_group.rb +1 -0
  217. data/lib/sts/niso_sts/funding_source.rb +2 -0
  218. data/lib/sts/niso_sts/given_names.rb +2 -0
  219. data/lib/sts/niso_sts/glossary.rb +1 -1
  220. data/lib/sts/niso_sts/gov.rb +2 -0
  221. data/lib/sts/niso_sts/graphic.rb +6 -0
  222. data/lib/sts/niso_sts/hr.rb +3 -0
  223. data/lib/sts/niso_sts/ics.rb +5 -0
  224. data/lib/sts/niso_sts/ics_desc.rb +2 -0
  225. data/lib/sts/niso_sts/ics_wrap.rb +9 -0
  226. data/lib/sts/niso_sts/index.rb +32 -0
  227. data/lib/sts/niso_sts/index_div.rb +30 -0
  228. data/lib/sts/niso_sts/index_entry.rb +32 -0
  229. data/lib/sts/niso_sts/index_term.rb +1 -0
  230. data/lib/sts/niso_sts/index_title_group.rb +22 -0
  231. data/lib/sts/niso_sts/inline_formula.rb +38 -2
  232. data/lib/sts/niso_sts/inline_media.rb +50 -0
  233. data/lib/sts/niso_sts/institution.rb +2 -0
  234. data/lib/sts/niso_sts/institution_id.rb +2 -0
  235. data/lib/sts/niso_sts/institution_wrap.rb +3 -0
  236. data/lib/sts/niso_sts/intro.rb +2 -0
  237. data/lib/sts/niso_sts/is_proof.rb +2 -0
  238. data/lib/sts/niso_sts/isbn.rb +2 -0
  239. data/lib/sts/niso_sts/issn.rb +2 -0
  240. data/lib/sts/niso_sts/issn_l.rb +2 -0
  241. data/lib/sts/niso_sts/issue.rb +2 -0
  242. data/lib/sts/niso_sts/kwd_group.rb +9 -0
  243. data/lib/sts/niso_sts/label.rb +7 -2
  244. data/lib/sts/niso_sts/legend.rb +39 -0
  245. data/lib/sts/niso_sts/license.rb +2 -0
  246. data/lib/sts/niso_sts/license_p.rb +2 -0
  247. data/lib/sts/niso_sts/list.rb +9 -2
  248. data/lib/sts/niso_sts/list_item.rb +9 -4
  249. data/lib/sts/niso_sts/long_desc.rb +2 -0
  250. data/lib/sts/niso_sts/lpage.rb +2 -0
  251. data/lib/sts/niso_sts/main.rb +2 -0
  252. data/lib/sts/niso_sts/media.rb +1 -0
  253. data/lib/sts/niso_sts/meta_date.rb +2 -0
  254. data/lib/sts/niso_sts/meta_note.rb +1 -1
  255. data/lib/sts/niso_sts/metadata_iso.rb +1 -1
  256. data/lib/sts/niso_sts/metadata_std.rb +16 -8
  257. data/lib/sts/niso_sts/milestone_end.rb +1 -3
  258. data/lib/sts/niso_sts/milestone_start.rb +1 -3
  259. data/lib/sts/niso_sts/mixed_citation.rb +22 -0
  260. data/lib/sts/niso_sts/mml_content.rb +0 -2
  261. data/lib/sts/niso_sts/monospace.rb +9 -0
  262. data/lib/sts/niso_sts/month.rb +2 -0
  263. data/lib/sts/niso_sts/name.rb +3 -0
  264. data/lib/sts/niso_sts/name_alternatives.rb +5 -0
  265. data/lib/sts/niso_sts/named_content.rb +51 -1
  266. data/lib/sts/niso_sts/nat_meta.rb +3 -0
  267. data/lib/sts/niso_sts/nested_kwd.rb +3 -0
  268. data/lib/sts/niso_sts/nlm_citation.rb +1 -1
  269. data/lib/sts/niso_sts/non_normative_example.rb +15 -2
  270. data/lib/sts/niso_sts/non_normative_note.rb +14 -2
  271. data/lib/sts/niso_sts/normative_example.rb +1 -1
  272. data/lib/sts/niso_sts/normative_note.rb +3 -1
  273. data/lib/sts/niso_sts/note.rb +1 -1
  274. data/lib/sts/niso_sts/notes.rb +1 -1
  275. data/lib/sts/niso_sts/notes_group.rb +1 -0
  276. data/lib/sts/niso_sts/object_id.rb +4 -0
  277. data/lib/sts/niso_sts/on_behalf_of.rb +2 -0
  278. data/lib/sts/niso_sts/open_access.rb +3 -4
  279. data/lib/sts/niso_sts/originator.rb +2 -0
  280. data/lib/sts/niso_sts/page_count.rb +2 -0
  281. data/lib/sts/niso_sts/page_range.rb +2 -0
  282. data/lib/sts/niso_sts/paragraph.rb +39 -7
  283. data/lib/sts/niso_sts/part_number.rb +2 -0
  284. data/lib/sts/niso_sts/part_of_speech.rb +2 -0
  285. data/lib/sts/niso_sts/patent.rb +2 -0
  286. data/lib/sts/niso_sts/permissions.rb +7 -1
  287. data/lib/sts/niso_sts/phone.rb +2 -0
  288. data/lib/sts/niso_sts/postal_code.rb +2 -0
  289. data/lib/sts/niso_sts/prefix.rb +2 -0
  290. data/lib/sts/niso_sts/preformat.rb +15 -0
  291. data/lib/sts/niso_sts/price.rb +2 -0
  292. data/lib/sts/niso_sts/principal_award_recipient.rb +2 -0
  293. data/lib/sts/niso_sts/principal_investigator.rb +2 -0
  294. data/lib/sts/niso_sts/private_char.rb +3 -3
  295. data/lib/sts/niso_sts/processing_meta.rb +54 -0
  296. data/lib/sts/niso_sts/product.rb +2 -0
  297. data/lib/sts/niso_sts/proj_id.rb +2 -0
  298. data/lib/sts/niso_sts/pub_date.rb +4 -0
  299. data/lib/sts/niso_sts/pub_id.rb +2 -0
  300. data/lib/sts/niso_sts/publisher.rb +3 -0
  301. data/lib/sts/niso_sts/publisher_loc.rb +2 -0
  302. data/lib/sts/niso_sts/publisher_name.rb +2 -0
  303. data/lib/sts/niso_sts/ref_count.rb +2 -0
  304. data/lib/sts/niso_sts/reference.rb +1 -0
  305. data/lib/sts/niso_sts/reference_list.rb +6 -1
  306. data/lib/sts/niso_sts/reference_standard.rb +4 -2
  307. data/lib/sts/niso_sts/reg_meta.rb +3 -0
  308. data/lib/sts/niso_sts/related_term.rb +2 -0
  309. data/lib/sts/niso_sts/release_date.rb +11 -6
  310. data/lib/sts/niso_sts/release_version.rb +2 -0
  311. data/lib/sts/niso_sts/release_version_id.rb +2 -0
  312. data/lib/sts/niso_sts/role.rb +35 -0
  313. data/lib/sts/niso_sts/ruby.rb +1 -0
  314. data/lib/sts/niso_sts/sdo.rb +2 -0
  315. data/lib/sts/niso_sts/season.rb +2 -0
  316. data/lib/sts/niso_sts/sec_meta.rb +26 -0
  317. data/lib/sts/niso_sts/secretariat.rb +2 -0
  318. data/lib/sts/niso_sts/section.rb +47 -4
  319. data/lib/sts/niso_sts/see_also_entry.rb +26 -0
  320. data/lib/sts/niso_sts/see_entry.rb +26 -0
  321. data/lib/sts/niso_sts/self_uri.rb +2 -0
  322. data/lib/sts/niso_sts/series.rb +2 -0
  323. data/lib/sts/niso_sts/series_text.rb +2 -0
  324. data/lib/sts/niso_sts/series_title.rb +2 -0
  325. data/lib/sts/niso_sts/sig.rb +2 -0
  326. data/lib/sts/niso_sts/size.rb +2 -0
  327. data/lib/sts/niso_sts/source.rb +29 -0
  328. data/lib/sts/niso_sts/speaker.rb +2 -0
  329. data/lib/sts/niso_sts/speech.rb +1 -1
  330. data/lib/sts/niso_sts/standard.rb +3 -0
  331. data/lib/sts/niso_sts/standard_identification.rb +3 -1
  332. data/lib/sts/niso_sts/state.rb +2 -0
  333. data/lib/sts/niso_sts/statement.rb +1 -1
  334. data/lib/sts/niso_sts/std_doc_meta.rb +50 -11
  335. data/lib/sts/niso_sts/std_id.rb +2 -0
  336. data/lib/sts/niso_sts/std_id_group.rb +3 -0
  337. data/lib/sts/niso_sts/std_org.rb +1 -0
  338. data/lib/sts/niso_sts/std_org_abbrev.rb +2 -0
  339. data/lib/sts/niso_sts/std_org_group.rb +3 -0
  340. data/lib/sts/niso_sts/std_org_name.rb +2 -0
  341. data/lib/sts/niso_sts/std_organization.rb +2 -0
  342. data/lib/sts/niso_sts/string_conf.rb +2 -0
  343. data/lib/sts/niso_sts/string_date.rb +2 -0
  344. data/lib/sts/niso_sts/string_name.rb +2 -0
  345. data/lib/sts/niso_sts/styled_content.rb +39 -0
  346. data/lib/sts/niso_sts/sub.rb +11 -0
  347. data/lib/sts/niso_sts/subj_group.rb +11 -0
  348. data/lib/sts/niso_sts/subtitle.rb +2 -0
  349. data/lib/sts/niso_sts/suffix.rb +2 -0
  350. data/lib/sts/niso_sts/sup.rb +13 -0
  351. data/lib/sts/niso_sts/suppl_number.rb +2 -0
  352. data/lib/sts/niso_sts/suppl_type.rb +2 -0
  353. data/lib/sts/niso_sts/suppl_version.rb +2 -0
  354. data/lib/sts/niso_sts/supplementary_material.rb +1 -0
  355. data/lib/sts/niso_sts/surname.rb +2 -0
  356. data/lib/sts/niso_sts/table_count.rb +2 -0
  357. data/lib/sts/niso_sts/table_wrap_group.rb +32 -0
  358. data/lib/sts/niso_sts/term_display.rb +22 -0
  359. data/lib/sts/niso_sts/term_display_string.rb +22 -0
  360. data/lib/sts/niso_sts/term_head.rb +2 -0
  361. data/lib/sts/niso_sts/term_section.rb +3 -3
  362. data/lib/sts/niso_sts/term_source.rb +2 -0
  363. data/lib/sts/niso_sts/tex_math.rb +2 -0
  364. data/lib/sts/niso_sts/textual_form.rb +2 -0
  365. data/lib/sts/niso_sts/time_stamp.rb +2 -0
  366. data/lib/sts/niso_sts/title.rb +26 -0
  367. data/lib/sts/niso_sts/title_wrap.rb +2 -0
  368. data/lib/sts/niso_sts/toc.rb +32 -0
  369. data/lib/sts/niso_sts/toc_div.rb +30 -0
  370. data/lib/sts/niso_sts/toc_entry.rb +30 -0
  371. data/lib/sts/niso_sts/toc_title_group.rb +22 -0
  372. data/lib/sts/niso_sts/trans_abstract.rb +1 -0
  373. data/lib/sts/niso_sts/trans_source.rb +2 -0
  374. data/lib/sts/niso_sts/trans_title.rb +2 -0
  375. data/lib/sts/niso_sts/trans_title_group.rb +3 -0
  376. data/lib/sts/niso_sts/underline.rb +5 -0
  377. data/lib/sts/niso_sts/uri.rb +4 -0
  378. data/lib/sts/niso_sts/urn.rb +2 -0
  379. data/lib/sts/niso_sts/verse_group.rb +1 -1
  380. data/lib/sts/niso_sts/verse_line.rb +2 -0
  381. data/lib/sts/niso_sts/version.rb +2 -0
  382. data/lib/sts/niso_sts/volume.rb +2 -0
  383. data/lib/sts/niso_sts/volume_id.rb +2 -0
  384. data/lib/sts/niso_sts/volume_issue_group.rb +3 -4
  385. data/lib/sts/niso_sts/volume_series.rb +2 -0
  386. data/lib/sts/niso_sts/word_count.rb +2 -0
  387. data/lib/sts/niso_sts/year.rb +2 -0
  388. data/lib/sts/niso_sts.rb +35 -10
  389. data/lib/sts/profiles/iso_iec/constraints.rb +43 -0
  390. data/lib/sts/profiles/iso_iec/validator.rb +73 -0
  391. data/lib/sts/profiles/iso_iec.rb +10 -0
  392. data/lib/sts/profiles.rb +7 -0
  393. data/lib/sts/tbx_iso_tml/bold.rb +30 -1
  394. data/lib/sts/tbx_iso_tml/caption.rb +3 -0
  395. data/lib/sts/tbx_iso_tml/col.rb +10 -0
  396. data/lib/sts/tbx_iso_tml/cross_reference.rb +2 -0
  397. data/lib/sts/tbx_iso_tml/definition.rb +18 -2
  398. data/lib/sts/tbx_iso_tml/entailed_term.rb +2 -0
  399. data/lib/sts/tbx_iso_tml/example.rb +9 -3
  400. data/lib/sts/tbx_iso_tml/external_graphic.rb +2 -0
  401. data/lib/sts/tbx_iso_tml/external_source.rb +2 -0
  402. data/lib/sts/tbx_iso_tml/fn.rb +3 -2
  403. data/lib/sts/tbx_iso_tml/fn_group.rb +3 -0
  404. data/lib/sts/tbx_iso_tml/geographical_usage.rb +3 -0
  405. data/lib/sts/tbx_iso_tml/grammatical_gender.rb +2 -0
  406. data/lib/sts/tbx_iso_tml/grammatical_number.rb +2 -0
  407. data/lib/sts/tbx_iso_tml/italic.rb +27 -1
  408. data/lib/sts/tbx_iso_tml/lang_set.rb +2 -0
  409. data/lib/sts/tbx_iso_tml/mfenced.rb +2 -0
  410. data/lib/sts/tbx_iso_tml/mfrac.rb +2 -2
  411. data/lib/sts/tbx_iso_tml/mi.rb +3 -2
  412. data/lib/sts/tbx_iso_tml/mrow.rb +2 -2
  413. data/lib/sts/tbx_iso_tml/mspace.rb +2 -0
  414. data/lib/sts/tbx_iso_tml/mstyle.rb +2 -2
  415. data/lib/sts/tbx_iso_tml/msub.rb +2 -0
  416. data/lib/sts/tbx_iso_tml/msup.rb +4 -1
  417. data/lib/sts/tbx_iso_tml/munder.rb +3 -0
  418. data/lib/sts/tbx_iso_tml/munderover.rb +2 -0
  419. data/lib/sts/tbx_iso_tml/normative_authorization.rb +2 -0
  420. data/lib/sts/tbx_iso_tml/note.rb +11 -7
  421. data/lib/sts/tbx_iso_tml/part_of_speech.rb +2 -0
  422. data/lib/sts/tbx_iso_tml/pronunciation.rb +3 -0
  423. data/lib/sts/tbx_iso_tml/see.rb +2 -0
  424. data/lib/sts/tbx_iso_tml/semantics.rb +2 -0
  425. data/lib/sts/tbx_iso_tml/source.rb +6 -0
  426. data/lib/sts/tbx_iso_tml/subject_field.rb +2 -0
  427. data/lib/sts/tbx_iso_tml/sup.rb +3 -2
  428. data/lib/sts/tbx_iso_tml/table.rb +1 -0
  429. data/lib/sts/tbx_iso_tml/table_wrap.rb +3 -1
  430. data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +3 -0
  431. data/lib/sts/tbx_iso_tml/tbody.rb +9 -1
  432. data/lib/sts/tbx_iso_tml/td.rb +122 -17
  433. data/lib/sts/tbx_iso_tml/term.rb +9 -5
  434. data/lib/sts/tbx_iso_tml/term_type.rb +2 -0
  435. data/lib/sts/tbx_iso_tml/tfoot.rb +5 -1
  436. data/lib/sts/tbx_iso_tml/th.rb +133 -18
  437. data/lib/sts/tbx_iso_tml/thead.rb +9 -1
  438. data/lib/sts/tbx_iso_tml/tr.rb +16 -0
  439. data/lib/sts/tbx_iso_tml/xref.rb +2 -2
  440. data/lib/sts/version.rb +1 -1
  441. data/lib/sts.rb +1 -2
  442. data/reference-docs/Guidelines for coding ed.2.1.pdf +0 -0
  443. data/reference-docs/NISO-STS-1-2-compare-1-0.pdf +0 -0
  444. data/reference-docs/NISOSTS-guidelines-v1.0.pdf +0 -0
  445. metadata +76 -3
  446. data/lib/sts/niso_sts/mathml.rb +0 -69
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CopyrightStatement < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "copyright-statement"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CopyrightYear < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "copyright-year"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Country < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
9
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
10
 
10
11
  xml do
11
12
  element "country"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Counts < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :fig_count, ::Sts::NisoSts::FigCount
7
8
  attribute :table_count, ::Sts::NisoSts::TableCount
8
9
  attribute :equation_count, ::Sts::NisoSts::EquationCount
@@ -12,6 +13,8 @@ module Sts
12
13
 
13
14
  xml do
14
15
  element "counts"
16
+ map_attribute "id", to: :id
17
+ ordered
15
18
 
16
19
  map_element "fig-count", to: :fig_count
17
20
  map_element "table-count", to: :table_count
@@ -3,12 +3,15 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CustomMeta < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :lang, Lutaml::Xml::W3c::XmlLangType
7
8
  attribute :meta_name, :string
8
9
  attribute :meta_value, :string
9
10
 
10
11
  xml do
11
12
  element "custom-meta"
13
+ map_attribute "id", to: :id
14
+ ordered
12
15
 
13
16
  map_attribute "lang", to: :lang
14
17
  map_element "meta-name", to: :meta_name
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CustomMetaGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :custom_meta, ::Sts::NisoSts::CustomMeta, collection: true
7
8
 
8
9
  xml do
9
10
  element "custom-meta-group"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "custom-meta", to: :custom_meta
12
15
  end
13
16
  end
@@ -3,17 +3,46 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DataTitle < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
6
10
  attribute :content, :string, collection: true
7
11
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
12
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
13
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
14
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
15
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
16
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
17
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
18
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
19
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
20
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
21
+ attribute :target, ::Sts::NisoSts::Target, collection: true
22
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
9
23
 
10
24
  xml do
11
25
  element "data-title"
12
26
  mixed_content
13
27
 
28
+ map_attribute "content-type", to: :content_type
29
+ map_attribute "id", to: :id
30
+ map_attribute "specific-use", to: :specific_use
31
+ map_attribute "xml:lang", to: :xml_lang
32
+
14
33
  map_content to: :content
15
34
  map_element "bold", to: :bold
16
35
  map_element "italic", to: :italic
36
+ map_element "sub", to: :sub
37
+ map_element "sup", to: :sup
38
+ map_element "ext-link", to: :ext_link
39
+ map_element "inline-graphic", to: :inline_graphic
40
+ map_element "private-char", to: :private_char
41
+ map_element "named-content", to: :named_content
42
+ map_element "styled-content", to: :styled_content
43
+ map_element "fn", to: :fn
44
+ map_element "target", to: :target
45
+ map_element "xref", to: :xref
17
46
  end
18
47
  end
19
48
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Date < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :day, :string
7
8
  attribute :month, :string
8
9
  attribute :year, :string
@@ -12,6 +13,8 @@ module Sts
12
13
 
13
14
  xml do
14
15
  element "date"
16
+ map_attribute "id", to: :id
17
+ ordered
15
18
 
16
19
  map_attribute "date-type", to: :date_type
17
20
  map_element "day", to: :day
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DateInCitation < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content_type, :string
7
8
  attribute :day, :string
8
9
  attribute :month, :string
@@ -13,6 +14,7 @@ module Sts
13
14
  xml do
14
15
  element "date-in-citation"
15
16
 
17
+ map_attribute "id", to: :id
16
18
  map_attribute "content-type", to: :content_type
17
19
  map_element "day", to: :day
18
20
  map_element "month", to: :month
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Day < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "day"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Def < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :paragraph, ::Sts::NisoSts::Paragraph
7
8
 
8
9
  xml do
9
10
  element "def"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "p", to: :paragraph
12
15
  end
13
16
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class DefHead < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content, :string, collection: true
8
+
9
+ xml do
10
+ element "def-head"
11
+ mixed_content
12
+
13
+ map_attribute "id", to: :id
14
+ map_content to: :content
15
+ end
16
+ end
17
+ end
18
+ end
@@ -3,16 +3,29 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DefItem < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :specific_use, :string
8
+ attribute :xml_lang, :string
7
9
  attribute :term, ::Sts::NisoSts::Term
8
10
  attribute :definition, ::Sts::NisoSts::Def
11
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
12
+ attribute :see, ::Sts::NisoSts::See
13
+ attribute :see_also, ::Sts::NisoSts::SeeAlso
14
+ attribute :second, ::Sts::NisoSts::Term
9
15
 
10
16
  xml do
11
17
  element "def-item"
18
+ ordered
12
19
 
20
+ map_attribute "id", to: :id
13
21
  map_attribute "specific-use", to: :specific_use
22
+ map_attribute "xml:lang", to: :xml_lang
14
23
  map_element "term", to: :term, render_nil: true
15
24
  map_element "def", to: :definition
25
+ map_element "xref", to: :xref
26
+ map_element "see", to: :see
27
+ map_element "see-also", to: :see_also
28
+ map_element "second", to: :second
16
29
  end
17
30
  end
18
31
  end
@@ -3,19 +3,41 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DefList < Lutaml::Model::Serializable
6
- attribute :title, :string
7
- attribute :specific_use, :string
6
+ attribute :id, :string
7
+ attribute :continued_from, :string
8
+ attribute :list_content, :string
8
9
  attribute :list_type, :string
10
+ attribute :originator, :string
11
+ attribute :prefix_word, :string
12
+ attribute :specific_use, :string
13
+ attribute :xml_lang, :string
14
+ attribute :editing_instruction, ::Sts::NisoSts::EditingInstruction,
15
+ collection: true
16
+ attribute :label, ::Sts::NisoSts::Label
17
+ attribute :title, :string
18
+ attribute :term_head, ::Sts::NisoSts::TermHead
19
+ attribute :def_head, ::Sts::NisoSts::DefHead
9
20
  attribute :def_item, ::Sts::NisoSts::DefItem, collection: true
10
- attribute :def_list, ::Sts::NisoSts::DefList
21
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
11
22
 
12
23
  xml do
13
24
  element "def-list"
25
+ ordered
14
26
 
27
+ map_attribute "id", to: :id
28
+ map_attribute "continued-from", to: :continued_from
29
+ map_attribute "list-content", to: :list_content
15
30
  map_attribute "list-type", to: :list_type
31
+ map_attribute "originator", to: :originator
32
+ map_attribute "prefix-word", to: :prefix_word
16
33
  map_attribute "specific-use", to: :specific_use
34
+ map_attribute "xml:lang", to: :xml_lang
17
35
 
36
+ map_element "editing-instruction", to: :editing_instruction
37
+ map_element "label", to: :label
18
38
  map_element "title", to: :title
39
+ map_element "term-head", to: :term_head
40
+ map_element "def-head", to: :def_head
19
41
  map_element "def-item", to: :def_item
20
42
  map_element "def-list", to: :def_list
21
43
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Degrees < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
9
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
10
 
10
11
  xml do
11
12
  element "degrees"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -5,20 +5,17 @@ module Sts
5
5
  class DispFormulaGroup < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
- attribute :specific_use, :string
9
8
  attribute :label, ::Sts::NisoSts::Label
10
- attribute :caption, ::Sts::NisoSts::Caption
11
9
  attribute :disp_formula, ::Sts::NisoSts::DisplayFormula, collection: true
12
10
 
13
11
  xml do
14
12
  element "disp-formula-group"
13
+ ordered
15
14
 
16
15
  map_attribute "id", to: :id
17
16
  map_attribute "content-type", to: :content_type
18
- map_attribute "specific-use", to: :specific_use
19
17
 
20
18
  map_element "label", to: :label
21
- map_element "caption", to: :caption
22
19
  map_element "disp-formula", to: :disp_formula
23
20
  end
24
21
  end
@@ -5,6 +5,7 @@ module Sts
5
5
  class DispQuote < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :originator, :string
8
9
  attribute :specific_use, :string
9
10
  attribute :label, ::Sts::NisoSts::Label
10
11
  attribute :attribution, ::Sts::NisoSts::Attribution
@@ -12,10 +13,11 @@ module Sts
12
13
 
13
14
  xml do
14
15
  element "disp-quote"
15
- mixed_content
16
+ ordered
16
17
 
17
18
  map_attribute "id", to: :id
18
19
  map_attribute "content-type", to: :content_type
20
+ map_attribute "originator", to: :originator
19
21
  map_attribute "specific-use", to: :specific_use
20
22
 
21
23
  map_element "label", to: :label
@@ -1,21 +1,66 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class DisplayFormula < Lutaml::Model::Serializable
8
6
  attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :originator, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :content, :string, collection: true
12
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
13
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
14
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
15
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
16
+ attribute :break_, ::Sts::NisoSts::Break, collection: true
17
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
18
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
19
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
20
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
21
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
9
22
  attribute :label, ::Sts::NisoSts::Label
10
23
  attribute :math, ::Sts::TbxIsoTml::Math
24
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
25
+ attribute :tex_math, ::Sts::NisoSts::TexMath
26
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
27
+ attribute :alternatives, ::Sts::NisoSts::Alternatives
28
+ attribute :caption, ::Sts::NisoSts::Caption
29
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
30
+ attribute :target, ::Sts::NisoSts::Target, collection: true
31
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
11
32
 
12
33
  xml do
13
34
  element "disp-formula"
35
+ mixed_content
14
36
 
15
37
  map_attribute "id", to: :id
38
+ map_attribute "content-type", to: :content_type
39
+ map_attribute "originator", to: :originator
40
+ map_attribute "specific-use", to: :specific_use
41
+ map_attribute "xml:lang", to: :xml_lang
16
42
 
43
+ map_content to: :content
44
+ map_element "bold", to: :bold
45
+ map_element "italic", to: :italic
46
+ map_element "sub", to: :sub
47
+ map_element "sup", to: :sup
48
+ map_element "break", to: :break_
49
+ map_element "ext-link", to: :ext_link
50
+ map_element "inline-graphic", to: :inline_graphic
51
+ map_element "private-char", to: :private_char
52
+ map_element "named-content", to: :named_content
53
+ map_element "styled-content", to: :styled_content
17
54
  map_element "label", to: :label
18
55
  map_element "math", to: :math
56
+ map_element "inline-formula", to: :inline_formula
57
+ map_element "tex-math", to: :tex_math
58
+ map_element "graphic", to: :graphic
59
+ map_element "alternatives", to: :alternatives
60
+ map_element "caption", to: :caption
61
+ map_element "fn", to: :fn
62
+ map_element "target", to: :target
63
+ map_element "xref", to: :xref
19
64
  end
20
65
  end
21
66
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DocNumber < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "doc-number"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DocType < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "doc-type"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -11,6 +11,7 @@ module Sts
11
11
 
12
12
  xml do
13
13
  element "doc-ident"
14
+ ordered
14
15
 
15
16
  map_element "sdo", to: :sdo
16
17
  map_element "proj-id", to: :proj_id
@@ -4,20 +4,24 @@ module Sts
4
4
  module NisoSts
5
5
  class EditingInstruction < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
- attribute :xml_lang, :string
7
+ attribute :content_type, :string
8
+ attribute :rid, :string
8
9
  attribute :specific_use, :string
9
- attribute :content, :string, collection: true
10
10
  attribute :label, ::Sts::NisoSts::Label
11
+ attribute :title, :string
12
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
11
13
 
12
14
  xml do
13
15
  element "editing-instruction"
14
- mixed_content
16
+ ordered
15
17
 
16
18
  map_attribute "id", to: :id
17
- map_attribute "xml:lang", to: :xml_lang
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "rid", to: :rid
18
21
  map_attribute "specific-use", to: :specific_use
19
- map_content to: :content
20
22
  map_element "label", to: :label
23
+ map_element "title", to: :title
24
+ map_element "p", to: :p
21
25
  end
22
26
  end
23
27
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Edition < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "edition"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -50,7 +50,7 @@ module Sts
50
50
 
51
51
  xml do
52
52
  element "element-citation"
53
- mixed_content
53
+ ordered
54
54
 
55
55
  map_attribute "publication-type", to: :publication_type
56
56
  map_attribute "id", to: :id
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ElocationId < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string
7
8
  attribute :elocation_id_type, :string
8
9
 
@@ -10,6 +11,7 @@ module Sts
10
11
  element "elocation-id"
11
12
 
12
13
  map_content to: :content
14
+ map_attribute "id", to: :id
13
15
  map_attribute "elocation-id-type", to: :elocation_id_type
14
16
  end
15
17
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Email < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
9
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
10
 
10
11
  xml do
11
12
  element "email"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class EquationCount < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :count, :integer
7
8
 
8
9
  xml do
9
10
  element "equation-count"
11
+ map_attribute "id", to: :id
10
12
  map_attribute "count", to: :count
11
13
  end
12
14
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Era < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "era"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -1,19 +1,49 @@
1
- # frozen_striing_literal: true
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ExtLink < Lutaml::Model::Serializable
6
+ attribute :assigning_authority, :string
6
7
  attribute :ext_link_type, :string
8
+ attribute :id, :string
9
+ attribute :specific_use, :string
7
10
  attribute :href, :xlink_href
8
- attribute :content, :string
11
+ attribute :xlink_type, :string
12
+ attribute :xlink_role, :string
13
+ attribute :xlink_title, :string
14
+ attribute :xlink_show, :string
15
+ attribute :xlink_actuate, :string
16
+ attribute :xml_lang, :string
17
+ attribute :content, :string, collection: true
18
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
19
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
20
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
21
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
22
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
9
23
 
10
24
  xml do
11
25
  element "ext-link"
26
+ mixed_content
12
27
 
13
28
  map_content to: :content
14
29
 
30
+ map_attribute "assigning-authority", to: :assigning_authority
15
31
  map_attribute "ext-link-type", to: :ext_link_type
32
+ map_attribute "id", to: :id
33
+ map_attribute "specific-use", to: :specific_use
16
34
  map_attribute "href", to: :href
35
+ map_attribute "xlink:type", to: :xlink_type
36
+ map_attribute "xlink:role", to: :xlink_role
37
+ map_attribute "xlink:title", to: :xlink_title
38
+ map_attribute "xlink:show", to: :xlink_show
39
+ map_attribute "xlink:actuate", to: :xlink_actuate
40
+ map_attribute "xml:lang", to: :xml_lang
41
+
42
+ map_element "bold", to: :bold
43
+ map_element "italic", to: :italic
44
+ map_element "sub", to: :sub
45
+ map_element "sup", to: :sup
46
+ map_element "inline-formula", to: :inline_formula
17
47
  end
18
48
  end
19
49
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Fax < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
9
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
10
 
10
11
  xml do
11
12
  element "fax"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class FigCount < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :count, :integer
7
8
 
8
9
  xml do
9
10
  element "fig-count"
11
+ map_attribute "id", to: :id
10
12
  map_attribute "count", to: :count
11
13
  end
12
14
  end
@@ -14,6 +14,7 @@ module Sts
14
14
 
15
15
  xml do
16
16
  element "fig-group"
17
+ ordered
17
18
 
18
19
  map_attribute "id", to: :id
19
20
  map_attribute "content-type", to: :content_type