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,40 +4,79 @@ module Sts
4
4
  module NisoSts
5
5
  class StdDocMeta < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :std_meta_type, :string
8
+ attribute :std_org_type, :string
9
+ attribute :xml_base, :string
10
+ attribute :xml_lang, :string
7
11
  attribute :title_wrap, ::Sts::NisoSts::TitleWrap, collection: true
12
+ attribute :release_version, ::Sts::NisoSts::ReleaseVersion
8
13
  attribute :std_ident, ::Sts::NisoSts::StandardIdentification
9
- attribute :doc_ident, ::Sts::NisoSts::DocumentIdentification
14
+ attribute :std_org, ::Sts::NisoSts::StdOrg, collection: true
15
+ attribute :std_org_group, ::Sts::NisoSts::StdOrgGroup, collection: true
16
+ attribute :content_language, ::Sts::NisoSts::ContentLanguage,
17
+ collection: true
10
18
  attribute :std_ref, ::Sts::NisoSts::StandardRef, collection: true
11
19
  attribute :doc_ref, :string
12
- attribute :pub_date, :string
13
- attribute :release_date, :string
14
- attribute :release_version, :string
15
- attribute :comm_ref, :string
16
- attribute :secretariat, :string
17
- attribute :ics, :string
18
- attribute :std_xref, ::Sts::NisoSts::StdCrossReference
19
- attribute :permissions, ::Sts::NisoSts::Permissions
20
+ attribute :pub_date, ::Sts::NisoSts::PubDate
21
+ attribute :release_date, ::Sts::NisoSts::ReleaseDate, collection: true
22
+ attribute :meta_date, ::Sts::NisoSts::MetaDate, collection: true
23
+ attribute :comm_ref, :string, collection: true
24
+ attribute :comm_ref_group, ::Sts::NisoSts::CommRefGroup
25
+ attribute :accrediting_organization, ::Sts::NisoSts::AccreditingOrganization
26
+ attribute :authorization, ::Sts::NisoSts::Authorization
27
+ attribute :secretariat, ::Sts::NisoSts::Secretariat, collection: true
28
+ attribute :ics, ::Sts::NisoSts::Ics, collection: true
29
+ attribute :subj_group, ::Sts::NisoSts::SubjGroup, collection: true
30
+ attribute :page_count, ::Sts::NisoSts::PageCount
31
+ attribute :counts, ::Sts::NisoSts::Counts
32
+ attribute :is_proof, ::Sts::NisoSts::IsProof
33
+ attribute :std_xref, ::Sts::NisoSts::StdCrossReference, collection: true
34
+ attribute :permissions, ::Sts::NisoSts::Permissions, collection: true
35
+ attribute :self_uri, ::Sts::NisoSts::SelfUri, collection: true
36
+ attribute :abstract, ::Sts::NisoSts::Abstract, collection: true
37
+ attribute :kwd_group, ::Sts::NisoSts::KwdGroup, collection: true
20
38
  attribute :meta_note, ::Sts::NisoSts::MetaNote, collection: true
39
+ attribute :custom_meta_group, ::Sts::NisoSts::CustomMetaGroup,
40
+ collection: true
21
41
 
22
42
  xml do
23
43
  element "std-doc-meta"
44
+ ordered
24
45
 
25
46
  map_attribute "id", to: :id
47
+ map_attribute "std-meta-type", to: :std_meta_type
48
+ map_attribute "std-org-type", to: :std_org_type
49
+ map_attribute "xml:base", to: :xml_base
50
+ map_attribute "xml:lang", to: :xml_lang
26
51
 
27
52
  map_element "title-wrap", to: :title_wrap
53
+ map_element "release-version", to: :release_version
28
54
  map_element "std-ident", to: :std_ident
29
- map_element "doc-ident", to: :doc_ident
55
+ map_element "std-org", to: :std_org
56
+ map_element "std-org-group", to: :std_org_group
57
+ map_element "content-language", to: :content_language
30
58
  map_element "std-ref", to: :std_ref
