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
@@ -7,6 +7,10 @@ module Sts
7
7
  attribute :kwd_group_type, :string
8
8
  attribute :xml_lang, :string
9
9
  attribute :specific_use, :string
10
+ attribute :vocab, :string
11
+ attribute :vocab_identifier, :string
12
+ attribute :vocab_term, :string
13
+ attribute :vocab_term_identifier, :string
10
14
  attribute :label, ::Sts::NisoSts::Label
11
15
  attribute :title, ::Sts::NisoSts::Title
12
16
  attribute :kwd, ::Sts::NisoSts::Kwd, collection: true
@@ -17,11 +21,16 @@ module Sts
17
21
 
18
22
  xml do
19
23
  element "kwd-group"
24
+ ordered
20
25
 
21
26
  map_attribute "id", to: :id
22
27
  map_attribute "kwd-group-type", to: :kwd_group_type
23
28
  map_attribute "xml:lang", to: :xml_lang
24
29
  map_attribute "specific-use", to: :specific_use
30
+ map_attribute "vocab", to: :vocab
31
+ map_attribute "vocab-identifier", to: :vocab_identifier
32
+ map_attribute "vocab-term", to: :vocab_term
33
+ map_attribute "vocab-term-identifier", to: :vocab_term_identifier
25
34
 
26
35
  map_element "label", to: :label
27
36
  map_element "title", to: :title
@@ -3,12 +3,17 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Label < Lutaml::Model::Serializable
6
- attribute :content, :string
7
- attribute :sup, Sts::TbxIsoTml::Sup
6
+ attribute :id, :string
7
+ attribute :xml_lang, :string
8
+ attribute :content, :string, collection: true
9
+ attribute :sup, Sts::TbxIsoTml::Sup, collection: true
8
10
 
9
11
  xml do
10
12
  element "label"
13
+ map_attribute "id", to: :id
14
+ mixed_content
11
15
 
16
+ map_attribute "xml:lang", to: :xml_lang
12
17
  map_content to: :content
13
18
  map_element "sup", to: :sup
14
19
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Legend < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :content, :string, collection: true
11
+ attribute :title, ::Sts::NisoSts::Title
12
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
13
+ attribute :list, ::Sts::NisoSts::List, collection: true
14
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
15
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
16
+ attribute :supplementary_material,
17
+ ::Sts::NisoSts::SupplementaryMaterial, collection: true
18
+
19
+ xml do
20
+ element "legend"
21
+ mixed_content
22
+
23
+ map_attribute "id", to: :id
24
+ map_attribute "content-type", to: :content_type
25
+ map_attribute "specific-use", to: :specific_use
26
+ map_attribute "xml:lang", to: :xml_lang
27
+
28
+ map_content to: :content
29
+ map_element "title", to: :title
30
+ map_element "p", to: :p
31
+ map_element "list", to: :list
32
+ map_element "def-list", to: :def_list
33
+ map_element "graphic", to: :graphic
34
+ map_element "supplementary-material",
35
+ to: :supplementary_material
36
+ end
37
+ end
38
+ end
39
+ end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class License < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :href, :xlink_href
7
8
  attribute :lang, Lutaml::Xml::W3c::XmlLangType
8
9
  attribute :license_p, ::Sts::NisoSts::LicenseP, collection: true
@@ -10,6 +11,7 @@ module Sts
10
11
  xml do
11
12
  element "license"
12
13
 
14
+ map_attribute "id", to: :id
13
15
  map_attribute "xlink:href", to: :href
14
16
  map_attribute "xml:lang", to: :lang
15
17
  map_element "license-p", to: :license_p
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class LicenseP < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "license-p"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,15 +3,22 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class List < Lutaml::Model::Serializable
6
- attribute :text, :string
6
+ attribute :id, :string
7
7
  attribute :list_type, :string
