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,14 +3,22 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Thead < 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 "thead"
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
@@ -3,11 +3,27 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class Tr < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :style, :string
9
+ attribute :align, :string
10
+ attribute :char, :string
11
+ attribute :charoff, :string
12
+ attribute :valign, :string
6
13
  attribute :th, ::Sts::TbxIsoTml::Th, collection: true
7
14
  attribute :td, ::Sts::TbxIsoTml::Td, collection: true
8
15
 
9
16
  xml do
10
17
  element "tr"
18
+ ordered
19
+
20
+ map_attribute "id", to: :id
21
+ map_attribute "content-type", to: :content_type
22
+ map_attribute "style", to: :style
23
+ map_attribute "align", to: :align
24
+ map_attribute "char", to: :char
25
+ map_attribute "charoff", to: :charoff
26
+ map_attribute "valign", to: :valign
11
27
 
12
28
  map_element "th", to: :th
13
29
  map_element "td", to: :td
@@ -1,10 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module TbxIsoTml
7
5
  class Xref < Lutaml::Model::Serializable
6
+ attribute :id, :string
8
7
  attribute :ref_type, :string
9
8
  attribute :rid, :string
10
9
  attribute :value, :string
@@ -13,6 +12,7 @@ module Sts
13
12
  xml do
14
13
  element "xref"
15
14
 
15
+ map_attribute "id", to: :id
16
16
  map_attribute "ref-type", to: :ref_type
17
17
  map_attribute "rid", to: :rid
18
18
  map_element "sup", to: :sup
data/lib/sts/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sts
4
- VERSION = "0.5.2"
4
+ VERSION = "0.5.4"
5
5
  end
data/lib/sts.rb CHANGED
@@ -1,12 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  autoload :IsoSts, "#{__dir__}/sts/iso_sts"
7
5
  autoload :Mathml, "#{__dir__}/sts/mathml"
8
6
  autoload :Namespaces, "#{__dir__}/sts/namespaces"
9
7
  autoload :NisoSts, "#{__dir__}/sts/niso_sts"
8
+ autoload :Profiles, "#{__dir__}/sts/profiles"
10
9
  autoload :VERSION, "#{__dir__}/sts/version"
11
10
  autoload :TbxIsoTml, "#{__dir__}/sts/tbx_iso_tml"
12
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-22 00:00:00.000000000 Z
11
+ date: 2026-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal
@@ -62,14 +62,50 @@ files:
62
62
  - ".github/workflows/rake.yml"
63
63
  - ".github/workflows/release.yml"
64
64
  - ".gitignore"
65
+ - ".gitmodules"
65
66
  - ".rspec"
66
67
  - ".rubocop-https---raw-githubusercontent-com-riboseinc-oss-guides-master-ci-rubocop-yml"
67
68
  - ".rubocop.yml"
68
69
  - ".rubocop_todo.yml"
70
+ - CLAUDE.md
69
71
  - CODE_OF_CONDUCT.md
72
+ - GAPS.guidelines.iso-sts-ed2.1/01-maintenance.md
73
+ - GAPS.guidelines.iso-sts-ed2.1/03-general.md
74
+ - GAPS.guidelines.iso-sts-ed2.1/04-structure.md
75
+ - GAPS.guidelines.iso-sts-ed2.1/05-content.md
76
+ - GAPS.guidelines.iso-sts-ed2.1/06-tables.md
77
+ - GAPS.guidelines.iso-sts-ed2.1/07-formulae.md
78
+ - GAPS.guidelines.iso-sts-ed2.1/08-figures.md
79
+ - GAPS.guidelines.iso-sts-ed2.1/09-terms.md
80
+ - GAPS.guidelines.iso-sts-ed2.1/10-references.md
81
+ - GAPS.guidelines.iso-sts-ed2.1/annex-a-multilingual.md
82
+ - GAPS.guidelines.niso-sts-v1.0/01-introduction-scope.md
83
+ - GAPS.guidelines.niso-sts-v1.0/02-document-structure.md
84
+ - GAPS.guidelines.niso-sts-v1.0/03-front-matter.md
85
+ - GAPS.guidelines.niso-sts-v1.0/04-body-content.md
86
+ - GAPS.guidelines.niso-sts-v1.0/05-tables-figures.md
87
+ - GAPS.guidelines.niso-sts-v1.0/06-math-formulae.md
88
+ - GAPS.guidelines.niso-sts-v1.0/07-references.md
89
+ - GAPS.guidelines.niso-sts-v1.0/08-terminology.md
90
+ - GAPS.guidelines.niso-sts-v1.0/09-metadata.md
91
+ - GAPS.guidelines.niso-sts-v1.0/10-iso-iec-variant.md
92
+ - GAPS.guidelines.niso-sts-v1.0/SUMMARY.md
93
+ - GAPS.guidelines.schema-xref.md
70
94
  - Gemfile
