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,11 +3,49 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Body < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :sec, ::Sts::NisoSts::Section, collection: true
8
+ attribute :term_sec, ::Sts::NisoSts::TermSection, collection: true
9
+ attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
10
+ attribute :list, ::Sts::NisoSts::List, collection: true
11
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
12
+ attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
13
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
14
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
15
+ collection: true
16
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
17
+ collection: true
18
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
19
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
20
+ attribute :array, ::Sts::NisoSts::SectionArray, collection: true
21
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula, collection: true
22
+ attribute :disp_formula_group, ::Sts::NisoSts::DispFormulaGroup,
23
+ collection: true
24
+ attribute :editing_instruction, ::Sts::NisoSts::EditingInstruction,
25
+ collection: true
26
+ attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
7
27
 
8
28
  xml do
9
29
  element "body"
30
+ map_attribute "id", to: :id
31
+ ordered
32
+
10
33
  map_element "sec", to: :sec
34
+ map_element "term-sec", to: :term_sec
35
+ map_element "p", to: :paragraph
36
+ map_element "list", to: :list
37
+ map_element "def-list", to: :def_list
38
+ map_element "table-wrap", to: :table_wrap
39
+ map_element "fig", to: :fig
40
+ map_element "non-normative-note", to: :non_normative_note
41
+ map_element "non-normative-example", to: :non_normative_example
42
+ map_element "preformat", to: :preformat
43
+ map_element "styled-content", to: :styled_content
44
+ map_element "array", to: :array
45
+ map_element "disp-formula", to: :disp_formula
46
+ map_element "disp-formula-group", to: :disp_formula_group
47
+ map_element "editing-instruction", to: :editing_instruction
48
+ map_element "disp-quote", to: :disp_quote
11
49
  end
12
50
  end
13
51
  end
@@ -5,26 +5,64 @@ module Sts
5
5
  class BoxedText < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :form_type, :string
9
+ attribute :is_form, :string
8
10
  attribute :orientation, :string
11
+ attribute :originator, :string
9
12
  attribute :position, :string
10
13
  attribute :specific_use, :string
11
- attribute :caption, ::Sts::NisoSts::Caption
14
+ attribute :xml_lang, :string
12
15
  attribute :label, ::Sts::NisoSts::Label
16
+ attribute :caption, ::Sts::NisoSts::Caption
13
17
  attribute :paragraphs, ::Sts::NisoSts::Paragraph, collection: true
18
+ attribute :list, ::Sts::NisoSts::List, collection: true
19
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
20
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
21
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
22
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
23
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula, collection: true
24
+ attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
25
+ attribute :sec, ::Sts::NisoSts::Section, collection: true
26
+ attribute :fn_group, ::Sts::NisoSts::FnGroup, collection: true
27
+ attribute :ref_list, ::Sts::NisoSts::ReferenceList, collection: true
28
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
29
+ collection: true
30
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
31
+ collection: true
32
+ attribute :attrib, ::Sts::NisoSts::Attrib, collection: true
33
+ attribute :permissions, ::Sts::NisoSts::Permissions
14
34
 
15
35
  xml do
16
36
  element "boxed-text"
17
- mixed_content
37
+ ordered
18
38
 
19
39
  map_attribute "id", to: :id
20
40
  map_attribute "content-type", to: :content_type
41
+ map_attribute "form-type", to: :form_type
42
+ map_attribute "is-form", to: :is_form
21
43
  map_attribute "orientation", to: :orientation
44
+ map_attribute "originator", to: :originator
22
45
  map_attribute "position", to: :position
23
46
  map_attribute "specific-use", to: :specific_use
47
+ map_attribute "xml:lang", to: :xml_lang
24
48
 
25
- map_element "caption", to: :caption
26
49
  map_element "label", to: :label
50
+ map_element "caption", to: :caption
27
51
  map_element "p", to: :paragraphs