8
+ attribute :content_type, :string
9
+ attribute :originator, :string
10
+ attribute :specific_use, :string
8
11
  attribute :list_item, ::Sts::NisoSts::ListItem, collection: true
9
12
 
10
13
  xml do
11
14
  element "list"
15
+ ordered
12
16
 
13
- map_content to: :text
17
+ map_attribute "id", to: :id
14
18
  map_attribute "list-type", to: :list_type
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "originator", to: :originator
21
+ map_attribute "specific-use", to: :specific_use
15
22
  map_element "list-item", to: :list_item
16
23
  end
17
24
  end
@@ -1,21 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class ListItem < Lutaml::Model::Serializable
6
+ attribute :id, :string
8
7
  attribute :label, ::Sts::NisoSts::Label
9
- attribute :list, ::Sts::NisoSts::List
10
- attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample
8
+ attribute :list, ::Sts::NisoSts::List, collection: true
9
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
10
+ collection: true
11
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
12
+ collection: true
11
13
  attribute :p, ::Sts::NisoSts::Paragraph, collection: true
12
14
 
13
15
  xml do
14
16
  element "list-item"
17
+ ordered
15
18
 
19
+ map_attribute "id", to: :id
16
20
  map_element "label", to: :label
17
21
  map_element "list", to: :list
18
22
  map_element "non-normative-example", to: :non_normative_example
23
+ map_element "non-normative-note", to: :non_normative_note
19
24
  map_element "p", to: :p
20
25
  end
21
26
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class LongDesc < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content_type, :string
7
8
  attribute :xml_lang, :string
8
9
  attribute :specific_use, :string
9
10
  attribute :content, :string, collection: true
10
11
  xml do
11
12
  element "long-desc"
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 Lpage < 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 "lpage"
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 Main < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "main"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -21,6 +21,7 @@ module Sts
21
21
 
22
22
  xml do
23
23
  element "media"
24
+ ordered
24
25
 
25
26
  map_attribute "id", to: :id
26
27
  map_attribute "content-type", to: :content_type
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class MetaDate < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string
7
8
  attribute :type, :string
8
9
 
@@ -11,6 +12,7 @@ module Sts
11
12
 
12
13
  map_content to: :content
13
14
 
15
+ map_attribute "id", to: :id
14
16
  map_attribute :type, to: :type
15
17
  end
16
18
  end
@@ -10,7 +10,7 @@ module Sts
10
10
 
11
11
  xml do
12
12
  element "meta-note"
13
- mixed_content
13
+ ordered
14
14
 
15
15
  map_attribute "id", to: :id
16
16
  map_attribute "content-type", to: :content_type
@@ -22,7 +22,7 @@ module Sts
22
22
 
23
23
  xml do
24
24
  element "iso-meta"
25
- mixed_content
25
+ ordered
26
26
 
27
27
  map_element "comm-ref", to: :comm_ref,
28
28
  value_map: { to: { empty: :empty } }
@@ -1,11 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class MetadataStd < Lutaml::Model::Serializable
8
6
  attribute :id, :string
7
+ attribute :std_meta_type, :string
9
8
  attribute :title_wrap, ::Sts::NisoSts::TitleWrap, collection: true
10
9
  attribute :content_language, :string
11
10
  attribute :std_ident, ::Sts::NisoSts::StandardIdentification
@@ -13,23 +12,28 @@ module Sts
13
12
  attribute :std_ref, ::Sts::NisoSts::StandardRef, collection: true
14
13
  attribute :doc_ref, :string
15
14
  attribute :pub_date, :string
16
- attribute :release_date, :string
17
- attribute :release_version, :string
15
+ attribute :proj_id, ::Sts::NisoSts::ProjId
16
+ attribute :release_date, ::Sts::NisoSts::ReleaseDate, collection: true
17
+ attribute :release_version, ::Sts::NisoSts::ReleaseVersion
18
+ attribute :std_org, ::Sts::NisoSts::StdOrg, collection: true
19
+ attribute :std_org_group, ::Sts::NisoSts::StdOrgGroup
18
20
  attribute :comm_ref, :string