31
59
  map_element "doc-ref", to: :doc_ref
32
60
  map_element "pub-date", to: :pub_date
33
61
  map_element "release-date", to: :release_date
34
- map_element "release-version", to: :release_version
62
+ map_element "meta-date", to: :meta_date
35
63
  map_element "comm-ref", to: :comm_ref
64
+ map_element "comm-ref-group", to: :comm_ref_group
65
+ map_element "accrediting-organization", to: :accrediting_organization
66
+ map_element "authorization", to: :authorization
36
67
  map_element "secretariat", to: :secretariat
37
68
  map_element "ics", to: :ics
69
+ map_element "subj-group", to: :subj_group
70
+ map_element "page-count", to: :page_count
71
+ map_element "counts", to: :counts
72
+ map_element "is-proof", to: :is_proof
38
73
  map_element "std-xref", to: :std_xref
39
74
  map_element "permissions", to: :permissions
75
+ map_element "self-uri", to: :self_uri
76
+ map_element "abstract", to: :abstract
77
+ map_element "kwd-group", to: :kwd_group
40
78
  map_element "meta-note", to: :meta_note
79
+ map_element "custom-meta-group", to: :custom_meta_group
41
80
  end
42
81
  end
43
82
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class StdId < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :std_id_link_type, :string
7
8
  attribute :std_id_type, :string
8
9
  attribute :specific_use, :string
@@ -11,6 +12,7 @@ module Sts
11
12
  xml do
12
13
  element "std-id"
13
14
 
15
+ map_attribute "id", to: :id
14
16
  map_attribute "std-id-link-type", to: :std_id_link_type
15
17
  map_attribute "std-id-type", to: :std_id_type
16
18
  map_attribute "specific-use", to: :specific_use
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class StdIdGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :std_id, ::Sts::NisoSts::StdId, collection: true
7
8
 
8
9
  xml do
9
10
  element "std-id-group"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "std-id", to: :std_id
12
15
  end
13
16
  end
@@ -12,6 +12,7 @@ module Sts
12
12
 
13
13
  xml do
14
14
  element "std-org"
15
+ ordered
15
16
 
16
17
  map_attribute "id", to: :id
17
18
  map_attribute "std-org-type", to: :std_org_type
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class StdOrgAbbrev < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "std-org-abbrev"
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 StdOrgGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :std_org, ::Sts::NisoSts::StdOrg, collection: true
7
8
 
8
9
  xml do
9
10
  element "std-org-group"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "std-org", to: :std_org
12
15
  end
13
16
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class StdOrgName < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "std-org-name"
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 StdOrganization < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "std-organization"
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 StringConf < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "string-conf"
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 StringDate < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "string-date"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class StringName < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :name_style, :string
7
8
  attribute :content_type, :string
8
9
  attribute :content, :string, collection: true
@@ -11,6 +12,7 @@ module Sts
11
12
 
12
13
  xml do
13
14
  element "string-name"
15
+ map_attribute "id", to: :id
14
16
  mixed_content
15
17
 
16
18
  map_attribute "name-style", to: :name_style
@@ -3,14 +3,35 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class StyledContent < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :style, :string
7
8
  attribute :style_type, :string
8
9
  attribute :toggle, :string
9
10
  attribute :specific_use, :string
10
11
  attribute :lang, :string
11
12
  attribute :content, :string, collection: true
13
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
14
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
15
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
16
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
17
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
18
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
19
+ attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
20
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
21
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
22
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
23
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
24
+ attribute :break, ::Sts::NisoSts::Break, collection: true
25
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
26
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
27
+ attribute :target, ::Sts::NisoSts::Target, collection: true
28
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
29
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
30
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
31
+
12
32
  xml do
13
33
  element "styled-content"
34
+ map_attribute "id", to: :id
14
35
  mixed_content
15
36
 
16
37
  map_attribute "style", to: :style
@@ -19,6 +40,24 @@ module Sts
19
40
  map_attribute "specific-use", to: :specific_use