52
+ map_element "list", to: :list
53
+ map_element "def-list", to: :def_list
54
+ map_element "preformat", to: :preformat
55
+ map_element "fig", to: :fig
56
+ map_element "graphic", to: :graphic
57
+ map_element "disp-formula", to: :disp_formula
58
+ map_element "disp-quote", to: :disp_quote
59
+ map_element "sec", to: :sec
60
+ map_element "fn-group", to: :fn_group
61
+ map_element "ref-list", to: :ref_list
62
+ map_element "non-normative-note", to: :non_normative_note
63
+ map_element "non-normative-example", to: :non_normative_example
64
+ map_element "attrib", to: :attrib
65
+ map_element "permissions", to: :permissions
28
66
  end
29
67
  end
30
68
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Break < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ xml do
8
+ element "break"
9
+
10
+ map_attribute "id", to: :id
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # rubocop:disable Layout/LineLength
2
4
  # <caption>
3
5
  # <title>Overview of risk assessment/risk reduction</title>
@@ -25,18 +27,30 @@
25
27
  module Sts
26
28
  module NisoSts
27
29
  class Caption < Lutaml::Model::Serializable
30
+ attribute :id, :string
31
+ attribute :specific_use, :string
32
+ attribute :xml_lang, :string
28
33
  attribute :title, ::Sts::NisoSts::Title
29
34
  attribute :paragraphs, ::Sts::NisoSts::Paragraph, collection: true
30
35
  attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
31
36
  collection: true
37
+ attribute :label, ::Sts::NisoSts::Label
38
+ attribute :list, ::Sts::NisoSts::List, collection: true
39
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
32
40
 
33
41
  xml do
34
42
  element "caption"
35
- mixed_content
43
+ ordered
36
44
 
45
+ map_attribute "id", to: :id
46
+ map_attribute "specific-use", to: :specific_use
47
+ map_attribute "xml:lang", to: :xml_lang
37
48
  map_element "p", to: :paragraphs
38
49
  map_element "non-normative-note", to: :non_normative_note
39
50
  map_element "title", to: :title
51
+ map_element "label", to: :label
52
+ map_element "list", to: :list
53
+ map_element "def-list", to: :def_list
40
54
  end
41
55
  end
42
56
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ChapterTitle < 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 "chapter-title"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ChemStruct < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "chem-struct"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -15,6 +15,7 @@ module Sts
15
15
 
16
16
  xml do
17
17
  element "chem-struct-wrap"
18
+ ordered
18
19
 
19
20
  map_attribute "id", to: :id
20
21
  map_attribute "content-type", to: :content_type
@@ -3,12 +3,15 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CitationAlternatives < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :mixed_citation, ::Sts::NisoSts::MixedCitation
7
8
  attribute :element_citation, ::Sts::NisoSts::ElementCitation
8
9
  attribute :nlm_citation, ::Sts::NisoSts::NlmCitation
9
10
 
10
11
  xml do
11
12
  element "citation-alternatives"
13
+ map_attribute "id", to: :id
14
+ ordered
12
15
 
13
16
  map_element "mixed-citation", to: :mixed_citation
