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
@@ -14,6 +14,7 @@ module Sts
14
14
 
15
15
  xml do
16
16
  element "ref"
17
+ ordered
17
18
  map_attribute "content-type", to: :content_type
18
19
  map_attribute "id", to: :id
19
20
  map_element "label", to: :label
@@ -6,12 +6,15 @@ module Sts
6
6
  attribute :content_type, :string
7
7
  attribute :id, :string
8
8
  attribute :specific_use, :string
9
- attribute :title, :string
9
+ attribute :title, ::Sts::NisoSts::Title
10
10
  attribute :label, ::Sts::NisoSts::Label
11
11
  attribute :ref, ::Sts::NisoSts::Reference, collection: true
12
+ attribute :ref_list, ::Sts::NisoSts::ReferenceList, collection: true
13
+ attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
12
14
 
13
15
  xml do
14
16
  element "ref-list"
17
+ ordered
15
18
 
16
19
  map_attribute "content-type", to: :content_type
17
20
  map_attribute "id", to: :id
@@ -19,6 +22,8 @@ module Sts
19
22
  map_element "title", to: :title
20
23
  map_element "label", to: :label
21
24
  map_element "ref", to: :ref
25
+ map_element "ref-list", to: :ref_list
26
+ map_element "p", to: :paragraph
22
27
  end
23
28
  end
24
29
  end
@@ -1,10 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class ReferenceStandard < Lutaml::Model::Serializable
6
+ attribute :id, :string
8
7
  attribute :type, :string
9
8
  attribute :std_id, :string
10
9
  attribute :content, :string, collection: true
@@ -13,11 +12,13 @@ module Sts
13
12
  attribute :fn, ::Sts::NisoSts::Fn, collection: true
14
13
  attribute :std_id_group, ::Sts::NisoSts::StdIdGroup, collection: true
15
14
  attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
15
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
16
16
 
17
17
  xml do
18
18
  element "std"
19
19
  mixed_content
20
20
 
21
+ map_attribute "id", to: :id
21
22
  map_attribute "type", to: :type
22
23
  map_attribute "std-id", to: :std_id
23
24
 
@@ -26,6 +27,7 @@ module Sts
26
27
  map_element "title", to: :title
27
28
  map_element "std-id-group", to: :std_id_group
28
29
  map_element "xref", to: :xref
30
+ map_element "bold", to: :bold
29
31
 
30
32
  map_content to: :content
31
33
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class RegMeta < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :title_wrap, ::Sts::NisoSts::TitleWrap, collection: true
7
8
  attribute :std_ident, ::Sts::NisoSts::StandardIdentification
8
9
  attribute :doc_ident, ::Sts::NisoSts::DocumentIdentification
@@ -22,6 +23,8 @@ module Sts
22
23
 
23
24
  xml do
24
25
  element "reg-meta"
26
+ map_attribute "id", to: :id
27
+ ordered
25
28
 
26
29
  map_element "title-wrap", to: :title_wrap
27
30
  map_element "std-ident", to: :std_ident
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class RelatedTerm < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :related_term_type, :string
7
8
  attribute :content, :string, collection: true
8
9
  xml do
9
10
  element "related-term"
11
+ map_attribute "id", to: :id
10
12
  mixed_content
11
13
 
12
14
  map_attribute "related-term-type", to: :related_term_type
@@ -3,16 +3,21 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ReleaseDate < Lutaml::Model::Serializable
6
- attribute :day, :string
7
- attribute :month, :string
8
- attribute :year, :string
6
+ attribute :id, :string
7
+ attribute :content, :string, collection: true
8
+ attribute :date_type, :string
9
+ attribute :iso_8601_date, :string
10
+ attribute :std_type, :string
9
11
 
10
12
  xml do
11
13
  element "release-date"
14
+ map_attribute "id", to: :id
15
+ mixed_content
12
16
 
13
- map_element "day", to: :day
14
- map_element "month", to: :month
15
- map_element "year", to: :year
17
+ map_content to: :content
18
+ map_attribute "date-type", to: :date_type
19
+ map_attribute "iso-8601-date", to: :iso_8601_date
20
+ map_attribute "std-type", to: :std_type
16
21
  end
17
22
  end
18
23
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ReleaseVersion < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "release-version"
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 ReleaseVersionId < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "release-version-id"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -4,18 +4,53 @@ module Sts
4
4
  module NisoSts