20
41
  map_attribute "lang", to: :lang
21
42
  map_content to: :content
43
+ map_element "uri", to: :uri
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 "sc", to: :sc
49
+ map_element "monospace", to: :monospace
50
+ map_element "xref", to: :xref
51
+ map_element "ext-link", to: :ext_link
52
+ map_element "inline-formula", to: :inline_formula
53
+ map_element "std", to: :std
54
+ map_element "break", to: :break
55
+ map_element "fn", to: :fn
56
+ map_element "named-content", to: :named_content
57
+ map_element "target", to: :target
58
+ map_element "graphic", to: :graphic
59
+ map_element "styled-content", to: :styled_content
60
+ map_element "underline", to: :underline
22
61
  end
23
62
  end
24
63
  end
@@ -6,6 +6,12 @@ module Sts
6
6
  attribute :id, :string
7
7
  attribute :specific_use, :string
8
8
  attribute :content, :string, collection: true
9
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
10
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
11
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
12
+ attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
13
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
14
+
9
15
  xml do
10
16
  element "sub"
11
17
  mixed_content
@@ -13,6 +19,11 @@ module Sts
13
19
  map_attribute "id", to: :id
14
20
  map_attribute "specific-use", to: :specific_use
15
21
  map_content to: :content
22
+ map_element "bold", to: :bold
23
+ map_element "italic", to: :italic
24
+ map_element "underline", to: :underline
25
+ map_element "monospace", to: :monospace
26
+ map_element "styled-content", to: :styled_content
16
27
  end
17
28
  end
18
29
  end
@@ -3,21 +3,32 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class SubjGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :subj_group_type, :string
7
8
  attribute :xml_lang, :string
8
9
  attribute :specific_use, :string
10
+ attribute :vocab, :string
11
+ attribute :vocab_identifier, :string
9
12
  attribute :label, ::Sts::NisoSts::Label
10
13
  attribute :subject, ::Sts::NisoSts::Subject, collection: true
14
+ attribute :compound_subject, ::Sts::NisoSts::CompoundSubject,
15
+ collection: true
16
+ attribute :subj_group, ::Sts::NisoSts::SubjGroup, collection: true
11
17
 
12
18
  xml do
13
19
  element "subj-group"
14
20
 
21
+ map_attribute "id", to: :id
15
22
  map_attribute "subj-group-type", to: :subj_group_type
16
23
  map_attribute "xml:lang", to: :xml_lang
17
24
  map_attribute "specific-use", to: :specific_use
25
+ map_attribute "vocab", to: :vocab
26
+ map_attribute "vocab-identifier", to: :vocab_identifier
18
27
 
19
28
  map_element "label", to: :label
20
29
  map_element "subject", to: :subject
30
+ map_element "compound-subject", to: :compound_subject
31
+ map_element "subj-group", to: :subj_group
21
32
  end
22
33
  end
23
34
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Subtitle < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "subtitle"
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 Suffix < 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 "suffix"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -6,6 +6,13 @@ module Sts
6
6
  attribute :id, :string
7
7
  attribute :specific_use, :string
8
8
  attribute :content, :string, collection: true
9
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
10
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
11
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
12
+ attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
13
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
14
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
15
+
9
16
  xml do
10
17
  element "sup"
11
18
  mixed_content
@@ -13,6 +20,12 @@ module Sts
13
20
  map_attribute "id", to: :id
14
21
  map_attribute "specific-use", to: :specific_use
15
22
  map_content to: :content
23
+ map_element "bold", to: :bold
24
+ map_element "italic", to: :italic
25
+ map_element "underline", to: :underline
26
+ map_element "monospace", to: :monospace
27
+ map_element "styled-content", to: :styled_content
28
+ map_element "xref", to: :xref
16
29
  end
17
30
  end
18
31
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class SupplNumber < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "suppl-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 SupplType < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "suppl-type"
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 SupplVersion < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "suppl-version"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -22,6 +22,7 @@ module Sts
22
22
 
23
23
  xml do