19
21
  attribute :secretariat, :string
22
+ attribute :ics, :string, collection: true
20
23
  attribute :page_count, ::Sts::NisoSts::PageCount
21
- attribute :ics, :string
22
- attribute :std_xref, ::Sts::NisoSts::StdCrossReference
24
+ attribute :std_xref, ::Sts::NisoSts::StdCrossReference, collection: true
23
25
  attribute :permissions, ::Sts::NisoSts::Permissions
26
+ attribute :self_uri, ::Sts::NisoSts::SelfUri
24
27
  attribute :meta_note, ::Sts::NisoSts::MetaNote, collection: true
25
28
  attribute :custom_meta_group, ::Sts::NisoSts::CustomMetaGroup,
26
29
  collection: true
27
30
 
28
31
  xml do
29
32
  element "std-meta"
30
- mixed_content
33
+ ordered
31
34
 
32
35
  map_attribute "id", to: :id
36
+ map_attribute "std-meta-type", to: :std_meta_type
33
37
 
34
38
  map_element "title-wrap", to: :title_wrap
35
39
  map_element "content-language", to: :content_language
@@ -38,16 +42,20 @@ module Sts
38
42
  map_element "std-ref", to: :std_ref
39
43
  map_element "doc-ref", to: :doc_ref
40
44
  map_element "pub-date", to: :pub_date
45
+ map_element "proj-id", to: :proj_id
41
46
  map_element "release-date", to: :release_date
42
47
  map_element "release-version", to: :release_version
48
+ map_element "std-org", to: :std_org
49
+ map_element "std-org-group", to: :std_org_group
43
50
  map_element "comm-ref", to: :comm_ref,
44
51
  value_map: { to: { empty: :empty } }
45
52
  map_element "secretariat", to: :secretariat,
46
53
  value_map: { to: { empty: :empty } }
47
- map_element "page-count", to: :page_count
48
54
  map_element "ics", to: :ics
55
+ map_element "page-count", to: :page_count
49
56
  map_element "std-xref", to: :std_xref
50
57
  map_element "permissions", to: :permissions
58
+ map_element "self-uri", to: :self_uri
51
59
  map_element "meta-note", to: :meta_note
52
60
  map_element "custom-meta-group", to: :custom_meta_group
53
61
  end
@@ -8,17 +8,15 @@ module Sts
8
8
  attribute :content_type, :string
9
9
  attribute :rationale, :string
10
10
  attribute :specific_use, :string
11
- attribute :content, :string, collection: true
12
11
  xml do
13
12
  element "milestone-end"
14
- mixed_content
13
+ ordered
15
14
 
16
15
  map_attribute "id", to: :id
17
16
  map_attribute "rid", to: :rid
18
17
  map_attribute "content-type", to: :content_type
19
18
  map_attribute "rationale", to: :rationale
20
19
  map_attribute "specific-use", to: :specific_use
21
- map_content to: :content
22
20
  end
23
21
  end
24
22
  end
@@ -7,16 +7,14 @@ module Sts
7
7
  attribute :content_type, :string
8
8
  attribute :rationale, :string
9
9
  attribute :specific_use, :string
10
- attribute :content, :string, collection: true
11
10
  xml do
12
11
  element "milestone-start"
13
- mixed_content
12
+ ordered
14
13
 
15
14
  map_attribute "id", to: :id
16
15
  map_attribute "content-type", to: :content_type
17
16
  map_attribute "rationale", to: :rationale
18
17
  map_attribute "specific-use", to: :specific_use
19
- map_content to: :content
20
18
  end
21
19
  end
22
20
  end
@@ -4,8 +4,10 @@
4
4
  module Sts
5
5
  module NisoSts
6
6
  class MixedCitation < Lutaml::Model::Serializable
7
+ attribute :id, :string
7
8
  attribute :content, :string, collection: true
