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,15 +3,41 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Title < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
6
9
  attribute :content, :string, collection: true
7
10
  attribute :inline_formula, Sts::NisoSts::InlineFormula, collection: true
11
+ attribute :std, Sts::NisoSts::ReferenceStandard, collection: true
12
+ attribute :xref, Sts::TbxIsoTml::Xref, collection: true
13
+ attribute :bold, Sts::TbxIsoTml::Bold, collection: true
14
+ attribute :italic, Sts::TbxIsoTml::Italic, collection: true
15
+ attribute :sub, Sts::NisoSts::Sub, collection: true
16
+ attribute :sup, Sts::NisoSts::Sup, collection: true
17
+ attribute :break, Sts::NisoSts::Break, collection: true
18
+ attribute :styled_content, Sts::NisoSts::StyledContent, collection: true
19
+ attribute :monospace, Sts::NisoSts::Monospace, collection: true
20
+ attribute :sc, Sts::NisoSts::Sc, collection: true
8
21
 
9
22
  xml do
10
23
  element "title"
11
24
  mixed_content
12
25
 
13
26
  map_content to: :content
27
+ map_attribute "content-type", to: :content_type
28
+ map_attribute "id", to: :id
29
+ map_attribute "specific-use", to: :specific_use
14
30
  map_element "inline-formula", to: :inline_formula
31
+ map_element "std", to: :std
32
+ map_element "xref", to: :xref
33
+ map_element "bold", to: :bold
34
+ map_element "italic", to: :italic
35
+ map_element "sub", to: :sub
36
+ map_element "sup", to: :sup
37
+ map_element "break", to: :break
38
+ map_element "styled-content", to: :styled_content
39
+ map_element "monospace", to: :monospace
40
+ map_element "sc", to: :sc
15
41
  end
16
42
  end
17
43
  end
@@ -3,11 +3,13 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TitleFull < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  attribute :std, ::Sts::NisoSts::ReferenceStandard
8
9
 
9
10
  xml do
10
11
  element "full"
12
+ map_attribute "id", to: :id
11
13
  mixed_content
12
14
 
13
15
  map_content to: :content
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Toc < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :toc_title_group, ::Sts::NisoSts::TocTitleGroup
11
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
12
+ attribute :toc_entry, ::Sts::NisoSts::TocEntry, collection: true
13
+ attribute :toc_div, ::Sts::NisoSts::TocDiv, collection: true
14
+ attribute :fn_group, ::Sts::NisoSts::FnGroup, collection: true
15
+
16
+ xml do
17
+ element "toc"
18
+ ordered
19
+
20
+ map_attribute "content-type", to: :content_type
21
+ map_attribute "id", to: :id
22
+ map_attribute "specific-use", to: :specific_use
23
+ map_attribute "xml:lang", to: :xml_lang
24
+ map_element "toc-title-group", to: :toc_title_group
25
+ map_element "p", to: :p
26
+ map_element "toc-entry", to: :toc_entry
27
+ map_element "toc-div", to: :toc_div
28
+ map_element "fn-group", to: :fn_group
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class TocDiv < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :toc_title_group, ::Sts::NisoSts::TocTitleGroup
11
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
12
+ attribute :toc_entry, ::Sts::NisoSts::TocEntry, collection: true
13
+ attribute :toc_div, ::Sts::NisoSts::TocDiv, collection: true
14
+
15
+ xml do
16
+ element "toc-div"
17
+ ordered
18
+
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "id", to: :id
21
+ map_attribute "specific-use", to: :specific_use
22
+ map_attribute "xml:lang", to: :xml_lang
23
+ map_element "toc-title-group", to: :toc_title_group
24
+ map_element "p", to: :p
25
+ map_element "toc-entry", to: :toc_entry
26
+ map_element "toc-div", to: :toc_div
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class TocEntry < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :label, ::Sts::NisoSts::Label
11
+ attribute :title, ::Sts::NisoSts::Title, collection: true
12
+ attribute :subtitle, ::Sts::NisoSts::Subtitle, collection: true
13
+ attribute :toc_entry, ::Sts::NisoSts::TocEntry, collection: true
14
+
15
+ xml do
16
+ element "toc-entry"
17
+ ordered
18
+
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "id", to: :id
21
+ map_attribute "specific-use", to: :specific_use
22
+ map_attribute "xml:lang", to: :xml_lang
23
+ map_element "label", to: :label
24
+ map_element "title", to: :title
25
+ map_element "subtitle", to: :subtitle
26
+ map_element "toc-entry", to: :toc_entry
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class TocTitleGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :label, ::Sts::NisoSts::Label
8
+ attribute :title, ::Sts::NisoSts::Title
9
+ attribute :subtitle, ::Sts::NisoSts::Subtitle, collection: true
10
+
11
+ xml do
12
+ element "toc-title-group"
13
+ ordered
14
+
15
+ map_attribute "id", to: :id
16
+ map_element "label", to: :label
17
+ map_element "title", to: :title
18
+ map_element "subtitle", to: :subtitle
19
+ end
20
+ end
21
+ end
22
+ end
@@ -11,6 +11,7 @@ module Sts
11
11
 
