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
@@ -4,31 +4,35 @@ module Sts
4
4
  module TbxIsoTml
5
5
  class Note < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
- attribute :value, :string, collection: true
8
7
  attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap
9
8
  attribute :entailed_term, ::Sts::TbxIsoTml::EntailedTerm, collection: true
10
9
  attribute :math, ::Sts::TbxIsoTml::Math, collection: true
11
- attribute :xref, ::Sts::TbxIsoTml::Xref
12
- attribute :list, ::Sts::NisoSts::List
13
- attribute :std, ::Sts::NisoSts::ReferenceStandard
14
- attribute :sup, ::Sts::TbxIsoTml::Sup
10
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
11
+ attribute :list, ::Sts::NisoSts::List, collection: true
12
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
13
+ attribute :sup, ::Sts::TbxIsoTml::Sup, collection: true
14
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
15
15
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
16
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
17
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
16
18
 
17
19
  xml do
18
20
  element "note"
19
- mixed_content
21
+ ordered
20
22
  namespace ::Sts::Namespaces::TbxNamespace
21
23
 
22
24
  map_attribute "id", to: :id
23
- map_content to: :value
24
25
  map_element "entailedTerm", to: :entailed_term
25
26
  map_element "list", to: :list
26
27
  map_element "table-wrap", to: :table_wrap
27
28
  map_element "std", to: :std
28
29
  map_element "sup", to: :sup
30
+ map_element "sub", to: :sub
29
31
  map_element "italic", to: :italic
32
+ map_element "bold", to: :bold
30
33
  map_element "xref", to: :xref
31
34
  map_element "math", to: :math
35
+ map_element "inline-formula", to: :inline_formula
32
36
  end
33
37
  end
34
38
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class PartOfSpeech < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :value, :string,
7
8
  values: %w[noun verb adj adv]
8
9
 
@@ -10,6 +11,7 @@ module Sts
10
11
  element "partOfSpeech"
11
12
  namespace ::Sts::Namespaces::TbxNamespace
12
13
 
14
+ map_attribute "id", to: :id
13
15
  map_attribute "value", to: :value
14
16
  end
15
17
  end
@@ -3,10 +3,13 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Pronunciation < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :value, :string
7
8
 
8
9
  xml do
9
10
  element "pronunciation"
11
+
12
+ map_attribute "id", to: :id
10
13
  namespace ::Sts::Namespaces::TbxNamespace
11
14
 
12
15
  map_content to: :value
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class See < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :script, :string
7
8
  attribute :value, :string
8
9
 
@@ -10,6 +11,7 @@ module Sts
10
11
  element "see"
11
12
  namespace ::Sts::Namespaces::TbxNamespace
12
13
 
14
+ map_attribute "id", to: :id
13
15
  map_attribute "script", to: :script
14
16
  map_content to: :value
15
17
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Semantics < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :mrow, ::Sts::TbxIsoTml::Mrow, collection: true
7
8
  attribute :mo, :string
8
9
  attribute :mtext, :string
@@ -10,6 +11,7 @@ module Sts
10
11
  attribute :content, :string, collection: true
11
12
  xml do
12
13
  element "semantics"
14
+ map_attribute "id", to: :id
13
15
  mixed_content
14
16
  namespace ::Sts::Namespaces::MathmlNamespace
15
17
 
@@ -3,16 +3,22 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Source < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :value, :string, collection: true
7
8
  attribute :italic, ::Sts::TbxIsoTml::Italic
9
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
10
+ attribute :sup, ::Sts::TbxIsoTml::Sup, collection: true
8
11
 
9
12
  xml do
10
13
  element "source"
14
+ map_attribute "id", to: :id
11
15
  mixed_content
12
16
  namespace ::Sts::Namespaces::TbxNamespace
13
17
 
14
18
  map_content to: :value
15
19
  map_element "italic", to: :italic
20
+ map_element "xref", to: :xref
21
+ map_element "sup", to: :sup
16
22
  end
17
23
  end