71
95
  - README.adoc
72
96
  - Rakefile
97
+ - TODO.sts-refactor/00-overview.md
98
+ - TODO.sts-refactor/01-mathml-delegation.md
99
+ - TODO.sts-refactor/02-type-resolution.md
100
+ - TODO.sts-refactor/03-namespace-coupling.md
101
+ - TODO.sts-refactor/04-register-versioning.md
102
+ - TODO.sts-refactor/05-missing-elements.md
103
+ - TODO.sts-refactor/06-missing-attributes.md
104
+ - TODO.sts-refactor/07-incomplete-models.md
105
+ - TODO.sts-refactor/08-isoiec-profile.md
106
+ - TODO.sts-refactor/09-autoload-cleanup.md
107
+ - TODO.sts-refactor/10-test-coverage.md
108
+ - TODO.sts-refactor/11-duplicate-models.md
73
109
  - lib/sts.rb
74
110
  - lib/sts/iso_sts.rb
75
111
  - lib/sts/iso_sts/annex_type.rb
@@ -84,6 +120,7 @@ files:
84
120
  - lib/sts/iso_sts/col.rb
85
121
  - lib/sts/iso_sts/colgroup.rb
86
122
  - lib/sts/iso_sts/comm_ref.rb
123
+ - lib/sts/iso_sts/content_language.rb
87
124
  - lib/sts/iso_sts/copyright_holder.rb
88
125
  - lib/sts/iso_sts/copyright_statement.rb
89
126
  - lib/sts/iso_sts/copyright_year.rb
@@ -109,7 +146,10 @@ files:
109
146
  - lib/sts/iso_sts/list_item.rb
110
147
  - lib/sts/iso_sts/mathml2.rb
111
148
  - lib/sts/iso_sts/mathml2/math.rb
149
+ - lib/sts/iso_sts/meta_date.rb
112
150
  - lib/sts/iso_sts/mixed_citation.rb
151
+ - lib/sts/iso_sts/monospace.rb
152
+ - lib/sts/iso_sts/named_content.rb
113
153
  - lib/sts/iso_sts/nat_meta.rb
114
154
  - lib/sts/iso_sts/non_normative_example.rb
115
155
  - lib/sts/iso_sts/non_normative_note.rb
@@ -121,13 +161,16 @@ files:
121
161
  - lib/sts/iso_sts/ref_list.rb
122
162
  - lib/sts/iso_sts/reg_meta.rb
123
163
  - lib/sts/iso_sts/release_date.rb
164
+ - lib/sts/iso_sts/sc.rb
124
165
  - lib/sts/iso_sts/sec.rb
125
166
  - lib/sts/iso_sts/secretariat.rb
126
167
  - lib/sts/iso_sts/standard.rb
127
168
  - lib/sts/iso_sts/standard_cross_reference.rb
128
169
  - lib/sts/iso_sts/standard_identification.rb
170
+ - lib/sts/iso_sts/standard_ref.rb
129
171
  - lib/sts/iso_sts/std.rb
130
172
  - lib/sts/iso_sts/std_ref.rb
173
+ - lib/sts/iso_sts/strike.rb
131
174
  - lib/sts/iso_sts/styled_content.rb
132
175
  - lib/sts/iso_sts/sub.rb
133
176
  - lib/sts/iso_sts/sup.rb
@@ -148,7 +191,10 @@ files:
148
191
  - lib/sts/iso_sts/title_main.rb
149
192
  - lib/sts/iso_sts/title_wrap.rb
150
193
  - lib/sts/iso_sts/tr.rb
194
+ - lib/sts/iso_sts/underline.rb
195
+ - lib/sts/iso_sts/uri.rb
151
196
  - lib/sts/iso_sts/xref.rb
197
+ - lib/sts/mathml.rb
152
198
  - lib/sts/namespaces.rb
153
199
  - lib/sts/niso_sts.rb
154
200
  - lib/sts/niso_sts/abstract.rb
@@ -183,18 +229,22 @@ files:
183
229
  - lib/sts/niso_sts/bio.rb