12
12
  xml do
13
13
  element "trans-abstract"
14
+ ordered
14
15
 
15
16
  map_attribute "id", to: :id
16
17
  map_attribute "abstract-type", to: :abstract_type
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TransSource < 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 "trans-source"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TransTitle < 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 "trans-title"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class TransTitleGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :trans_title, ::Sts::NisoSts::TransTitle, collection: true
7
8
 
8
9
  xml do
9
10
  element "trans-title-group"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "trans-title", to: :trans_title
12
15
  end
13
16
  end
@@ -7,6 +7,9 @@ module Sts
7
7
  attribute :specific_use, :string
8
8
  attribute :toggle, :string
9
9
  attribute :content, :string, collection: true
10
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
11
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
12
+
10
13
  xml do
11
14
  element "underline"
12
15
  mixed_content
@@ -15,6 +18,8 @@ module Sts
15
18
  map_attribute "specific-use", to: :specific_use
16
19
  map_attribute "toggle", to: :toggle
17
20
  map_content to: :content
21
+ map_element "std", to: :std
22
+ map_element "underline", to: :underline
18
23
  end
19
24
  end
20
25
  end
@@ -3,14 +3,18 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Uri < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
8
+ attribute :xlink_type, :string
7
9
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
8
10
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
9
11
 
10
12
  xml do
11
13
  element "uri"
14
+ map_attribute "id", to: :id
12
15
  mixed_content
13
16
 
17
+ map_attribute "xlink:type", to: :xlink_type
14
18
  map_content to: :content
15
19
  map_element "bold", to: :bold
16
20
  map_element "italic", to: :italic
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Urn < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "urn"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -13,7 +13,7 @@ module Sts
13
13
 
14
14
  xml do
15
15
  element "verse-group"
16
- mixed_content
16
+ ordered
17
17
 
18
18
  map_attribute "id", to: :id
19
19
  map_attribute "content-type", to: :content_type
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class VerseLine < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "verse-line"
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 Version < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "version"
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 Volume < 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 "volume"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class VolumeId < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content_type, :string
7
8
  attribute :specific_use, :string
8
9
  attribute :pub_id_type, :string
9
10
  attribute :content, :string, collection: true
10
11
  xml do
11
12
  element "volume-id"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_attribute "content-type", to: :content_type
@@ -3,12 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class VolumeIssueGroup < Lutaml::Model::Serializable
6
- attribute :content, :string, collection: true
6
+ attribute :id, :string
7
7
  xml do
8
8
  element "volume-issue-group"
9
- mixed_content
10
-
11
- map_content to: :content
9
+ map_attribute "id", to: :id
10
+ ordered
12
11
  end
13
12
  end
14
13
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class VolumeSeries < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "volume-series"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class WordCount < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :count, :integer
7
8
 
8
9
  xml do
9
10
  element "word-count"
11
+ map_attribute "id", to: :id
10
12
  map_attribute "count", to: :count
11
13
  end
12
14
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Year < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "year"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
data/lib/sts/niso_sts.rb CHANGED
@@ -4,8 +4,9 @@ module Sts
4
4
  module NisoSts
5
5
  autoload :Abstract, "#{__dir__}/niso_sts/abstract"
6
6
  autoload :AccessDate, "#{__dir__}/niso_sts/access_date"
7
+ autoload :AccreditingOrganization,
8
+ "#{__dir__}/niso_sts/accrediting_organization"
7
9
  autoload :Ack, "#{__dir__}/niso_sts/ack"
8
- autoload :Acronym, "#{__dir__}/niso_sts/acronym"
9
10
  autoload :AddrLine, "#{__dir__}/niso_sts/addr_line"
10
11
  autoload :Address, "#{__dir__}/niso_sts/address"
11
12
  autoload :Adoption, "#{__dir__}/niso_sts/adoption"