5
5
  class Role < Lutaml::Model::Serializable
6
6
  attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :vocab, :string
10
+ attribute :vocab_identifier, :string
11
+ attribute :vocab_term, :string
12
+ attribute :vocab_term_identifier, :string
13
+ attribute :xml_lang, :string
7
14
  attribute :content, :string, collection: true
8
15
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
9
16
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
17
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
18
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
19
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
20
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
21
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
22
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
23
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
24
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
25
+ attribute :target, ::Sts::NisoSts::Target, collection: true
26
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
10
27
 
11
28
  xml do
12
29
  element "role"
13
30
  mixed_content
14
31
 
15
32
  map_attribute "content-type", to: :content_type
33
+ map_attribute "id", to: :id
34
+ map_attribute "specific-use", to: :specific_use
35
+ map_attribute "vocab", to: :vocab
36
+ map_attribute "vocab-identifier", to: :vocab_identifier
37
+ map_attribute "vocab-term", to: :vocab_term
38
+ map_attribute "vocab-term-identifier", to: :vocab_term_identifier
39
+ map_attribute "xml:lang", to: :xml_lang
40
+
16
41
  map_content to: :content
17
42
  map_element "bold", to: :bold
18
43
  map_element "italic", to: :italic
44
+ map_element "sub", to: :sub
45
+ map_element "sup", to: :sup
46
+ map_element "ext-link", to: :ext_link
47
+ map_element "inline-graphic", to: :inline_graphic
48
+ map_element "private-char", to: :private_char
49
+ map_element "named-content", to: :named_content
50
+ map_element "styled-content", to: :styled_content
51
+ map_element "fn", to: :fn
52
+ map_element "target", to: :target
53
+ map_element "xref", to: :xref
19
54
  end
20
55
  end
21
56
  end
@@ -11,6 +11,7 @@ module Sts
11
11
 
12
12
  xml do
13
13
  element "ruby"
14
+ ordered
14
15
 
15
16
  map_attribute "content-type", to: :content_type
16
17
  map_attribute "id", to: :id
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Sdo < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "sdo"
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 Season < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "season"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class SecMeta < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :xml_base, :string
8
+ attribute :contrib_group, ::Sts::NisoSts::ContribGroup, collection: true
9
+ attribute :abstract, ::Sts::NisoSts::Abstract, collection: true
10
+ attribute :kwd_group, ::Sts::NisoSts::KwdGroup, collection: true
11
+ attribute :permissions, ::Sts::NisoSts::Permissions
12
+
13
+ xml do
14
+ element "sec-meta"
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "xml:base", to: :xml_base
18
+
19
+ map_element "contrib-group", to: :contrib_group
20
+ map_element "abstract", to: :abstract
21
+ map_element "kwd-group", to: :kwd_group
22
+ map_element "permissions", to: :permissions
23
+ end
24
+ end
25
+ end
26
+ end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Secretariat < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "secretariat"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -4,11 +4,14 @@ module Sts
4
4
  module NisoSts
5
5
  class Section < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :originator, :string
7
8
  attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :sec_meta, ::Sts::NisoSts::SecMeta
8
11
  attribute :label, ::Sts::NisoSts::Label
9
12
  attribute :title, ::Sts::NisoSts::Title
10
13
  attribute :type, :string
11
- attribute :array, ::Sts::NisoSts::SectionArray
14
+ attribute :array, ::Sts::NisoSts::SectionArray, collection: true
12
15
  attribute :paragraphs, ::Sts::NisoSts::Paragraph, collection: true
13
16
  attribute :list, ::Sts::NisoSts::List, collection: true
14
17
  attribute :term_sec, ::Sts::NisoSts::TermSection, collection: true
@@ -18,33 +21,73 @@ module Sts
18
21
  attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
19
22
  collection: true
20
23
  attribute :sec, ::Sts::NisoSts::Section, collection: true
21
- attribute :figures, ::Sts::NisoSts::Figure, collection: true
22
24
  attribute :fig, ::Sts::NisoSts::Figure, collection: true
25
+ attribute :fig_group, ::Sts::NisoSts::FigGroup, collection: true
23
26
 
24
27
  attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