18
24
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class SubjectField < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :value, :string, collection: true
7
8
  xml do
8
9
  element "subjectField"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
  namespace ::Sts::Namespaces::TbxNamespace
11
13
 
@@ -1,16 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module TbxIsoTml
7
5
  class Sup < Lutaml::Model::Serializable
6
+ attribute :id, :string
8
7
  attribute :value, :string
9
8
  attribute :xref, ::Sts::TbxIsoTml::Xref
10
9
 
11
10
  xml do
12
11
  element "sup"
13
12
 
13
+ map_attribute "id", to: :id
14
+
14
15
  map_element "xref", to: :xref
15
16
  map_content to: :value
16
17
  end
@@ -22,6 +22,7 @@ module Sts
22
22
 
23
23
  xml do
24
24
  element "table"
25
+ ordered
25
26
 
26
27
  map_attribute "border", to: :border
27
28
  map_attribute "rules", to: :rules
@@ -12,13 +12,14 @@ module Sts
12
12
  attribute :content_type, :string
13
13
  attribute :originator, :string
14
14
  attribute :table, ::Sts::TbxIsoTml::Table, collection: true
15
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
15
16
  attribute :table_wrap_foot, ::Sts::TbxIsoTml::TableWrapFoot
16
17
 
17
- # TODO: This require will cause a loop when defined in header
18
18
  attribute :caption, ::Sts::NisoSts::Caption
19
19
 
20
20
  xml do
21
21
  element "table-wrap"
22
+ ordered
22
23
 
23
24
  map_attribute "id", to: :id
24
25
  map_attribute "orientation", to: :orientation
@@ -31,6 +32,7 @@ module Sts
31
32
  map_element "label", to: :label
32
33
  map_element "caption", to: :caption
33
34
  map_element "table", to: :table
35
+ map_element "graphic", to: :graphic
34
36
  map_element "table-wrap-foot", to: :table_wrap_foot
35
37
  end
36
38
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class TableWrapFoot < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :fn_group, ::Sts::TbxIsoTml::FnGroup
7
8
  attribute :attrib, ::Sts::NisoSts::Attrib
8
9
  attribute :permissions, ::Sts::NisoSts::Permissions
@@ -13,7 +14,9 @@ module Sts
13
14
 
14
15
  xml do
15
16
  element "table-wrap-foot"
17
+ ordered
16
18
 
19
+ map_attribute "id", to: :id
17
20
  map_element "fn-group", to: :fn_group
18
21
  map_element "attrib", to: :attrib
19
22
  map_element "permissions", to: :permissions
@@ -3,14 +3,22 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Tbody < Lutaml::Model::Serializable
6
- attribute :tr, ::Sts::TbxIsoTml::Tr, collection: true
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :style, :string
9
+ attribute :align, :string
7
10
  attribute :char, :string
8
11
  attribute :charoff, :string
9
12
  attribute :valign, :string
13
+ attribute :tr, ::Sts::TbxIsoTml::Tr, collection: true
10
14
 
11
15
  xml do
12
16
  element "tbody"
13
17
 
18
+ map_attribute "id", to: :id
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "style", to: :style
21
+ map_attribute "align", to: :align
14
22
  map_attribute "char", to: :char, value_map: { to: { empty: :empty } }
15
23
  map_attribute "charoff", to: :charoff
16
24
  map_attribute "valign", to: :valign
@@ -7,8 +7,6 @@ module Sts
7
7
  attribute :align, :string
8
8
  attribute :scope, :string
9
9
  attribute :style, :string
10
- attribute :bold, ::Sts::TbxIsoTml::Bold
11
- attribute :italic, ::Sts::TbxIsoTml::Italic
12
10
  attribute :content_type, :string
13
11
  attribute :char, :string
14
12
  attribute :charoff, :string
@@ -19,17 +17,93 @@ module Sts
19
17
  attribute :axis, :string
20
18
  attribute :headers, :string
21
19
  attribute :id, :string