184
230
  - lib/sts/niso_sts/body.rb
185
231
  - lib/sts/niso_sts/boxed_text.rb
232
+ - lib/sts/niso_sts/break.rb
186
233
  - lib/sts/niso_sts/caption.rb
187
234
  - lib/sts/niso_sts/chapter_title.rb
188
235
  - lib/sts/niso_sts/chem_struct.rb
189
236
  - lib/sts/niso_sts/chem_struct_wrap.rb
190
237
  - lib/sts/niso_sts/citation_alternatives.rb
191
238
  - lib/sts/niso_sts/city.rb
239
+ - lib/sts/niso_sts/code.rb
192
240
  - lib/sts/niso_sts/collab.rb
193
241
  - lib/sts/niso_sts/collab_alternatives.rb
194
242
  - lib/sts/niso_sts/comm_ref_group.rb
195
243
  - lib/sts/niso_sts/comment.rb
196
244
  - lib/sts/niso_sts/compound_kwd.rb
197
245
  - lib/sts/niso_sts/compound_kwd_part.rb
246
+ - lib/sts/niso_sts/compound_subject.rb
247
+ - lib/sts/niso_sts/compound_subject_part.rb
198
248
  - lib/sts/niso_sts/conf_acronym.rb
199
249
  - lib/sts/niso_sts/conf_date.rb
200
250
  - lib/sts/niso_sts/conf_loc.rb
@@ -220,6 +270,7 @@ files:
220
270
  - lib/sts/niso_sts/date_in_citation.rb
221
271
  - lib/sts/niso_sts/day.rb
222
272
  - lib/sts/niso_sts/def.rb
273
+ - lib/sts/niso_sts/def_head.rb
223
274
  - lib/sts/niso_sts/def_item.rb
224
275
  - lib/sts/niso_sts/def_list.rb
225
276
  - lib/sts/niso_sts/degrees.rb
@@ -259,10 +310,15 @@ files:
259
310
  - lib/sts/niso_sts/ics.rb
260
311
  - lib/sts/niso_sts/ics_desc.rb
261
312
  - lib/sts/niso_sts/ics_wrap.rb
313
+ - lib/sts/niso_sts/index.rb
314
+ - lib/sts/niso_sts/index_div.rb
315
+ - lib/sts/niso_sts/index_entry.rb
262
316
  - lib/sts/niso_sts/index_term.rb
263
317
  - lib/sts/niso_sts/index_term_range_end.rb
318
+ - lib/sts/niso_sts/index_title_group.rb
264
319
  - lib/sts/niso_sts/inline_formula.rb
265
320
  - lib/sts/niso_sts/inline_graphic.rb
321
+ - lib/sts/niso_sts/inline_media.rb
266
322
  - lib/sts/niso_sts/inline_supplementary_material.rb
267
323
  - lib/sts/niso_sts/institution.rb
268
324
  - lib/sts/niso_sts/institution_id.rb
@@ -276,6 +332,7 @@ files:
276
332
  - lib/sts/niso_sts/kwd.rb
277
333
  - lib/sts/niso_sts/kwd_group.rb
278
334
  - lib/sts/niso_sts/label.rb
335
+ - lib/sts/niso_sts/legend.rb
279
336
  - lib/sts/niso_sts/license.rb
280
337
  - lib/sts/niso_sts/license_p.rb
281
338
  - lib/sts/niso_sts/list.rb
@@ -283,7 +340,6 @@ files:
283
340
  - lib/sts/niso_sts/long_desc.rb
284
341
  - lib/sts/niso_sts/lpage.rb
285
342
  - lib/sts/niso_sts/main.rb
286
- - lib/sts/niso_sts/mathml.rb
287
343
  - lib/sts/niso_sts/media.rb
288
344
  - lib/sts/niso_sts/meta_date.rb
289
345
  - lib/sts/niso_sts/meta_note.rb
@@ -345,6 +401,7 @@ files:
345
401
  - lib/sts/niso_sts/principal_award_recipient.rb
346
402
  - lib/sts/niso_sts/principal_investigator.rb
347
403
  - lib/sts/niso_sts/private_char.rb
404
+ - lib/sts/niso_sts/processing_meta.rb
348
405
  - lib/sts/niso_sts/product.rb
349
406
  - lib/sts/niso_sts/proj_id.rb
350
407
  - lib/sts/niso_sts/pub_date.rb