28
+ attribute :boxed_text, ::Sts::NisoSts::BoxedText, collection: true
29
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
30
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula, collection: true
31
+ attribute :disp_formula_group, ::Sts::NisoSts::DispFormulaGroup,
32
+ collection: true
33
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
34
+ attribute :editing_instruction, ::Sts::NisoSts::EditingInstruction,
35
+ collection: true
36
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
37
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
38
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
39
+ attribute :fn_group, ::Sts::NisoSts::FnGroup, collection: true
40
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
41
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
42
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
43
+ attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
44
+ attribute :chem_struct_wrap, ::Sts::NisoSts::ChemStructWrap,
45
+ collection: true
46
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
25
47
 
48
+ # rubocop:disable Metrics/BlockLength
26
49
  xml do
27
50
  element "sec"
28
- mixed_content
51
+ ordered
29
52
 
30
53
  map_attribute "id", to: :id
54
+ map_attribute "originator", to: :originator
31
55
  map_attribute "sec-type", to: :type
32
56
  map_attribute "specific-use", to: :specific_use
57
+ map_attribute "xml:lang", to: :xml_lang
33
58
 
59
+ map_element "sec-meta", to: :sec_meta
34
60
  map_element "label", to: :label
35
61
  map_element "title", to: :title
36
62
  map_element "p", to: :paragraphs
37
63
  map_element "sec", to: :sec
38
64
  map_element "term-sec", to: :term_sec
39
65
  map_element "list", to: :list
40
- map_element "figure", to: :figures
41
66
  map_element "fig", to: :fig
67
+ map_element "fig-group", to: :fig_group
42
68
  map_element "ref-list", to: :ref_list
43
69
  map_element "array", to: :array
44
70
  map_element "table-wrap", to: :table_wrap
71
+ map_element "boxed-text", to: :boxed_text
72
+ map_element "preformat", to: :preformat
73
+ map_element "disp-formula", to: :disp_formula
74
+ map_element "disp-formula-group", to: :disp_formula_group
75
+ map_element "styled-content", to: :styled_content
76
+ map_element "editing-instruction", to: :editing_instruction
77
+ map_element "def-list", to: :def_list
78
+ map_element "graphic", to: :graphic
79
+ map_element "std", to: :std
80
+ map_element "fn-group", to: :fn_group
81
+ map_element "xref", to: :xref
82
+ map_element "ext-link", to: :ext_link
83
+ map_element "inline-formula", to: :inline_formula
84
+ map_element "disp-quote", to: :disp_quote
85
+ map_element "chem-struct-wrap", to: :chem_struct_wrap
86
+ map_element "fn", to: :fn
45
87
  map_element "non-normative-note", to: :non_normative_note
46
88
  map_element "non-normative-example", to: :non_normative_example
47
89
  end
90
+ # rubocop:enable Metrics/BlockLength
48
91
  end
49
92
  end
50
93
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class SeeAlsoEntry < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :rid, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :content, :string, collection: true
12
+
13
+ xml do
14
+ element "see-also-entry"
15
+ mixed_content
16
+
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "id", to: :id
19
+ map_attribute "rid", to: :rid
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "xml:lang", to: :xml_lang
22
+ map_content to: :content
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class SeeEntry < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :rid, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :content, :string, collection: true
12
+
13
+ xml do
14
+ element "see-entry"
15
+ mixed_content
16
+
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "id", to: :id
19
+ map_attribute "rid", to: :rid
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "xml:lang", to: :xml_lang
22
+ map_content to: :content
23
+ end
24
+ end
25
+ end
26
+ end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class SelfUri < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :href, :xlink_href
8
9
  attribute :content_type, :string
@@ -10,6 +11,7 @@ module Sts
10
11
 
11
12
  xml do
12
13
  element "self-uri"
14
+ map_attribute "id", to: :id
13
15
  mixed_content
14
16
 
15
17
  map_content to: :content
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Series < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content_type, :string
7
8
  attribute :specific_use, :string
8
9
  attribute :xml_lang, :string
9
10
  attribute :content, :string, collection: true
10
11
  xml do
11
12
  element "series"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_attribute "content-type", to: :content_type
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class SeriesText < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content_type, :string
7
8
  attribute :specific_use, :string
8
9
  attribute :xml_lang, :string
9
10
  attribute :content, :string, collection: true
10
11
  xml do
11
12
  element "series-text"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_attribute "content-type", to: :content_type
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class SeriesTitle < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content_type, :string
7
8
  attribute :specific_use, :string
8
9
  attribute :xml_lang, :string
9
10
  attribute :content, :string, collection: true
10
11
  xml do