@@ -21,8 +22,8 @@ module Sts
21
22
  autoload :App, "#{__dir__}/niso_sts/app"
22
23
  autoload :AppGroup, "#{__dir__}/niso_sts/app_group"
23
24
  autoload :ArticleTitle, "#{__dir__}/niso_sts/article_title"
24
- autoload :Attribution, "#{__dir__}/niso_sts/attribution"
25
25
  autoload :Attrib, "#{__dir__}/niso_sts/attrib"
26
+ autoload :Attribution, "#{__dir__}/niso_sts/attribution"
26
27
  autoload :Authorization, "#{__dir__}/niso_sts/authorization"
27
28
  autoload :AuthorComment, "#{__dir__}/niso_sts/author_comment"
28
29
  autoload :AuthorNotes, "#{__dir__}/niso_sts/author_notes"
@@ -43,6 +44,10 @@ module Sts
43
44
  autoload :CollabAlternatives, "#{__dir__}/niso_sts/collab_alternatives"
44
45
  autoload :CommRefGroup, "#{__dir__}/niso_sts/comm_ref_group"
45
46
  autoload :Comment, "#{__dir__}/niso_sts/comment"
47
+ autoload :CompoundKwd, "#{__dir__}/niso_sts/compound_kwd"
48
+ autoload :CompoundKwdPart, "#{__dir__}/niso_sts/compound_kwd_part"
49
+ autoload :CompoundSubject, "#{__dir__}/niso_sts/compound_subject"
50
+ autoload :CompoundSubjectPart, "#{__dir__}/niso_sts/compound_subject_part"
46
51
  autoload :ConfAcronym, "#{__dir__}/niso_sts/conf_acronym"
47
52
  autoload :ConfDate, "#{__dir__}/niso_sts/conf_date"
48
53
  autoload :ConfLoc, "#{__dir__}/niso_sts/conf_loc"
@@ -60,16 +65,16 @@ module Sts
60
65
  autoload :Counts, "#{__dir__}/niso_sts/counts"
61
66
  autoload :CustomMeta, "#{__dir__}/niso_sts/custom_meta"
62
67
  autoload :CustomMetaGroup, "#{__dir__}/niso_sts/custom_meta_group"
63
- autoload :CompoundKwd, "#{__dir__}/niso_sts/compound_kwd"
64
- autoload :CompoundKwdPart, "#{__dir__}/niso_sts/compound_kwd_part"
65
68
  autoload :Contrib, "#{__dir__}/niso_sts/contrib"
66
69
  autoload :ContribGroup, "#{__dir__}/niso_sts/contrib_group"
67
70
  autoload :ContribId, "#{__dir__}/niso_sts/contrib_id"
68
71
  autoload :DataTitle, "#{__dir__}/niso_sts/data_title"
69
72
  autoload :Date, "#{__dir__}/niso_sts/date"
73
+ autoload :Code, "#{__dir__}/niso_sts/code"
70
74
  autoload :DateInCitation, "#{__dir__}/niso_sts/date_in_citation"
71
75
  autoload :Day, "#{__dir__}/niso_sts/day"
72
76
  autoload :Def, "#{__dir__}/niso_sts/def"
77
+ autoload :DefHead, "#{__dir__}/niso_sts/def_head"
73
78
  autoload :DefItem, "#{__dir__}/niso_sts/def_item"
74
79
  autoload :DefList, "#{__dir__}/niso_sts/def_list"
75
80
  autoload :Degrees, "#{__dir__}/niso_sts/degrees"
@@ -89,6 +94,7 @@ module Sts
89
94
  autoload :Era, "#{__dir__}/niso_sts/era"
90
95
  autoload :Etal, "#{__dir__}/niso_sts/etal"
91
96
  autoload :ExtLink, "#{__dir__}/niso_sts/ext_link"
97
+ autoload :ExtendedBy, "#{__dir__}/niso_sts/processing_meta"
92
98
  autoload :Fax, "#{__dir__}/niso_sts/fax"
93
99
  autoload :FigCount, "#{__dir__}/niso_sts/fig_count"
94
100
  autoload :Figure, "#{__dir__}/niso_sts/figure"
@@ -110,8 +116,14 @@ module Sts
110
116
  autoload :Ics, "#{__dir__}/niso_sts/ics"
111
117
  autoload :IcsDesc, "#{__dir__}/niso_sts/ics_desc"
112
118
  autoload :IcsWrap, "#{__dir__}/niso_sts/ics_wrap"