14
17
  map_element "element-citation", to: :element_citation
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class City < 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 "city"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Code < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :code_type, :string
9
+ attribute :code_version, :string
10
+ attribute :executable, :string
11
+ attribute :language, :string
12
+ attribute :language_version, :string
13
+ attribute :platforms, :string
14
+ attribute :position, :string
15
+ attribute :orientation, :string
16
+ attribute :specific_use, :string
17
+ attribute :xml_lang, :string
18
+ attribute :xml_space, :string
19
+ attribute :content, :string, collection: true
20
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
21
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
22
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
23
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
24
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
25
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
26
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
27
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
28
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
29
+
30
+ xml do
31
+ element "code"
32
+ mixed_content
33
+
34
+ map_attribute "id", to: :id
35
+ map_attribute "content-type", to: :content_type
36
+ map_attribute "code-type", to: :code_type
37
+ map_attribute "code-version", to: :code_version
38
+ map_attribute "executable", to: :executable
39
+ map_attribute "language", to: :language
40
+ map_attribute "language-version", to: :language_version
41
+ map_attribute "platforms", to: :platforms
42
+ map_attribute "position", to: :position
43
+ map_attribute "orientation", to: :orientation
44
+ map_attribute "specific-use", to: :specific_use
45
+ map_attribute "xml:lang", to: :xml_lang
46
+ map_attribute "xml:space", to: :xml_space
47
+
48
+ map_content to: :content
49
+ map_element "bold", to: :bold
50
+ map_element "italic", to: :italic
51
+ map_element "sup", to: :sup
52
+ map_element "sub", to: :sub
53
+ map_element "named-content", to: :named_content
54
+ map_element "styled-content", to: :styled_content
55
+ map_element "xref", to: :xref
56
+ map_element "ext-link", to: :ext_link
57
+ map_element "uri", to: :uri
58
+ end
59
+ end
60
+
61
+ class InlineCode < Lutaml::Model::Serializable
62
+ attribute :id, :string
63
+ attribute :content_type, :string
64
+ attribute :code_type, :string
65
+ attribute :code_version, :string
66
+ attribute :executable, :string
67
+ attribute :language, :string
68
+ attribute :language_version, :string
69
+ attribute :platforms, :string
70
+ attribute :specific_use, :string
71
+ attribute :xml_lang, :string
72
+ attribute :content, :string, collection: true
73
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
74
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
75
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
76
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
77
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
78
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
79
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
80
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
81
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
82
+
83
+ xml do
84
+ element "inline-code"
85
+ mixed_content
86
+
87
+ map_attribute "id", to: :id
88
+ map_attribute "content-type", to: :content_type
89
+ map_attribute "code-type", to: :code_type
90
+ map_attribute "code-version", to: :code_version
91
+ map_attribute "executable", to: :executable
92
+ map_attribute "language", to: :language
93
+ map_attribute "language-version", to: :language_version
94
+ map_attribute "platforms", to: :platforms
95
+ map_attribute "specific-use", to: :specific_use
96
+ map_attribute "xml:lang", to: :xml_lang
97
+
98
+ map_content to: :content
99
+ map_element "bold", to: :bold
100
+ map_element "italic", to: :italic
101
+ map_element "sup", to: :sup
102
+ map_element "sub", to: :sub
103
+ map_element "named-content", to: :named_content
104
+ map_element "styled-content", to: :styled_content
105
+ map_element "xref", to: :xref
106
+ map_element "ext-link", to: :ext_link
107
+ map_element "uri", to: :uri
108
+ end
109
+ end
110
+ end
111
+ end
@@ -10,6 +10,10 @@ module Sts
10
10
  attribute :id, :string
11
11
  attribute :collab_alternatives, ::Sts::NisoSts::CollabAlternatives
12
12
  attribute :on_behalf_of, :string
13
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
14
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
15
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
16
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
13
17
 
14
18
  xml do
15
19
  element "collab"
@@ -21,6 +25,10 @@ module Sts
21
25
  map_attribute "id", to: :id
22
26
  map_element "collab-alternatives", to: :collab_alternatives
23
27
  map_element "on-behalf-of", to: :on_behalf_of
28
+ map_element "sc", to: :sc
29
+ map_element "bold", to: :bold
30
+ map_element "italic", to: :italic
31
+ map_element "underline", to: :underline
24
32
  map_content to: :content
25
33
  end
26
34
  end
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CollabAlternatives < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :collab, ::Sts::NisoSts::Collab, collection: true
7
8
 
8
9
  xml do
9
10
  element "collab-alternatives"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "collab", to: :collab
12
15
  end
13
16
  end
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CommRefGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :comm_ref, :string, collection: true
7
8
 