11
12
  element "series-title"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_attribute "content-type", to: :content_type
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Sig < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :graphic, ::Sts::NisoSts::Graphic
7
8
  attribute :content, :string, collection: true
8
9
  xml do
9
10
  element "sig"
11
+ map_attribute "id", to: :id
10
12
  mixed_content
11
13
 
12
14
  map_element "graphic", to: :graphic
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Size < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :units, :string
7
8
  attribute :content, :string, collection: true
8
9
  xml do
9
10
  element "size"
11
+ map_attribute "id", to: :id
10
12
  mixed_content
11
13
 
12
14
  map_attribute "units", to: :units
@@ -3,17 +3,46 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Source < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
6
10
  attribute :content, :string, collection: true
7
11
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
12
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
13
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
14
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
15
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
16
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
17
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
18
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
19
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
20
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
21
+ attribute :target, ::Sts::NisoSts::Target, collection: true
22
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
9
23
 
10
24
  xml do
11
25
  element "source"
12
26
  mixed_content
13
27
 
28
+ map_attribute "content-type", to: :content_type
29
+ map_attribute "id", to: :id
30
+ map_attribute "specific-use", to: :specific_use
31
+ map_attribute "xml:lang", to: :xml_lang
32
+
14
33
  map_content to: :content
15
34
  map_element "bold", to: :bold
16
35
  map_element "italic", to: :italic
36
+ map_element "sub", to: :sub
37
+ map_element "sup", to: :sup
38
+ map_element "ext-link", to: :ext_link
39
+ map_element "inline-graphic", to: :inline_graphic
40
+ map_element "private-char", to: :private_char
41
+ map_element "named-content", to: :named_content
42
+ map_element "styled-content", to: :styled_content
43
+ map_element "fn", to: :fn
44
+ map_element "target", to: :target
45
+ map_element "xref", to: :xref
17
46
  end
18
47
  end
19
48
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Speaker < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "speaker"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -11,7 +11,7 @@ module Sts
11
11
 
12
12
  xml do
13
13
  element "speech"
14
- mixed_content
14
+ ordered
15
15
 
16
16
  map_attribute "id", to: :id
17
17
  map_attribute "content-type", to: :content_type
@@ -8,12 +8,14 @@ module Sts
8
8
  attribute :back, ::Sts::NisoSts::Back
9
9
  attribute :id, :string
10
10
  attribute :lang, Lutaml::Xml::W3c::XmlLangType
11
+ attribute :dtd_version, :string
11
12
  attribute :mml, :string
12
13
  attribute :tbx, :string
13
14
  attribute :xlink, :string
14
15
 
15
16
  xml do
16
17
  element "standard"
18
+ ordered
17
19
  namespace_scope [
18
20
  ::Sts::Namespaces::MathmlNamespace,
19
21
  ::Sts::Namespaces::TbxNamespace,
@@ -22,6 +24,7 @@ module Sts
22
24
 
23
25
  map_attribute "id", to: :id
24
26
  map_attribute "lang", to: :lang
27
+ map_attribute "dtd-version", to: :dtd_version
25
28
  map_element "front", to: :front
26
29
  map_element "body", to: :body
27
30
  map_element "back", to: :back
@@ -9,11 +9,12 @@ module Sts
9
9
  attribute :edition, :string
10
10
  attribute :version, :string
11
11
  attribute :part_number, :string
12
+ attribute :sub_part_number, :string, collection: true
12
13
  attribute :std_id_group, ::Sts::NisoSts::StdIdGroup
13
14
 
14
15
  xml do
15
16
  element "std-ident"
16
- mixed_content
17
+ ordered
17
18
 
18
19
  map_element "originator", to: :originator
19
20
  map_element "doc-type", to: :doc_type
@@ -23,6 +24,7 @@ module Sts
23
24
  map_element "version", to: :version,
24
25
  value_map: { to: { empty: :empty } }
25
26
  map_element "part-number", to: :part_number
27
+ map_element "sub-part-number", to: :sub_part_number
26
28
  map_element "std-id-group", to: :std_id_group
27
29
  end
28
30
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class State < 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 "state"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -13,7 +13,7 @@ module Sts
13
13
 
14
14
  xml do
15
15
  element "statement"
16
- mixed_content
16
+ ordered
17
17
 
18
18
  map_attribute "id", to: :id
19
19
  map_attribute "content-type", to: :content_type