119
+ autoload :Index, "#{__dir__}/niso_sts/index"
120
+ autoload :IndexDiv, "#{__dir__}/niso_sts/index_div"
121
+ autoload :IndexEntry, "#{__dir__}/niso_sts/index_entry"
122
+ autoload :IndexTitleGroup, "#{__dir__}/niso_sts/index_title_group"
113
123
  autoload :InlineFormula, "#{__dir__}/niso_sts/inline_formula"
124
+ autoload :InlineCode, "#{__dir__}/niso_sts/code"
114
125
  autoload :InlineGraphic, "#{__dir__}/niso_sts/inline_graphic"
126
+ autoload :InlineMedia, "#{__dir__}/niso_sts/inline_media"
115
127
  autoload :InlineSupplementaryMaterial,
116
128
  "#{__dir__}/niso_sts/inline_supplementary_material"
117
129
  autoload :Institution, "#{__dir__}/niso_sts/institution"
@@ -125,11 +137,10 @@ module Sts
125
137
  autoload :Issue, "#{__dir__}/niso_sts/issue"
126
138
  autoload :IndexTerm, "#{__dir__}/niso_sts/index_term"
127
139
  autoload :IndexTermRangeEnd, "#{__dir__}/niso_sts/index_term_range_end"
128
- autoload :See, "#{__dir__}/niso_sts/see"
129
- autoload :SeeAlso, "#{__dir__}/niso_sts/see_also"
130
140
  autoload :Kwd, "#{__dir__}/niso_sts/kwd"
131
141
  autoload :KwdGroup, "#{__dir__}/niso_sts/kwd_group"
132
142
  autoload :Label, "#{__dir__}/niso_sts/label"
143
+ autoload :Legend, "#{__dir__}/niso_sts/legend"
133
144
  autoload :License, "#{__dir__}/niso_sts/license"
134
145
  autoload :LicenseP, "#{__dir__}/niso_sts/license_p"
135
146
  autoload :List, "#{__dir__}/niso_sts/list"
@@ -177,6 +188,8 @@ module Sts
177
188
  autoload :PostalCode, "#{__dir__}/niso_sts/postal_code"
178
189
  autoload :Prefix, "#{__dir__}/niso_sts/prefix"
179
190
  autoload :Preformat, "#{__dir__}/niso_sts/preformat"
191
+ autoload :ProcessingMeta, "#{__dir__}/niso_sts/processing_meta"
192
+ autoload :Product, "#{__dir__}/niso_sts/product"
180
193
  autoload :Price, "#{__dir__}/niso_sts/price"
181
194
  autoload :PrincipalAwardRecipient,
182
195
  "#{__dir__}/niso_sts/principal_award_recipient"
@@ -204,11 +217,17 @@ module Sts
204
217
  autoload :Role, "#{__dir__}/niso_sts/role"
205
218
  autoload :Roman, "#{__dir__}/niso_sts/roman"
206
219
  autoload :Rp, "#{__dir__}/niso_sts/rp"
220
+ autoload :RestrictedBy, "#{__dir__}/niso_sts/processing_meta"
207
221
  autoload :Rt, "#{__dir__}/niso_sts/rt"
208
222
  autoload :Ruby, "#{__dir__}/niso_sts/ruby"
209
223
  autoload :SansSerif, "#{__dir__}/niso_sts/sans_serif"
210
224
  autoload :Sc, "#{__dir__}/niso_sts/sc"
225
+ autoload :SecMeta, "#{__dir__}/niso_sts/sec_meta"
211
226
  autoload :Sdo, "#{__dir__}/niso_sts/sdo"
227
+ autoload :See, "#{__dir__}/niso_sts/see"
228
+ autoload :SeeAlso, "#{__dir__}/niso_sts/see_also"
229
+ autoload :SeeAlsoEntry, "#{__dir__}/niso_sts/see_also_entry"
230
+ autoload :SeeEntry, "#{__dir__}/niso_sts/see_entry"
212
231
  autoload :Season, "#{__dir__}/niso_sts/season"
213
232
  autoload :Secretariat, "#{__dir__}/niso_sts/secretariat"
214
233
  autoload :Section, "#{__dir__}/niso_sts/section"
@@ -248,19 +267,21 @@ module Sts
248
267
  autoload :SubjGroup, "#{__dir__}/niso_sts/subj_group"
249
268
  autoload :Subject, "#{__dir__}/niso_sts/subject"
250
269
  autoload :Subtitle, "#{__dir__}/niso_sts/subtitle"