8
9
  xml do
9
10
  element "comm-ref-group"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "comm-ref", to: :comm_ref
12
15
  end
13
16
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Comment < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "comment"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class CompoundSubject < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :vocab_term, :string
10
+ attribute :vocab_term_identifier, :string
11
+ attribute :xml_base, :string
12
+ attribute :compound_subject_part, ::Sts::NisoSts::CompoundSubjectPart,
13
+ collection: true
14
+
15
+ xml do
16
+ element "compound-subject"
17
+
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "id", to: :id
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "vocab-term", to: :vocab_term
22
+ map_attribute "vocab-term-identifier", to: :vocab_term_identifier
23
+ map_attribute "xml:base", to: :xml_base
24
+
25
+ map_element "compound-subject-part", to: :compound_subject_part
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class CompoundSubjectPart < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :xml_base, :string
9
+ attribute :content, :string, collection: true
10
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
11
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
12
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
13
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
14
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
15
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
16
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
17
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
18
+
19
+ xml do
20
+ element "compound-subject-part"
21
+ mixed_content
22
+
23
+ map_attribute "content-type", to: :content_type
24
+ map_attribute "id", to: :id
25
+ map_attribute "xml:base", to: :xml_base
26
+
27
+ map_content to: :content
28
+ map_element "bold", to: :bold
29
+ map_element "italic", to: :italic
30
+ map_element "sub", to: :sub
31
+ map_element "sup", to: :sup
32
+ map_element "inline-graphic", to: :inline_graphic
33
+ map_element "private-char", to: :private_char
34
+ map_element "named-content", to: :named_content
35
+ map_element "styled-content", to: :styled_content
36
+ end
37
+ end
38
+ end
39
+ end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ConfAcronym < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "conf-acronym"
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 ConfDate < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :content_type, :string
8
9
  attribute :specific_use, :string
9
10
 
10
11
  xml do
11
12
  element "conf-date"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_attribute "content-type", to: :content_type
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ConfLoc < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "conf-loc"
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 ConfName < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "conf-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 ConfNum < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "conf-num"
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 ConfSponsor < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "conf-sponsor"
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 ConfTheme < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "conf-theme"
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 Conference < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :conf_date, ::Sts::NisoSts::ConfDate
7
8
  attribute :conf_name, ::Sts::NisoSts::ConfName
8
9
  attribute :conf_acronym, ::Sts::NisoSts::ConfAcronym
@@ -14,6 +15,8 @@ module Sts
14
15
 
15
16
  xml do
16
17
  element "conference"
18
+ map_attribute "id", to: :id
19
+ ordered
17
20
 
18
21
  map_element "conf-date", to: :conf_date
19
22
  map_element "conf-name", to: :conf_name
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ContentLanguage < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :lang, :string
8
9
  attribute :specific_use, :string
9
10
 
10
11
  xml do
11
12
  element "content-language"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -28,6 +28,7 @@ module Sts
28
28
 
29
29
  xml do
30
30
  element "contrib"
31
+ ordered
31
32
 
32
33
  map_attribute "contrib-type", to: :contrib_type
33
34
  map_attribute "corresp", to: :corresp
@@ -10,6 +10,7 @@ module Sts
10
10
 
11
11
  xml do
12
12
  element "contrib-group"
13
+ ordered
13
14
 
14
15
  map_attribute "content-type", to: :content_type
15
16
  map_attribute "id", to: :id
@@ -3,11 +3,13 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ContribId < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :contrib_id_type, :string
7
8
  attribute :authenticated, :string
8
9
  attribute :content, :string, collection: true
9
10
  xml do
10
11
  element "contrib-id"
12
+ map_attribute "id", to: :id
11
13
  mixed_content
12
14
 
13
15
  map_attribute "contrib-id-type", to: :contrib_id_type
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CopyrightHolder < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "copyright-holder"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content