22
- attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
23
- attribute :non_normative_note,
24
- ::Sts::NisoSts::NonNormativeNote,
20
+
21
+ # block-math.class
22
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula,
23
+ collection: true
24
+ attribute :disp_formula_group, ::Sts::NisoSts::DispFormulaGroup,
25
+ collection: true
26
+
27
+ # citation.class
28
+ attribute :element_citation, ::Sts::NisoSts::ElementCitation,
29
+ collection: true
30
+ attribute :mixed_citation, ::Sts::NisoSts::MixedCitation,
31
+ collection: true
32
+
33
+ # emphasis.class
34
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
35
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
36
+ attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
37
+ attribute :overline, ::Sts::NisoSts::Overline, collection: true
38
+ attribute :roman, ::Sts::NisoSts::Roman, collection: true
39
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
40
+ attribute :strike, ::Sts::NisoSts::Strike, collection: true
41
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
42
+
43
+ # figures.class
44
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
45
+ attribute :fig_group, ::Sts::NisoSts::FigGroup, collection: true
46
+
47
+ # inline-display-noalt.class
48
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic,
49
+ collection: true
50
+ attribute :private_char, ::Sts::NisoSts::PrivateChar,
25
51
  collection: true
26
- attribute :list, ::Sts::NisoSts::List
52
+
53
+ # inline-math.class
54
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula,
55
+ collection: true
56
+
57
+ # list.class
58
+ attribute :list, ::Sts::NisoSts::List, collection: true
59
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
60
+
61
+ # all-notes.class
62
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
63
+ collection: true
64
+ attribute :normative_note, ::Sts::NisoSts::NormativeNote,
65
+ collection: true
66
+ attribute :non_normative_example,
67
+ ::Sts::NisoSts::NonNormativeExample, collection: true
68
+ attribute :normative_example, ::Sts::NisoSts::NormativeExample,
69
+ collection: true
70
+
71
+ # nothing-but-para.class
72
+ attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
73
+
74
+ # address-link.class
75
+ attribute :email, ::Sts::NisoSts::Email, collection: true
76
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
77
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
78
+
79
+ # phrase.class
80
+ attribute :named_content, ::Sts::NisoSts::NamedContent,
81
+ collection: true
82
+ attribute :styled_content, ::Sts::NisoSts::StyledContent,
83
+ collection: true
84
+
85
+ # simple-display.class
86
+ attribute :alternatives, ::Sts::NisoSts::Alternatives, collection: true
87
+ attribute :array, ::Sts::IsoSts::Array, collection: true
88
+ attribute :code, ::Sts::NisoSts::Code, collection: true
89
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
90
+ attribute :media, ::Sts::NisoSts::Media, collection: true
91
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
92
+
93
+ # simple-link.class
94
+ attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
95
+ attribute :target, ::Sts::NisoSts::Target, collection: true
27
96
  attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
28
- attribute :std, ::Sts::NisoSts::ReferenceStandard
29
- attribute :graphic, ::Sts::NisoSts::Graphic
30
- attribute :def_list, ::Sts::NisoSts::DefList
31
- attribute :paragraph, ::Sts::NisoSts::Paragraph
32
- attribute :fn, ::Sts::TbxIsoTml::Fn
97
+
98
+ # subsup.class (already in emphasis)
99
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
100
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
101
+
102
+ # break.class
103
+ attribute :break, ::Sts::TbxIsoTml::TableBreak
104
+
105
+ # citation.class (std)
106
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
33
107
 
34
108
  xml do # rubocop:disable Metrics/BlockLength
35
109
  element "td"
@@ -51,17 +125,48 @@ module Sts
51
125
  map_attribute "headers", to: :headers
52
126
  map_attribute "id", to: :id
53
127
 
54
- map_element "italic", to: :italic
128
+ map_element "disp-formula", to: :disp_formula
129
+ map_element "disp-formula-group", to: :disp_formula_group
130
+ map_element "element-citation", to: :element_citation
131
+ map_element "mixed-citation", to: :mixed_citation
55
132
  map_element "bold", to: :bold