8
9
  attribute :publication_type, :string
10
+ attribute :xlink_type, :string
9
11
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
10
12
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
11
13
  attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
@@ -56,13 +58,24 @@ module Sts
56
58
  attribute :institution, ::Sts::NisoSts::Institution, collection: true
57
59
  attribute :publisher, ::Sts::NisoSts::Publisher
58
60
  attribute :price, :string
61
+ attribute :year, ::Sts::NisoSts::Year, collection: true
62
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
63
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
64
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
65
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
66
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
67
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
68
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
69
+ attribute :break, ::Sts::NisoSts::Break, collection: true
59
70
 
60
71
  xml do
61
72
  element "mixed-citation"
62
73
  mixed_content
63
74
 
64
75
  map_content to: :content
76
+ map_attribute "id", to: :id
65
77
  map_attribute "publication-type", to: :publication_type
78
+ map_attribute "xlink:type", to: :xlink_type
66
79
 
67
80
  map_element "bold", to: :bold
68
81
  map_element "italic", to: :italic
@@ -114,6 +127,15 @@ module Sts
114
127
  map_element "institution", to: :institution
115
128
  map_element "publisher", to: :publisher
116
129
  map_element "price", to: :price
130
+ map_element "year", to: :year
131
+ map_element "fn", to: :fn
132
+ map_element "sc", to: :sc
133
+ map_element "sup", to: :sup
134
+ map_element "sub", to: :sub
135
+ map_element "xref", to: :xref
136
+ map_element "uri", to: :uri
137
+ map_element "underline", to: :underline
138
+ map_element "break", to: :break
117
139
  end
118
140
  end
119
141
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  module MmlContent
@@ -7,6 +7,11 @@ module Sts
7
7
  attribute :specific_use, :string
8
8
  attribute :toggle, :string
9
9
  attribute :content, :string, collection: true
10
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
11
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
12
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
13
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
14
+
10
15
  xml do
11
16
  element "monospace"
12
17
  mixed_content
@@ -15,6 +20,10 @@ module Sts
15
20
  map_attribute "specific-use", to: :specific_use
16
21
  map_attribute "toggle", to: :toggle
17
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 "styled-content", to: :styled_content
18
27
  end
19
28
  end
20
29
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Month < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "month"
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 Name < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :name_style, :string
7
8
  attribute :content_type, :string
8
9
  attribute :surname, ::Sts::NisoSts::Surname
@@ -12,6 +13,8 @@ module Sts
12
13
 
13
14
  xml do
14
15
  element "name"
16
+ map_attribute "id", to: :id
17
+ ordered
15
18
 
16
19
  map_attribute "name-style", to: :name_style
17
20
  map_attribute "content-type", to: :content_type
@@ -3,12 +3,17 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class NameAlternatives < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :name, ::Sts::NisoSts::Name, collection: true
8
+ attribute :string_name, ::Sts::NisoSts::StringName, collection: true
7
9
 
8
10
  xml do
9
11
  element "name-alternatives"
10
12
 
13
+ map_attribute "id", to: :id
14
+
11
15
  map_element "name", to: :name
16
+ map_element "string-name", to: :string_name
12
17
  end
13
18
  end
14
19
  end
@@ -3,14 +3,64 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class NamedContent < Lutaml::Model::Serializable
6
+ attribute :alt, :string
6
7
  attribute :content_type, :string
7
- attribute :content, :string
8
+ attribute :id, :string
9
+ attribute :rid, :string
10
+ attribute :specific_use, :string
11
+ attribute :vocab, :string
12
+ attribute :vocab_identifier, :string
13
+ attribute :vocab_term, :string
14
+ attribute :vocab_term_identifier, :string
15
+ attribute :xlink_href, :string
16
+ attribute :xlink_role, :string
17
+ attribute :xlink_title, :string
18
+ attribute :xlink_show, :string
19
+ attribute :xlink_actuate, :string
20
+ attribute :content, :string, collection: true
21
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
22
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
23
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
24
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
25
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
26
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
27
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
28
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
29
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
30
+ attribute :target, ::Sts::NisoSts::Target, collection: true
31
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
8
32
 