@@ -373,11 +430,14 @@ files:
373
430
  - lib/sts/niso_sts/sc.rb
374
431
  - lib/sts/niso_sts/sdo.rb
375
432
  - lib/sts/niso_sts/season.rb
433
+ - lib/sts/niso_sts/sec_meta.rb
376
434
  - lib/sts/niso_sts/secretariat.rb
377
435
  - lib/sts/niso_sts/section.rb
378
436
  - lib/sts/niso_sts/section_array.rb
379
437
  - lib/sts/niso_sts/see.rb
380
438
  - lib/sts/niso_sts/see_also.rb
439
+ - lib/sts/niso_sts/see_also_entry.rb
440
+ - lib/sts/niso_sts/see_entry.rb
381
441
  - lib/sts/niso_sts/self_uri.rb
382
442
  - lib/sts/niso_sts/series.rb
383
443
  - lib/sts/niso_sts/series_text.rb
@@ -421,9 +481,11 @@ files:
421
481
  - lib/sts/niso_sts/supplementary_material.rb
422
482
  - lib/sts/niso_sts/surname.rb
423
483
  - lib/sts/niso_sts/table_count.rb
484
+ - lib/sts/niso_sts/table_wrap_group.rb
424
485
  - lib/sts/niso_sts/target.rb
425
486
  - lib/sts/niso_sts/term.rb
426
487
  - lib/sts/niso_sts/term_display.rb
488
+ - lib/sts/niso_sts/term_display_string.rb
427
489
  - lib/sts/niso_sts/term_head.rb
428
490
  - lib/sts/niso_sts/term_section.rb
429
491
  - lib/sts/niso_sts/term_source.rb
@@ -434,6 +496,10 @@ files:
434
496
  - lib/sts/niso_sts/title_compl.rb
435
497
  - lib/sts/niso_sts/title_full.rb
436
498
  - lib/sts/niso_sts/title_wrap.rb
499
+ - lib/sts/niso_sts/toc.rb
500
+ - lib/sts/niso_sts/toc_div.rb
501
+ - lib/sts/niso_sts/toc_entry.rb
502
+ - lib/sts/niso_sts/toc_title_group.rb
437
503
  - lib/sts/niso_sts/trans_abstract.rb
438
504
  - lib/sts/niso_sts/trans_source.rb
439
505
  - lib/sts/niso_sts/trans_title.rb
@@ -454,6 +520,10 @@ files:
454
520
  - lib/sts/niso_sts/xi/include.rb
455
521
  - lib/sts/niso_sts/xi/xi.rb
456
522
  - lib/sts/niso_sts/year.rb
523
+ - lib/sts/profiles.rb
524
+ - lib/sts/profiles/iso_iec.rb
525
+ - lib/sts/profiles/iso_iec/constraints.rb
526
+ - lib/sts/profiles/iso_iec/validator.rb
457
527
  - lib/sts/tbx_iso_tml.rb
458
528
  - lib/sts/tbx_iso_tml/bold.rb
459
529
  - lib/sts/tbx_iso_tml/caption.rb
@@ -508,6 +578,8 @@ files:
508
578
  - lib/sts/tbx_iso_tml/tr.rb
509
579
  - lib/sts/tbx_iso_tml/xref.rb
510
580
  - lib/sts/version.rb
581
+ - reference-docs/Guidelines for coding ed.2.1.pdf
582
+ - reference-docs/NISO-STS-1-2-compare-1-0.pdf
511
583
  - reference-docs/NISO-STS-extended-1-MathML3-XSD/NISO-STS-extended-1-mathml3-elements.xsd
512
584
  - reference-docs/NISO-STS-extended-1-MathML3-XSD/NISO-STS-extended-1-mathml3.xsd
513
585
  - reference-docs/NISO-STS-extended-1-MathML3-XSD/module-oasis.xsd
@@ -521,6 +593,7 @@ files:
521
593
  - reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/module-xi.xsd
522
594
  - reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/xlink.xsd
523
595
  - reference-docs/NISO-STS-extended-1-MathML3-XSD/standard-modules/xml.xsd
596
+ - reference-docs/NISOSTS-guidelines-v1.0.pdf
524
597
  - reference-docs/isosts-example/feature_doc.xml
525
598
  - reference-docs/isosts-v1/ISOSTS-classes.ent
526
599
  - reference-docs/isosts-v1/ISOSTS-iso-metadata.ent
@@ -1,69 +0,0 @@
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