56
- map_element "xref", to: :xref
57
- map_element "std", to: :std
58
- map_element "list", to: :list
133
+ map_element "italic", to: :italic
134
+ map_element "monospace", to: :monospace
135
+ map_element "overline", to: :overline
136
+ map_element "roman", to: :roman
137
+ map_element "sc", to: :sc
138
+ map_element "strike", to: :strike
139
+ map_element "underline", to: :underline
140
+ map_element "fig", to: :fig
141
+ map_element "fig-group", to: :fig_group
142
+ map_element "inline-graphic", to: :inline_graphic
143
+ map_element "private-char", to: :private_char
59
144
  map_element "inline-formula", to: :inline_formula
60
- map_element "non-normative-note", to: :non_normative_note
61
- map_element "graphic", to: :graphic
145
+ map_element "list", to: :list
62
146
  map_element "def-list", to: :def_list
147
+ map_element "non-normative-note", to: :non_normative_note
148
+ map_element "normative-note", to: :normative_note
149
+ map_element "non-normative-example", to: :non_normative_example
150
+ map_element "normative-example", to: :normative_example
63
151
  map_element "p", to: :paragraph
152
+ map_element "email", to: :email
153
+ map_element "ext-link", to: :ext_link
154
+ map_element "uri", to: :uri
155
+ map_element "named-content", to: :named_content
156
+ map_element "styled-content", to: :styled_content
157
+ map_element "alternatives", to: :alternatives
158
+ map_element "array", to: :array
159
+ map_element "code", to: :code
160
+ map_element "graphic", to: :graphic
161
+ map_element "media", to: :media
162
+ map_element "preformat", to: :preformat
64
163
  map_element "fn", to: :fn
164
+ map_element "target", to: :target
165
+ map_element "xref", to: :xref
166
+ map_element "sub", to: :sub
167
+ map_element "sup", to: :sup
168
+ map_element "break", to: :break
169
+ map_element "std", to: :std
65
170
  end
66
171
  end
67
172
  end
@@ -6,12 +6,14 @@ module Sts
6
6
  attribute :id, :string
7
7
  attribute :script, :string
8
8
  attribute :value, :string, collection: true
9
- attribute :italic, ::Sts::TbxIsoTml::Italic
10
- attribute :bold, :string
11
- attribute :sub, :string
12
- attribute :math, ::Sts::TbxIsoTml::Math
13
- attribute :xref, ::Sts::TbxIsoTml::Xref
9
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
10
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
11
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
12
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
13
+ attribute :math, ::Sts::TbxIsoTml::Math, collection: true
14
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
14
15
  attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
16
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
15
17
 
16
18
  xml do
17
19
  element "term"
@@ -24,8 +26,10 @@ module Sts
24
26
  map_element "italic", to: :italic
25
27
  map_element "bold", to: :bold
26
28
  map_element "sub", to: :sub
29
+ map_element "sup", to: :sup
27
30
  map_element "xref", to: :xref
28
31
  map_element "math", to: :math
32
+ map_element "std", to: :std
29
33
  map_content to: :value
30
34
  end
31
35
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class TermType < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :value, :string,
7
8
  values: %w[acronym abbreviation equation formula fullForm symbol variant]
8
9
 
@@ -10,6 +11,7 @@ module Sts
10
11
  element "termType"
11
12
  namespace ::Sts::Namespaces::TbxNamespace
12
13
 
14
+ map_attribute "id", to: :id
13
15
  map_attribute "value", to: :value
14
16
  end
15
17
  end
@@ -3,17 +3,21 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Tfoot < Lutaml::Model::Serializable
6
- attribute :tr, ::Sts::TbxIsoTml::Tr, collection: true
6
+ attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :style, :string
8
9
  attribute :align, :string
9
10
  attribute :char, :string
10
11
  attribute :charoff, :string
11
12
  attribute :valign, :string