251
- autoload :SupplNumber, "#{__dir__}/niso_sts/suppl_number"
270
+ autoload :Sup, "#{__dir__}/niso_sts/sup"
271
+ autoload :SupplementaryMaterial,
272
+ "#{__dir__}/niso_sts/supplementary_material"
252
273
  autoload :Supplement, "#{__dir__}/niso_sts/supplement"
274
+ autoload :SupplNumber, "#{__dir__}/niso_sts/suppl_number"
253
275
  autoload :SupplType, "#{__dir__}/niso_sts/suppl_type"
254
276
  autoload :SupplVersion, "#{__dir__}/niso_sts/suppl_version"
255
- autoload :SupplementaryMaterial,
256
- "#{__dir__}/niso_sts/supplementary_material"
257
- autoload :Sup, "#{__dir__}/niso_sts/sup"
258
277
  autoload :Suffix, "#{__dir__}/niso_sts/suffix"
259
278
  autoload :Surname, "#{__dir__}/niso_sts/surname"
260
279
  autoload :TableCount, "#{__dir__}/niso_sts/table_count"
280
+ autoload :TableWrapGroup, "#{__dir__}/niso_sts/table_wrap_group"
261
281
  autoload :Target, "#{__dir__}/niso_sts/target"
262
282
  autoload :Term, "#{__dir__}/niso_sts/term"
263
283
  autoload :TermDisplay, "#{__dir__}/niso_sts/term_display"
284
+ autoload :TermDisplayString, "#{__dir__}/niso_sts/term_display_string"
264
285
  autoload :TermHead, "#{__dir__}/niso_sts/term_head"
265
286
  autoload :TermSection, "#{__dir__}/niso_sts/term_section"
266
287
  autoload :TermSource, "#{__dir__}/niso_sts/term_source"
@@ -268,6 +289,10 @@ module Sts
268
289
  autoload :TextualForm, "#{__dir__}/niso_sts/textual_form"
269
290
  autoload :TimeStamp, "#{__dir__}/niso_sts/time_stamp"
270
291
  autoload :Title, "#{__dir__}/niso_sts/title"
292
+ autoload :Toc, "#{__dir__}/niso_sts/toc"
293
+ autoload :TocDiv, "#{__dir__}/niso_sts/toc_div"
294
+ autoload :TocEntry, "#{__dir__}/niso_sts/toc_entry"
295
+ autoload :TocTitleGroup, "#{__dir__}/niso_sts/toc_title_group"
271
296
  autoload :TitleCompl, "#{__dir__}/niso_sts/title_compl"
272
297
  autoload :TitleFull, "#{__dir__}/niso_sts/title_full"
273
298
  autoload :TitleWrap, "#{__dir__}/niso_sts/title_wrap"
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module Profiles
5
+ module IsoIec
6
+ module Constraints
7
+ REQUIRED_ID_ELEMENTS = %w[
8
+ sec app fig table-wrap disp-formula ref-list ref p term-sec
9
+ graphic boxed-text list def-list non-normative-note
10
+ ].freeze
11
+
12
+ REQUIRED_FRONT_CHILDREN = %w[
13
+ std-meta
14
+ ].freeze
15
+
16
+ REQUIRED_STD_META_CHILDREN = %w[
17
+ std-ident doc-ref release-version
18
+ ].freeze
19
+
20
+ REQUIRED_STD_IDENT_CHILDREN = %w[
21
+ originator doc-type doc-number
22
+ ].freeze
23
+
24
+ ID_PATTERNS = {
25
+ "sec" => /\Asec_\d+(\.\d+)*\z/,
26
+ "app" => /\A(app|annex)_[A-Z]\z/,
27
+ "fig" => /\Afig_[A-Z\d]+\z/,
28
+ "table-wrap" => /\Atab_[A-Z\d]+\z/,
29
+ "disp-formula" => /\Afor_[A-Z\d]+\z/,
30
+ "ref" => /\Aref_\d+\z/,
31
+ "term-sec" => /\Aterm_\d+(\.\d+)*\z/,
32
+ "p" => /\Ap_[\w.]+\z/,
33
+ }.freeze
34
+
35
+ STD_ID_TYPES = %w[dated undated isbn doi].freeze
36
+
37
+ ORIGINATORS = %w[ISO IEC ISO/IEC ISO/IEEE IEC/ISO].freeze
38
+
39
+ DOCUMENT_TYPES = %w[is tr ts pas guide cor amd].freeze
40
+ end
41
+ end
42
+ end
43
+ end