24
24
  element "supplementary-material"
25
+ ordered
25
26
 
26
27
  map_attribute "id", to: :id
27
28
  map_attribute "content-type", to: :content_type
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Surname < 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 "surname"
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 TableCount < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :count, :integer
7
8
 
8
9
  xml do
9
10
  element "table-count"
11
+ map_attribute "id", to: :id
10
12
  map_attribute "count", to: :count
11
13
  end
12
14
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class TableWrapGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :position, :string
11
+ attribute :orientation, :string
12
+ attribute :label, ::Sts::NisoSts::Label
13
+ attribute :caption, ::Sts::NisoSts::Caption
14
+ attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
15
+
16
+ xml do
17
+ element "table-wrap-group"
18
+ ordered
19
+
20
+ map_attribute "id", to: :id
21
+ map_attribute "content-type", to: :content_type
22
+ map_attribute "specific-use", to: :specific_use
23
+ map_attribute "xml:lang", to: :xml_lang
24
+ map_attribute "position", to: :position
25
+ map_attribute "orientation", to: :orientation
26
+ map_element "label", to: :label
27
+ map_element "caption", to: :caption
28
+ map_element "table-wrap", to: :table_wrap
29
+ end
30
+ end
31
+ end
32
+ end
@@ -3,15 +3,37 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TermDisplay < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :term, ::Sts::NisoSts::Term, collection: true
8
+ attribute :definition, ::Sts::NisoSts::Def
9
+ attribute :term_display_string, :string, collection: true
10
+ attribute :list, ::Sts::NisoSts::List, collection: true
11
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
12
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
13
+ attribute :label, ::Sts::NisoSts::Label
6
14
  attribute :p, ::Sts::NisoSts::Paragraph, collection: true
7
15
  attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
8
16
  collection: true
17
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
18
+ collection: true
19
+ attribute :related_term, ::Sts::NisoSts::RelatedTerm, collection: true
9
20
 
10
21
  xml do
11
22
  element "term-display"
23
+ map_attribute "id", to: :id
24
+ mixed_content
12
25
 
26
+ map_element "term", to: :term
27
+ map_element "def", to: :definition
28
+ map_element "term-display-string", to: :term_display_string
29
+ map_element "list", to: :list
30
+ map_element "def-list", to: :def_list
31
+ map_element "xref", to: :xref
32
+ map_element "label", to: :label
13
33
  map_element "p", to: :p
14
34
  map_element "non-normative-note", to: :non_normative_note
35
+ map_element "non-normative-example", to: :non_normative_example
36
+ map_element "related-term", to: :related_term
15
37
  end
16
38
  end
17
39
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class TermDisplayString < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content, :string, collection: true
8
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
9
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
10
+
11
+ xml do
12
+ element "term-display-string"
13
+ mixed_content
14
+
15
+ map_attribute "id", to: :id
16
+ map_content to: :content
17
+ map_element "bold", to: :bold
18
+ map_element "italic", to: :italic
19
+ end
20
+ end
21
+ end
22
+ end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TermHead < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "term-head"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -6,12 +6,12 @@ module Sts
6
6
  attribute :id, :string
7
7
  attribute :sec_type, :string
8
8
  attribute :label, ::Sts::NisoSts::Label
9
- attribute :term_entry, ::Sts::TbxIsoTml::TermEntry # , collection: true
10
- attribute :term_display, ::Sts::NisoSts::TermDisplay # , collection: true
9
+ attribute :term_entry, ::Sts::TbxIsoTml::TermEntry, collection: true
10
+ attribute :term_display, ::Sts::NisoSts::TermDisplay, collection: true
11
11
 
12
12
  xml do
13
13
  element "term-sec"
14
- mixed_content
14
+ ordered
15
15
  map_attribute "id", to: :id
16
16
  map_attribute "sec-type", to: :sec_type
17
17
 
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TermSource < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "term-source"
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 TexMath < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "tex-math"
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 TextualForm < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "textual-form"
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 TimeStamp < 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 "time-stamp"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content