13
+ attribute :tr, ::Sts::TbxIsoTml::Tr, collection: true
12
14
 
13
15
  xml do
14
16
  element "tfoot"
15
17
 
18
+ map_attribute "id", to: :id
16
19
  map_attribute "content-type", to: :content_type
20
+ map_attribute "style", to: :style
17
21
  map_attribute "align", to: :align
18
22
  map_attribute "char", to: :char, value_map: { to: { empty: :empty } }
19
23
  map_attribute "charoff", to: :charoff
@@ -4,55 +4,170 @@ module Sts
4
4
  module TbxIsoTml
5
5
  class Th < Lutaml::Model::Serializable
6
6
  attribute :content, :string, collection: true
7
- attribute :colspan, :string
8
7
  attribute :align, :string
9
8
  attribute :scope, :string
10
9
  attribute :style, :string
11
- attribute :rowspan, :string
12
- attribute :break, ::Sts::TbxIsoTml::TableBreak
13
10
  attribute :content_type, :string
14
11
  attribute :char, :string
15
12
  attribute :charoff, :string
13
+ attribute :colspan, :string
14
+ attribute :rowspan, :string
16
15
  attribute :valign, :string
17
16
  attribute :abbr, :string
18
17
  attribute :axis, :string
19
18
  attribute :headers, :string
20
19
  attribute :id, :string
21
- attribute :italic, ::Sts::TbxIsoTml::Italic
22
- attribute :bold, ::Sts::TbxIsoTml::Bold
23
- attribute :std, ::Sts::NisoSts::ReferenceStandard
24
- attribute :xref, ::Sts::TbxIsoTml::Xref
25
- attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
26
- attribute :paragraph, ::Sts::NisoSts::Paragraph
27
- attribute :fn, ::Sts::TbxIsoTml::Fn
28
-
29
- xml do
20
+
21
+ # block-math.class
22
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula,
23
+ collection: true
24
+ attribute :disp_formula_group, ::Sts::NisoSts::DispFormulaGroup,
25
+ collection: true
26
+
27
+ # citation.class
28
+ attribute :element_citation, ::Sts::NisoSts::ElementCitation,
29
+ collection: true
30
+ attribute :mixed_citation, ::Sts::NisoSts::MixedCitation,
31
+ collection: true
32
+
33
+ # emphasis.class
34
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
35
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
36
+ attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
37
+ attribute :overline, ::Sts::NisoSts::Overline, collection: true
38
+ attribute :roman, ::Sts::NisoSts::Roman, collection: true
39
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
40
+ attribute :strike, ::Sts::NisoSts::Strike, collection: true
41
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
42
+
43
+ # figures.class
44
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
45
+ attribute :fig_group, ::Sts::NisoSts::FigGroup, collection: true
46
+
47
+ # inline-display-noalt.class
48
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic,
49
+ collection: true
50
+ attribute :private_char, ::Sts::NisoSts::PrivateChar,
51
+ collection: true
52
+
53
+ # inline-math.class
54
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula,
55
+ collection: true
56
+
57
+ # list.class
58
+ attribute :list, ::Sts::NisoSts::List, collection: true
59
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
60
+
61
+ # all-notes.class
62
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
63
+ collection: true
64
+ attribute :normative_note, ::Sts::NisoSts::NormativeNote,
65
+ collection: true
66
+ attribute :non_normative_example,
67
+ ::Sts::NisoSts::NonNormativeExample, collection: true
68
+ attribute :normative_example, ::Sts::NisoSts::NormativeExample,
69
+ collection: true
70
+
71
+ # nothing-but-para.class
72
+ attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
73
+
74
+ # address-link.class
75
+ attribute :email, ::Sts::NisoSts::Email, collection: true
76
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
77
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
78
+
79
+ # phrase.class
80
+ attribute :named_content, ::Sts::NisoSts::NamedContent,
81
+ collection: true
82
+ attribute :styled_content, ::Sts::NisoSts::StyledContent,
83
+ collection: true
84
+
85
+ # simple-display.class
86
+ attribute :alternatives, ::Sts::NisoSts::Alternatives,
87
+ collection: true
88
+ attribute :array, ::Sts::IsoSts::Array, collection: true
89
+ attribute :code, ::Sts::NisoSts::Code, collection: true
90
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
91
+ attribute :media, ::Sts::NisoSts::Media, collection: true
92
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
93
+
94
+ # simple-link.class
95
+ attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
96
+ attribute :target, ::Sts::NisoSts::Target, collection: true
97
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
98
+
99
+ # subsup.class
100
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
101
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
102
+
103
+ # break.class
104
+ attribute :break, ::Sts::TbxIsoTml::TableBreak
105
+
106
+ # citation.class (std)
107
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
108
+
109
+ xml do # rubocop:disable Metrics/BlockLength
30
110
  element "th"