9
33
  xml do
10
34
  element "named-content"
35
+ mixed_content
11
36
 
37
+ map_attribute "alt", to: :alt
12
38
  map_attribute "content-type", to: :content_type
39
+ map_attribute "id", to: :id
40
+ map_attribute "rid", to: :rid
41
+ map_attribute "specific-use", to: :specific_use
42
+ map_attribute "vocab", to: :vocab
43
+ map_attribute "vocab-identifier", to: :vocab_identifier
44
+ map_attribute "vocab-term", to: :vocab_term
45
+ map_attribute "vocab-term-identifier", to: :vocab_term_identifier
46
+ map_attribute "xlink:href", to: :xlink_href
47
+ map_attribute "xlink:role", to: :xlink_role
48
+ map_attribute "xlink:title", to: :xlink_title
49
+ map_attribute "xlink:show", to: :xlink_show
50
+ map_attribute "xlink:actuate", to: :xlink_actuate
51
+
13
52
  map_content to: :content
53
+ map_element "bold", to: :bold
54
+ map_element "italic", to: :italic
55
+ map_element "sub", to: :sub
56
+ map_element "sup", to: :sup
57
+ map_element "ext-link", to: :ext_link
58
+ map_element "inline-graphic", to: :inline_graphic
59
+ map_element "private-char", to: :private_char
60
+ map_element "styled-content", to: :styled_content
61
+ map_element "fn", to: :fn
62
+ map_element "target", to: :target
63
+ map_element "xref", to: :xref
14
64
  end
15
65
  end
16
66
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class NatMeta < 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 "nat-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,12 +3,15 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class NestedKwd < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :kwd, ::Sts::NisoSts::Kwd
7
8
  attribute :kwd_group, ::Sts::NisoSts::KwdGroup, collection: true
8
9
  attribute :nested_kwd, ::Sts::NisoSts::NestedKwd, collection: true
9
10
 
10
11
  xml do
11
12
  element "nested-kwd"
13
+ map_attribute "id", to: :id
14
+ ordered
12
15
 
13
16
  map_element "kwd", to: :kwd
14
17
  map_element "kwd-group", to: :kwd_group
@@ -50,7 +50,7 @@ module Sts
50
50
 
51
51
  xml do
52
52
  element "nlm-citation"
53
- mixed_content
53
+ ordered
54
54
 
55
55
  map_attribute "citation-type", to: :citation_type
56
56
  map_attribute "id", to: :id
@@ -4,16 +4,29 @@ module Sts
4
4
  module NisoSts
5
5
  class NonNormativeExample < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
- attribute :p, ::Sts::NisoSts::Paragraph
7
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
8
8
  attribute :label, ::Sts::NisoSts::Label
9
+ attribute :list, ::Sts::NisoSts::List, collection: true
10
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
11
+ attribute :boxed_text, ::Sts::NisoSts::BoxedText, collection: true
12
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
13
+ attribute :table_wrap, ::Sts::TbxIsoTml::TableWrap, collection: true
14
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
15
+ collection: true
9
16
 
10
17
  xml do
11
18
  element "non-normative-example"
12
- mixed_content
19
+ ordered
13
20
 
14
21
  map_attribute "id", to: :id
15
22
  map_element "p", to: :p
16
23
  map_element "label", to: :label
24
+ map_element "list", to: :list
25
+ map_element "preformat", to: :preformat
26
+ map_element "boxed-text", to: :boxed_text
27
+ map_element "graphic", to: :graphic
28
+ map_element "table-wrap", to: :table_wrap
29
+ map_element "non-normative-example", to: :non_normative_example
17
30
  end
18
31
  end
19
32
  end