31
111
  mixed_content
32
112
 
33
113
  map_content to: :content
34
- map_attribute "colspan", to: :colspan
114
+
35
115
  map_attribute "align", to: :align
36
116
  map_attribute "scope", to: :scope
37
117
  map_attribute "style", to: :style
38
- map_attribute "rowspan", to: :rowspan
39
118
  map_attribute "content-type", to: :content_type
40
119
  map_attribute "char", to: :char, value_map: { to: { empty: :empty } }
41
120
  map_attribute "charoff", to: :charoff
121
+ map_attribute "colspan", to: :colspan
122
+ map_attribute "rowspan", to: :rowspan
42
123
  map_attribute "valign", to: :valign
43
124
  map_attribute "abbr", to: :abbr
44
125
  map_attribute "axis", to: :axis
45
126
  map_attribute "headers", to: :headers
46
127
  map_attribute "id", to: :id
47
128
 
48
- map_element "break", to: :break
49
- map_element "italic", to: :italic
129
+ map_element "disp-formula", to: :disp_formula
130
+ map_element "disp-formula-group", to: :disp_formula_group
131
+ map_element "element-citation", to: :element_citation
132
+ map_element "mixed-citation", to: :mixed_citation
50
133
  map_element "bold", to: :bold
51
- map_element "std", to: :std
52
- map_element "xref", to: :xref
134
+ map_element "italic", to: :italic
135
+ map_element "monospace", to: :monospace
136
+ map_element "overline", to: :overline
137
+ map_element "roman", to: :roman
138
+ map_element "sc", to: :sc
139
+ map_element "strike", to: :strike
140
+ map_element "underline", to: :underline
141
+ map_element "fig", to: :fig
142
+ map_element "fig-group", to: :fig_group
143
+ map_element "inline-graphic", to: :inline_graphic
144
+ map_element "private-char", to: :private_char
53
145
  map_element "inline-formula", to: :inline_formula
146
+ map_element "list", to: :list
147
+ map_element "def-list", to: :def_list
148
+ map_element "non-normative-note", to: :non_normative_note
149
+ map_element "normative-note", to: :normative_note
150
+ map_element "non-normative-example", to: :non_normative_example
151
+ map_element "normative-example", to: :normative_example
54
152
  map_element "p", to: :paragraph
153
+ map_element "email", to: :email
154
+ map_element "ext-link", to: :ext_link
155
+ map_element "uri", to: :uri
156
+ map_element "named-content", to: :named_content
157
+ map_element "styled-content", to: :styled_content
158
+ map_element "alternatives", to: :alternatives
159
+ map_element "array", to: :array
160
+ map_element "code", to: :code
161
+ map_element "graphic", to: :graphic
162
+ map_element "media", to: :media
163
+ map_element "preformat", to: :preformat
55
164
  map_element "fn", to: :fn
165
+ map_element "target", to: :target
166
+ map_element "xref", to: :xref
167
+ map_element "sub", to: :sub
168
+ map_element "sup", to: :sup
169
+ map_element "break", to: :break
170
+ map_element "std", to: :std
56
171
  end
57
172
  end
58
173
  end