sts 0.5.3 → 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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/GAPS.guidelines.iso-sts-ed2.1/01-maintenance.md +19 -0
  3. data/GAPS.guidelines.iso-sts-ed2.1/03-general.md +75 -0
  4. data/GAPS.guidelines.iso-sts-ed2.1/04-structure.md +75 -0
  5. data/GAPS.guidelines.iso-sts-ed2.1/05-content.md +63 -0
  6. data/GAPS.guidelines.iso-sts-ed2.1/06-tables.md +53 -0
  7. data/GAPS.guidelines.iso-sts-ed2.1/07-formulae.md +41 -0
  8. data/GAPS.guidelines.iso-sts-ed2.1/08-figures.md +45 -0
  9. data/GAPS.guidelines.iso-sts-ed2.1/09-terms.md +56 -0
  10. data/GAPS.guidelines.iso-sts-ed2.1/10-references.md +56 -0
  11. data/GAPS.guidelines.iso-sts-ed2.1/annex-a-multilingual.md +79 -0
  12. data/GAPS.guidelines.niso-sts-v1.0/01-introduction-scope.md +27 -0
  13. data/GAPS.guidelines.niso-sts-v1.0/02-document-structure.md +100 -0
  14. data/GAPS.guidelines.niso-sts-v1.0/03-front-matter.md +149 -0
  15. data/GAPS.guidelines.niso-sts-v1.0/04-body-content.md +209 -0
  16. data/GAPS.guidelines.niso-sts-v1.0/05-tables-figures.md +152 -0
  17. data/GAPS.guidelines.niso-sts-v1.0/06-math-formulae.md +128 -0
  18. data/GAPS.guidelines.niso-sts-v1.0/07-references.md +113 -0
  19. data/GAPS.guidelines.niso-sts-v1.0/08-terminology.md +127 -0
  20. data/GAPS.guidelines.niso-sts-v1.0/09-metadata.md +113 -0
  21. data/GAPS.guidelines.niso-sts-v1.0/10-iso-iec-variant.md +141 -0
  22. data/GAPS.guidelines.niso-sts-v1.0/SUMMARY.md +96 -0
  23. data/GAPS.guidelines.schema-xref.md +101 -0
  24. data/Gemfile +1 -0
  25. data/TODO.sts-refactor/00-overview.md +172 -0
  26. data/TODO.sts-refactor/01-mathml-delegation.md +153 -0
  27. data/TODO.sts-refactor/02-type-resolution.md +122 -0
  28. data/TODO.sts-refactor/03-namespace-coupling.md +158 -0
  29. data/TODO.sts-refactor/04-register-versioning.md +180 -0
  30. data/TODO.sts-refactor/05-missing-elements.md +195 -0
  31. data/TODO.sts-refactor/06-missing-attributes.md +152 -0
  32. data/TODO.sts-refactor/07-incomplete-models.md +180 -0
  33. data/TODO.sts-refactor/08-isoiec-profile.md +169 -0
  34. data/TODO.sts-refactor/09-autoload-cleanup.md +88 -0
  35. data/TODO.sts-refactor/10-test-coverage.md +164 -0
  36. data/TODO.sts-refactor/11-duplicate-models.md +168 -0
  37. data/lib/sts/iso_sts/annex_type.rb +2 -0
  38. data/lib/sts/iso_sts/bold.rb +9 -9
  39. data/lib/sts/iso_sts/break.rb +3 -0
  40. data/lib/sts/iso_sts/comm_ref.rb +2 -0
  41. data/lib/sts/iso_sts/content_language.rb +22 -0
  42. data/lib/sts/iso_sts/copyright_holder.rb +4 -2
  43. data/lib/sts/iso_sts/copyright_statement.rb +4 -2
  44. data/lib/sts/iso_sts/copyright_year.rb +3 -0
  45. data/lib/sts/iso_sts/doc_ref.rb +2 -0
  46. data/lib/sts/iso_sts/document_identification.rb +2 -0
  47. data/lib/sts/iso_sts/edition.rb +2 -0
  48. data/lib/sts/iso_sts/ext_link.rb +1 -1
  49. data/lib/sts/iso_sts/front.rb +2 -0
  50. data/lib/sts/iso_sts/iso_meta.rb +2 -2
  51. data/lib/sts/iso_sts/italic.rb +9 -9
  52. data/lib/sts/iso_sts/label.rb +7 -5
  53. data/lib/sts/iso_sts/language.rb +2 -0
  54. data/lib/sts/iso_sts/meta_date.rb +20 -0
  55. data/lib/sts/iso_sts/mixed_citation.rb +5 -5
  56. data/lib/sts/iso_sts/monospace.rb +26 -0
  57. data/lib/sts/iso_sts/named_content.rb +44 -0
  58. data/lib/sts/iso_sts/nat_meta.rb +4 -4
  59. data/lib/sts/iso_sts/page_count.rb +2 -0
  60. data/lib/sts/iso_sts/paragraph.rb +8 -8
  61. data/lib/sts/iso_sts/permissions.rb +2 -0
  62. data/lib/sts/iso_sts/preformat.rb +3 -3
  63. data/lib/sts/iso_sts/reg_meta.rb +4 -4
  64. data/lib/sts/iso_sts/release_date.rb +2 -0
  65. data/lib/sts/iso_sts/sc.rb +26 -0
  66. data/lib/sts/iso_sts/sec.rb +2 -2
  67. data/lib/sts/iso_sts/secretariat.rb +2 -0
  68. data/lib/sts/iso_sts/standard_cross_reference.rb +4 -2
  69. data/lib/sts/iso_sts/standard_identification.rb +2 -0
  70. data/lib/sts/iso_sts/standard_ref.rb +16 -0
  71. data/lib/sts/iso_sts/std.rb +3 -1
  72. data/lib/sts/iso_sts/std_ref.rb +2 -0
  73. data/lib/sts/iso_sts/strike.rb +26 -0
  74. data/lib/sts/iso_sts/styled_content.rb +11 -9
  75. data/lib/sts/iso_sts/sub.rb +2 -0
  76. data/lib/sts/iso_sts/sup.rb +2 -0
  77. data/lib/sts/iso_sts/table_wrap_foot.rb +2 -0
  78. data/lib/sts/iso_sts/td.rb +7 -7
  79. data/lib/sts/iso_sts/term.rb +5 -5
  80. data/lib/sts/iso_sts/th.rb +7 -7
  81. data/lib/sts/iso_sts/title.rb +6 -4
  82. data/lib/sts/iso_sts/title_compl.rb +2 -0
  83. data/lib/sts/iso_sts/title_full.rb +2 -0
  84. data/lib/sts/iso_sts/title_intro.rb +2 -0
  85. data/lib/sts/iso_sts/title_main.rb +2 -0
  86. data/lib/sts/iso_sts/underline.rb +26 -0
  87. data/lib/sts/iso_sts/uri.rb +32 -0
  88. data/lib/sts/iso_sts/xref.rb +3 -3
  89. data/lib/sts/iso_sts.rb +9 -0
  90. data/lib/sts/mathml.rb +12 -58
  91. data/lib/sts/namespaces.rb +2 -0
  92. data/lib/sts/niso_sts/abstract.rb +2 -0
  93. data/lib/sts/niso_sts/access_date.rb +2 -0
  94. data/lib/sts/niso_sts/accrediting_organization.rb +2 -0
  95. data/lib/sts/niso_sts/addr_line.rb +2 -0
  96. data/lib/sts/niso_sts/address.rb +2 -0
  97. data/lib/sts/niso_sts/aff_alternatives.rb +3 -0
  98. data/lib/sts/niso_sts/alt_text.rb +2 -0
  99. data/lib/sts/niso_sts/alt_title.rb +2 -0
  100. data/lib/sts/niso_sts/alternatives.rb +2 -0
  101. data/lib/sts/niso_sts/anonymous.rb +3 -0
  102. data/lib/sts/niso_sts/app.rb +2 -0
  103. data/lib/sts/niso_sts/article_title.rb +2 -0
  104. data/lib/sts/niso_sts/attrib.rb +2 -0
  105. data/lib/sts/niso_sts/authorization.rb +2 -0
  106. data/lib/sts/niso_sts/award_group.rb +22 -4
  107. data/lib/sts/niso_sts/award_id.rb +6 -0
  108. data/lib/sts/niso_sts/back.rb +22 -4
  109. data/lib/sts/niso_sts/body.rb +2 -0
  110. data/lib/sts/niso_sts/boxed_text.rb +38 -4
  111. data/lib/sts/niso_sts/break.rb +3 -0
  112. data/lib/sts/niso_sts/caption.rb +8 -0
  113. data/lib/sts/niso_sts/chapter_title.rb +2 -0
  114. data/lib/sts/niso_sts/chem_struct.rb +2 -0
  115. data/lib/sts/niso_sts/citation_alternatives.rb +2 -0
  116. data/lib/sts/niso_sts/city.rb +2 -0
  117. data/lib/sts/niso_sts/code.rb +111 -0
  118. data/lib/sts/niso_sts/collab_alternatives.rb +3 -0
  119. data/lib/sts/niso_sts/comm_ref_group.rb +3 -0
  120. data/lib/sts/niso_sts/comment.rb +2 -0
  121. data/lib/sts/niso_sts/compound_subject.rb +29 -0
  122. data/lib/sts/niso_sts/compound_subject_part.rb +39 -0
  123. data/lib/sts/niso_sts/conf_acronym.rb +2 -0
  124. data/lib/sts/niso_sts/conf_date.rb +2 -0
  125. data/lib/sts/niso_sts/conf_loc.rb +2 -0
  126. data/lib/sts/niso_sts/conf_name.rb +2 -0
  127. data/lib/sts/niso_sts/conf_num.rb +2 -0
  128. data/lib/sts/niso_sts/conf_sponsor.rb +2 -0
  129. data/lib/sts/niso_sts/conf_theme.rb +2 -0
  130. data/lib/sts/niso_sts/conference.rb +2 -0
  131. data/lib/sts/niso_sts/content_language.rb +2 -0
  132. data/lib/sts/niso_sts/contrib_id.rb +2 -0
  133. data/lib/sts/niso_sts/copyright_holder.rb +2 -0
  134. data/lib/sts/niso_sts/copyright_statement.rb +2 -0
  135. data/lib/sts/niso_sts/copyright_year.rb +2 -0
  136. data/lib/sts/niso_sts/country.rb +2 -0
  137. data/lib/sts/niso_sts/counts.rb +2 -0
  138. data/lib/sts/niso_sts/custom_meta.rb +2 -0
  139. data/lib/sts/niso_sts/custom_meta_group.rb +3 -0
  140. data/lib/sts/niso_sts/data_title.rb +29 -0
  141. data/lib/sts/niso_sts/date.rb +2 -0
  142. data/lib/sts/niso_sts/date_in_citation.rb +2 -0
  143. data/lib/sts/niso_sts/day.rb +2 -0
  144. data/lib/sts/niso_sts/def.rb +3 -0
  145. data/lib/sts/niso_sts/def_head.rb +18 -0
  146. data/lib/sts/niso_sts/def_item.rb +4 -0
  147. data/lib/sts/niso_sts/def_list.rb +21 -4
  148. data/lib/sts/niso_sts/degrees.rb +2 -0
  149. data/lib/sts/niso_sts/disp_formula_group.rb +0 -2
  150. data/lib/sts/niso_sts/disp_quote.rb +2 -0
  151. data/lib/sts/niso_sts/display_formula.rb +37 -4
  152. data/lib/sts/niso_sts/doc_number.rb +2 -0
  153. data/lib/sts/niso_sts/doc_type.rb +2 -0
  154. data/lib/sts/niso_sts/editing_instruction.rb +8 -2
  155. data/lib/sts/niso_sts/edition.rb +2 -0
  156. data/lib/sts/niso_sts/elocation_id.rb +2 -0
  157. data/lib/sts/niso_sts/email.rb +2 -0
  158. data/lib/sts/niso_sts/equation_count.rb +2 -0
  159. data/lib/sts/niso_sts/era.rb +2 -0
  160. data/lib/sts/niso_sts/ext_link.rb +16 -0
  161. data/lib/sts/niso_sts/fax.rb +2 -0
  162. data/lib/sts/niso_sts/fig_count.rb +2 -0
  163. data/lib/sts/niso_sts/floats_group.rb +2 -0
  164. data/lib/sts/niso_sts/fn_group.rb +3 -0
  165. data/lib/sts/niso_sts/fpage.rb +2 -0
  166. data/lib/sts/niso_sts/front.rb +15 -0
  167. data/lib/sts/niso_sts/funding_source.rb +2 -0
  168. data/lib/sts/niso_sts/given_names.rb +2 -0
  169. data/lib/sts/niso_sts/gov.rb +2 -0
  170. data/lib/sts/niso_sts/graphic.rb +4 -0
  171. data/lib/sts/niso_sts/hr.rb +3 -0
  172. data/lib/sts/niso_sts/ics.rb +3 -0
  173. data/lib/sts/niso_sts/ics_desc.rb +2 -0
  174. data/lib/sts/niso_sts/ics_wrap.rb +9 -0
  175. data/lib/sts/niso_sts/index.rb +32 -0
  176. data/lib/sts/niso_sts/index_div.rb +30 -0
  177. data/lib/sts/niso_sts/index_entry.rb +32 -0
  178. data/lib/sts/niso_sts/index_title_group.rb +22 -0
  179. data/lib/sts/niso_sts/inline_formula.rb +29 -4
  180. data/lib/sts/niso_sts/inline_media.rb +50 -0
  181. data/lib/sts/niso_sts/institution.rb +2 -0
  182. data/lib/sts/niso_sts/institution_id.rb +2 -0
  183. data/lib/sts/niso_sts/institution_wrap.rb +2 -0
  184. data/lib/sts/niso_sts/intro.rb +2 -0
  185. data/lib/sts/niso_sts/is_proof.rb +2 -0
  186. data/lib/sts/niso_sts/isbn.rb +2 -0
  187. data/lib/sts/niso_sts/issn.rb +2 -0
  188. data/lib/sts/niso_sts/issn_l.rb +2 -0
  189. data/lib/sts/niso_sts/issue.rb +2 -0
  190. data/lib/sts/niso_sts/kwd_group.rb +8 -0
  191. data/lib/sts/niso_sts/label.rb +4 -0
  192. data/lib/sts/niso_sts/legend.rb +39 -0
  193. data/lib/sts/niso_sts/license.rb +2 -0
  194. data/lib/sts/niso_sts/license_p.rb +2 -0
  195. data/lib/sts/niso_sts/list.rb +2 -0
  196. data/lib/sts/niso_sts/list_item.rb +2 -2
  197. data/lib/sts/niso_sts/long_desc.rb +2 -0
  198. data/lib/sts/niso_sts/lpage.rb +2 -0
  199. data/lib/sts/niso_sts/main.rb +2 -0
  200. data/lib/sts/niso_sts/meta_date.rb +2 -0
  201. data/lib/sts/niso_sts/metadata_std.rb +0 -2
  202. data/lib/sts/niso_sts/mml_content.rb +0 -2
  203. data/lib/sts/niso_sts/month.rb +2 -0
  204. data/lib/sts/niso_sts/name.rb +2 -0
  205. data/lib/sts/niso_sts/name_alternatives.rb +5 -0
  206. data/lib/sts/niso_sts/named_content.rb +51 -1
  207. data/lib/sts/niso_sts/nat_meta.rb +2 -0
  208. data/lib/sts/niso_sts/nested_kwd.rb +2 -0
  209. data/lib/sts/niso_sts/non_normative_note.rb +2 -0
  210. data/lib/sts/niso_sts/normative_note.rb +2 -0
  211. data/lib/sts/niso_sts/object_id.rb +4 -0
  212. data/lib/sts/niso_sts/on_behalf_of.rb +2 -0
  213. data/lib/sts/niso_sts/open_access.rb +2 -0
  214. data/lib/sts/niso_sts/originator.rb +2 -0
  215. data/lib/sts/niso_sts/page_count.rb +2 -0
  216. data/lib/sts/niso_sts/page_range.rb +2 -0
  217. data/lib/sts/niso_sts/paragraph.rb +2 -0
  218. data/lib/sts/niso_sts/part_number.rb +2 -0
  219. data/lib/sts/niso_sts/part_of_speech.rb +2 -0
  220. data/lib/sts/niso_sts/patent.rb +2 -0
  221. data/lib/sts/niso_sts/permissions.rb +6 -1
  222. data/lib/sts/niso_sts/phone.rb +2 -0
  223. data/lib/sts/niso_sts/postal_code.rb +2 -0
  224. data/lib/sts/niso_sts/prefix.rb +2 -0
  225. data/lib/sts/niso_sts/price.rb +2 -0
  226. data/lib/sts/niso_sts/principal_award_recipient.rb +2 -0
  227. data/lib/sts/niso_sts/principal_investigator.rb +2 -0
  228. data/lib/sts/niso_sts/private_char.rb +2 -0
  229. data/lib/sts/niso_sts/processing_meta.rb +54 -0
  230. data/lib/sts/niso_sts/product.rb +2 -0
  231. data/lib/sts/niso_sts/proj_id.rb +2 -0
  232. data/lib/sts/niso_sts/pub_date.rb +2 -0
  233. data/lib/sts/niso_sts/pub_id.rb +2 -0
  234. data/lib/sts/niso_sts/publisher.rb +2 -0
  235. data/lib/sts/niso_sts/publisher_loc.rb +2 -0
  236. data/lib/sts/niso_sts/publisher_name.rb +2 -0
  237. data/lib/sts/niso_sts/ref_count.rb +2 -0
  238. data/lib/sts/niso_sts/reference_standard.rb +2 -2
  239. data/lib/sts/niso_sts/reg_meta.rb +2 -0
  240. data/lib/sts/niso_sts/related_term.rb +2 -0
  241. data/lib/sts/niso_sts/release_date.rb +2 -0
  242. data/lib/sts/niso_sts/release_version.rb +2 -0
  243. data/lib/sts/niso_sts/release_version_id.rb +2 -0
  244. data/lib/sts/niso_sts/role.rb +35 -0
  245. data/lib/sts/niso_sts/sdo.rb +2 -0
  246. data/lib/sts/niso_sts/season.rb +2 -0
  247. data/lib/sts/niso_sts/sec_meta.rb +26 -0
  248. data/lib/sts/niso_sts/secretariat.rb +2 -0
  249. data/lib/sts/niso_sts/section.rb +8 -0
  250. data/lib/sts/niso_sts/see_also_entry.rb +26 -0
  251. data/lib/sts/niso_sts/see_entry.rb +26 -0
  252. data/lib/sts/niso_sts/self_uri.rb +2 -0
  253. data/lib/sts/niso_sts/series.rb +2 -0
  254. data/lib/sts/niso_sts/series_text.rb +2 -0
  255. data/lib/sts/niso_sts/series_title.rb +2 -0
  256. data/lib/sts/niso_sts/sig.rb +2 -0
  257. data/lib/sts/niso_sts/size.rb +2 -0
  258. data/lib/sts/niso_sts/source.rb +29 -0
  259. data/lib/sts/niso_sts/speaker.rb +2 -0
  260. data/lib/sts/niso_sts/standard_identification.rb +2 -0
  261. data/lib/sts/niso_sts/state.rb +2 -0
  262. data/lib/sts/niso_sts/std_doc_meta.rb +49 -11
  263. data/lib/sts/niso_sts/std_id.rb +2 -0
  264. data/lib/sts/niso_sts/std_id_group.rb +3 -0
  265. data/lib/sts/niso_sts/std_org_abbrev.rb +2 -0
  266. data/lib/sts/niso_sts/std_org_group.rb +3 -0
  267. data/lib/sts/niso_sts/std_org_name.rb +2 -0
  268. data/lib/sts/niso_sts/std_organization.rb +2 -0
  269. data/lib/sts/niso_sts/string_conf.rb +2 -0
  270. data/lib/sts/niso_sts/string_date.rb +2 -0
  271. data/lib/sts/niso_sts/string_name.rb +2 -0
  272. data/lib/sts/niso_sts/styled_content.rb +2 -0
  273. data/lib/sts/niso_sts/subj_group.rb +11 -1
  274. data/lib/sts/niso_sts/subtitle.rb +2 -0
  275. data/lib/sts/niso_sts/suffix.rb +2 -0
  276. data/lib/sts/niso_sts/suppl_number.rb +2 -0
  277. data/lib/sts/niso_sts/suppl_type.rb +2 -0
  278. data/lib/sts/niso_sts/suppl_version.rb +2 -0
  279. data/lib/sts/niso_sts/surname.rb +2 -0
  280. data/lib/sts/niso_sts/table_count.rb +2 -0
  281. data/lib/sts/niso_sts/table_wrap_group.rb +32 -0
  282. data/lib/sts/niso_sts/term_display.rb +22 -1
  283. data/lib/sts/niso_sts/term_display_string.rb +22 -0
  284. data/lib/sts/niso_sts/term_head.rb +2 -0
  285. data/lib/sts/niso_sts/term_source.rb +2 -0
  286. data/lib/sts/niso_sts/tex_math.rb +2 -0
  287. data/lib/sts/niso_sts/textual_form.rb +2 -0
  288. data/lib/sts/niso_sts/time_stamp.rb +2 -0
  289. data/lib/sts/niso_sts/title.rb +6 -0
  290. data/lib/sts/niso_sts/title_wrap.rb +2 -0
  291. data/lib/sts/niso_sts/toc.rb +32 -0
  292. data/lib/sts/niso_sts/toc_div.rb +30 -0
  293. data/lib/sts/niso_sts/toc_entry.rb +30 -0
  294. data/lib/sts/niso_sts/toc_title_group.rb +22 -0
  295. data/lib/sts/niso_sts/trans_source.rb +2 -0
  296. data/lib/sts/niso_sts/trans_title.rb +2 -0
  297. data/lib/sts/niso_sts/trans_title_group.rb +3 -0
  298. data/lib/sts/niso_sts/uri.rb +2 -0
  299. data/lib/sts/niso_sts/urn.rb +2 -0
  300. data/lib/sts/niso_sts/verse_line.rb +2 -0
  301. data/lib/sts/niso_sts/version.rb +2 -0
  302. data/lib/sts/niso_sts/volume.rb +2 -0
  303. data/lib/sts/niso_sts/volume_id.rb +2 -0
  304. data/lib/sts/niso_sts/volume_issue_group.rb +2 -0
  305. data/lib/sts/niso_sts/volume_series.rb +2 -0
  306. data/lib/sts/niso_sts/word_count.rb +2 -0
  307. data/lib/sts/niso_sts/year.rb +2 -0
  308. data/lib/sts/niso_sts.rb +35 -10
  309. data/lib/sts/profiles/iso_iec/constraints.rb +43 -0
  310. data/lib/sts/profiles/iso_iec/validator.rb +73 -0
  311. data/lib/sts/profiles/iso_iec.rb +10 -0
  312. data/lib/sts/profiles.rb +7 -0
  313. data/lib/sts/tbx_iso_tml/bold.rb +2 -0
  314. data/lib/sts/tbx_iso_tml/caption.rb +3 -0
  315. data/lib/sts/tbx_iso_tml/cross_reference.rb +2 -0
  316. data/lib/sts/tbx_iso_tml/definition.rb +2 -0
  317. data/lib/sts/tbx_iso_tml/entailed_term.rb +2 -0
  318. data/lib/sts/tbx_iso_tml/example.rb +0 -2
  319. data/lib/sts/tbx_iso_tml/external_graphic.rb +2 -0
  320. data/lib/sts/tbx_iso_tml/external_source.rb +2 -0
  321. data/lib/sts/tbx_iso_tml/fn_group.rb +3 -0
  322. data/lib/sts/tbx_iso_tml/geographical_usage.rb +3 -0
  323. data/lib/sts/tbx_iso_tml/grammatical_gender.rb +2 -0
  324. data/lib/sts/tbx_iso_tml/grammatical_number.rb +2 -0
  325. data/lib/sts/tbx_iso_tml/italic.rb +2 -0
  326. data/lib/sts/tbx_iso_tml/lang_set.rb +2 -0
  327. data/lib/sts/tbx_iso_tml/mfenced.rb +2 -0
  328. data/lib/sts/tbx_iso_tml/mfrac.rb +2 -2
  329. data/lib/sts/tbx_iso_tml/mi.rb +3 -2
  330. data/lib/sts/tbx_iso_tml/mrow.rb +2 -2
  331. data/lib/sts/tbx_iso_tml/mspace.rb +2 -0
  332. data/lib/sts/tbx_iso_tml/mstyle.rb +2 -2
  333. data/lib/sts/tbx_iso_tml/msub.rb +2 -0
  334. data/lib/sts/tbx_iso_tml/msup.rb +2 -0
  335. data/lib/sts/tbx_iso_tml/munder.rb +3 -0
  336. data/lib/sts/tbx_iso_tml/munderover.rb +2 -0
  337. data/lib/sts/tbx_iso_tml/normative_authorization.rb +2 -0
  338. data/lib/sts/tbx_iso_tml/part_of_speech.rb +2 -0
  339. data/lib/sts/tbx_iso_tml/pronunciation.rb +3 -0
  340. data/lib/sts/tbx_iso_tml/see.rb +2 -0
  341. data/lib/sts/tbx_iso_tml/semantics.rb +2 -0
  342. data/lib/sts/tbx_iso_tml/source.rb +2 -0
  343. data/lib/sts/tbx_iso_tml/subject_field.rb +2 -0
  344. data/lib/sts/tbx_iso_tml/sup.rb +3 -2
  345. data/lib/sts/tbx_iso_tml/table_wrap.rb +0 -1
  346. data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +2 -0
  347. data/lib/sts/tbx_iso_tml/td.rb +115 -24
  348. data/lib/sts/tbx_iso_tml/term_type.rb +2 -0
  349. data/lib/sts/tbx_iso_tml/th.rb +124 -30
  350. data/lib/sts/tbx_iso_tml/xref.rb +2 -2
  351. data/lib/sts/version.rb +1 -1
  352. data/lib/sts.rb +1 -12
  353. data/reference-docs/Guidelines for coding ed.2.1.pdf +0 -0
  354. data/reference-docs/NISO-STS-1-2-compare-1-0.pdf +0 -0
  355. data/reference-docs/NISOSTS-guidelines-v1.0.pdf +0 -0
  356. metadata +71 -14
  357. data/lib/sts/content_groups/helpers.rb +0 -27
  358. data/lib/sts/enum_values.rb +0 -17
  359. data/lib/sts/iso_sts/content_groups/highlight_elements.rb +0 -285
  360. data/lib/sts/niso_sts/content_groups/body_elements.rb +0 -50
  361. data/lib/sts/niso_sts/content_groups/citation_elements.rb +0 -74
  362. data/lib/sts/niso_sts/content_groups/emphasized_text.rb +0 -67
  363. data/lib/sts/niso_sts/content_groups/highlight_elements.rb +0 -51
  364. data/lib/sts/niso_sts/content_groups/inside_cell.rb +0 -116
  365. data/lib/sts/niso_sts/content_groups/p_elements.rb +0 -41
  366. data/lib/sts/niso_sts/content_groups/para_level.rb +0 -67
  367. data/lib/sts/niso_sts/content_groups/styled_content_elements.rb +0 -93
  368. data/lib/sts/niso_sts/content_groups/table_group_attributes.rb +0 -62
  369. data/lib/sts/niso_sts/content_groups.rb +0 -8
@@ -1,74 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject citation-elements content group into a model class.
4
- # This is the set of child elements shared by ElementCitation and NlmCitation.
5
- #
6
- # Call inside the class body:
7
- #
8
- # ContentGroups.citation_elements(self)
9
- #
10
- # And inside xml do ... end:
11
- #
12
- # ContentGroups.citation_elements_mappings(self)
13
-
14
- module Sts
15
- module NisoSts
16
- module ContentGroups
17
- # 4-tuple: [ruby_name, type_class_name, xml_element_name, collection?]
18
- CITATION_ELEMENTS = [
19
- [:publisher, "Sts::NisoSts::Publisher", "publisher", false],
20
- [:person_group, "Sts::NisoSts::PersonGroup", "person-group", true],
21
- [:article_title, "Sts::NisoSts::ArticleTitle", "article-title", false],
22
- [:source, "Sts::NisoSts::Source", "source", false],
23
- [:trans_source, "Sts::NisoSts::TransSource", "trans-source", false],
24
- [:chapter_title, "Sts::NisoSts::ChapterTitle", "chapter-title", false],
25
- [:data_title, "Sts::NisoSts::DataTitle", "data-title", false],
26
- [:trans_title, "Sts::NisoSts::TransTitle", "trans-title", false],
27
- [:trans_title_group, "Sts::NisoSts::TransTitleGroup",
28
- "trans-title-group", false],
29
- [:edition, "Sts::NisoSts::Edition", "edition", false],
30
- [:volume, "Sts::NisoSts::Volume", "volume", false],
31
- [:issue, "Sts::NisoSts::Issue", "issue", false],
32
- [:pub_id, "Sts::NisoSts::PubId", "pub-id", true],
33
- [:isbn, "Sts::NisoSts::Isbn", "isbn", false],
34
- [:issn, "Sts::NisoSts::Issn", "issn", false],
35
- [:issn_l, "Sts::NisoSts::IssnL", "issn-l", false],
36
- [:fpage, "Sts::NisoSts::Fpage", "fpage", false],
37
- [:lpage, "Sts::NisoSts::Lpage", "lpage", false],
38
- [:page_range, "Sts::NisoSts::PageRange", "page-range", false],
39
- [:elocation_id, "Sts::NisoSts::ElocationId", "elocation-id", false],
40
- [:date, "Sts::NisoSts::Date", "date", false],
41
- [:date_in_citation, "Sts::NisoSts::DateInCitation", "date-in-citation",
42
- false],
43
- [:access_date, "Sts::NisoSts::AccessDate", "access-date", false],
44
- [:time_stamp, "Sts::NisoSts::TimeStamp", "time-stamp", false],
45
- [:conf_name, "Sts::NisoSts::ConfName", "conf-name", false],
46
- [:conf_date, "Sts::NisoSts::ConfDate", "conf-date", false],
47
- [:conf_loc, "Sts::NisoSts::ConfLoc", "conf-loc", false],
48
- [:conference, "Sts::NisoSts::Conference", "conference", false],
49
- [:size, "Sts::NisoSts::Size", "size", false],
50
- [:series, "Sts::NisoSts::Series", "series", false],
51
- [:series_title, "Sts::NisoSts::SeriesTitle", "series-title", false],
52
- [:series_text, "Sts::NisoSts::SeriesText", "series-text", false],
53
- [:comment, "Sts::NisoSts::Comment", "comment", false],
54
- [:annotation, "Sts::NisoSts::Annotation", "annotation", false],
55
- [:patent, "Sts::NisoSts::Patent", "patent", false],
56
- [:gov, "Sts::NisoSts::Gov", "gov", false],
57
- [:aff, "Sts::NisoSts::Aff", "aff", true],
58
- [:aff_alternatives, "Sts::NisoSts::AffAlternatives",
59
- "aff-alternatives", false],
60
- [:collab, "Sts::NisoSts::Collab", "collab", true],
61
- [:etal, "Sts::NisoSts::Etal", "etal", false],
62
- [:ext_link, "Sts::NisoSts::ExtLink", "ext-link", true],
63
- ].freeze
64
-
65
- def self.citation_elements(klass)
66
- inject_elements(klass, CITATION_ELEMENTS)
67
- end
68
-
69
- def self.citation_elements_mappings(klass)
70
- inject_element_mappings(klass, CITATION_ELEMENTS)
71
- end
72
- end
73
- end
74
- end
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../content_groups/helpers"
4
-
5
- # Shared method to inject emphasized-text XSD content group into a model class.
6
- # Call inside the class body (not inside xml do ... end):
7
- #
8
- # class MyElement < Lutaml::Model::Serializable
9
- # Sts::NisoSts::ContentGroups.emphasized_text(self)
10
- # ...
11
- # end
12
- #
13
- # And inside xml do ... end:
14
- #
15
- # Sts::NisoSts::ContentGroups.emphasized_text_mappings(self)
16
- #
17
- module Sts
18
- module NisoSts
19
- module ContentGroups
20
- extend ::Sts::ContentGroups::Helpers
21
-
22
- # [ruby_name, type_class_name, xml_element_name]
23
- EMPHASIZED_TEXT_ELEMENTS = [
24
- [:bold, "Sts::TbxIsoTml::Bold", "bold"],
25
- [:italic, "Sts::TbxIsoTml::Italic", "italic"],
26
- [:monospace, "Sts::NisoSts::Monospace", "monospace"],
27
- [:overline, "Sts::NisoSts::Overline", "overline"],
28
- [:roman, "Sts::NisoSts::Roman", "roman"],
29
- [:sans_serif, "Sts::NisoSts::SansSerif", "sans-serif"],
30
- [:sc, "Sts::NisoSts::Sc", "sc"],
31
- [:strike, "Sts::NisoSts::Strike", "strike"],
32
- [:underline, "Sts::NisoSts::Underline", "underline"],
33
- [:ruby, "Sts::NisoSts::Ruby", "ruby"],
34
- [:sub, "Sts::NisoSts::Sub", "sub"],
35
- [:sup, "Sts::NisoSts::Sup", "sup"],
36
- [:styled_content, "Sts::NisoSts::StyledContent", "styled-content"],
37
- [:named_content, "Sts::NisoSts::NamedContent", "named-content"],
38
- [:target, "Sts::NisoSts::Target", "target"],
39
- [:fn, "Sts::NisoSts::Fn", "fn"],
40
- [:xref, "Sts::TbxIsoTml::Xref", "xref"],
41
- [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"],
42
- [:uri, "Sts::NisoSts::Uri", "uri"],
43
- [:email, "Sts::NisoSts::Email", "email"],
44
- [:inline_graphic, "Sts::NisoSts::InlineGraphic", "inline-graphic"],
45
- [:private_char, "Sts::NisoSts::PrivateChar", "private-char"],
46
- [:inline_formula, "Sts::NisoSts::InlineFormula", "inline-formula"],
47
- [:chem_struct, "Sts::NisoSts::ChemStruct", "chem-struct"],
48
- [:tex_math, "Sts::NisoSts::TexMath", "tex-math"],
49
- [:math, "Sts::TbxIsoTml::Math", "math"],
50
- [:std, "Sts::NisoSts::ReferenceStandard", "std"],
51
- [:std_ref, "Sts::NisoSts::StandardRef", "std-ref"],
52
- [:related_article, "Sts::NisoSts::RelatedArticle", "related-article"],
53
- [:related_object, "Sts::NisoSts::RelatedObject", "related-object"],
54
- [:inline_supplementary_material,
55
- "Sts::NisoSts::InlineSupplementaryMaterial", "inline-supplementary-material"],
56
- ].freeze
57
-
58
- def self.emphasized_text(klass)
59
- inject_elements(klass, EMPHASIZED_TEXT_ELEMENTS)
60
- end
61
-
62
- def self.emphasized_text_mappings(klass)
63
- inject_element_mappings(klass, EMPHASIZED_TEXT_ELEMENTS)
64
- end
65
- end
66
- end
67
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject highlight-elements XSD content group into a model class.
4
- # This is the set of child elements shared by Bold and Italic (excluding their
5
- # self-referencing attribute, which each model declares separately).
6
- #
7
- # Call inside the class body:
8
- #
9
- # ContentGroups.highlight_elements(self)
10
- #
11
- # And inside xml do ... end:
12
- #
13
- # ContentGroups.highlight_elements_mappings(self)
14
-
15
- module Sts
16
- module NisoSts
17
- module ContentGroups
18
- HIGHLIGHT_ELEMENTS = [
19
- [:sub, "Sts::NisoSts::Sub", "sub"],
20
- [:sup, "Sts::NisoSts::Sup", "sup"],
21
- [:monospace, "Sts::NisoSts::Monospace", "monospace"],
22
- [:sc, "Sts::NisoSts::Sc", "sc"],
23
- [:std_ref, "Sts::NisoSts::StandardRef", "std-ref"],
24
- [:underline, "Sts::NisoSts::Underline", "underline"],
25
- [:strike, "Sts::NisoSts::Strike", "strike"],
26
- [:xref, "Sts::TbxIsoTml::Xref", "xref"],
27
- [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"],
28
- [:fn, "Sts::NisoSts::Fn", "fn"],
29
- [:styled_content, "Sts::NisoSts::StyledContent", "styled-content"],
30
- [:array, "Sts::NisoSts::SectionArray", "array"],
31
- [:break, "Sts::TbxIsoTml::TableBreak", "break"],
32
- [:target, "Sts::NisoSts::Target", "target"],
33
- [:overline, "Sts::NisoSts::Overline", "overline"],
34
- [:roman, "Sts::NisoSts::Roman", "roman"],
35
- [:sans_serif, "Sts::NisoSts::SansSerif", "sans-serif"],
36
- [:ruby, "Sts::NisoSts::Ruby", "ruby"],
37
- [:named_content, "Sts::NisoSts::NamedContent", "named-content"],
38
- [:uri, "Sts::NisoSts::Uri", "uri"],
39
- [:inline_formula, "Sts::NisoSts::InlineFormula", "inline-formula"],
40
- ].freeze
41
-
42
- def self.highlight_elements(klass)
43
- inject_elements(klass, HIGHLIGHT_ELEMENTS)
44
- end
45
-
46
- def self.highlight_elements_mappings(klass)
47
- inject_element_mappings(klass, HIGHLIGHT_ELEMENTS)
48
- end
49
- end
50
- end
51
- end
@@ -1,116 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject inside-cell XSD content group into a model class.
4
- # This content group represents the elements allowed inside <td> and <th>.
5
- #
6
- # Call inside the class body:
7
- #
8
- # ContentGroups.inside_cell(self)
9
- #
10
- # And inside xml do ... end:
11
- #
12
- # ContentGroups.inside_cell_mappings(self)
13
-
14
- module Sts
15
- module NisoSts
16
- module ContentGroups
17
- INSIDE_CELL_ELEMENTS = [
18
- [:bold, "Sts::TbxIsoTml::Bold", "bold"],
19
- [:italic, "Sts::TbxIsoTml::Italic", "italic"],
20
- [:xref, "Sts::TbxIsoTml::Xref", "xref"],
21
- [:std, "Sts::NisoSts::ReferenceStandard", "std"],
22
- [:list, "Sts::NisoSts::List", "list"],
23
- [:inline_formula, "Sts::NisoSts::InlineFormula", "inline-formula"],
24
- [:non_normative_note, "Sts::NisoSts::NonNormativeNote",
25
- "non-normative-note"],
26
- [:non_normative_example, "Sts::NisoSts::NonNormativeExample",
27
- "non-normative-example"],
28
- [:normative_note, "Sts::NisoSts::NormativeNote", "normative-note"],
29
- [:normative_example, "Sts::NisoSts::NormativeExample",
30
- "normative-example"],
31
- [:notes_group, "Sts::NisoSts::NotesGroup", "notes-group"],
32
- [:graphic, "Sts::NisoSts::Graphic", "graphic"],
33
- [:def_list, "Sts::NisoSts::DefList", "def-list"],
34
- [:p, "Sts::NisoSts::Paragraph", "p"],
35
- [:fn, "Sts::TbxIsoTml::Fn", "fn"],
36
- [:styled_content, "Sts::NisoSts::StyledContent", "styled-content"],
37
- [:monospace, "Sts::NisoSts::Monospace", "monospace"],
38
- [:underline, "Sts::NisoSts::Underline", "underline"],
39
- [:sup, "Sts::NisoSts::Sup", "sup"],
40
- [:sub, "Sts::NisoSts::Sub", "sub"],
41
- [:break, "Sts::TbxIsoTml::TableBreak", "break"],
42
- [:array, "Sts::NisoSts::SectionArray", "array"],
43
- [:fig, "Sts::NisoSts::Figure", "fig"],
44
- [:fig_group, "Sts::NisoSts::FigGroup", "fig-group"],
45
- [:media, "Sts::NisoSts::Media", "media"],
46
- [:disp_formula, "Sts::NisoSts::DisplayFormula", "disp-formula"],
47
- [:disp_formula_group, "Sts::NisoSts::DispFormulaGroup",
48
- "disp-formula-group"],
49
- [:math, "Sts::TbxIsoTml::Math", "math"],
50
- [:tex_math, "Sts::NisoSts::TexMath", "tex-math"],
51
- [:chem_struct, "Sts::NisoSts::ChemStruct", "chem-struct"],
52
- [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"],
53
- [:uri, "Sts::NisoSts::Uri", "uri"],
54
- [:email, "Sts::NisoSts::Email", "email"],
55
- [:sc, "Sts::NisoSts::Sc", "sc"],
56
- [:overline, "Sts::NisoSts::Overline", "overline"],
57
- [:roman, "Sts::NisoSts::Roman", "roman"],
58
- [:sans_serif, "Sts::NisoSts::SansSerif", "sans-serif"],
59
- [:strike, "Sts::NisoSts::Strike", "strike"],
60
- [:ruby, "Sts::NisoSts::Ruby", "ruby"],
61
- [:named_content, "Sts::NisoSts::NamedContent", "named-content"],
62
- [:target, "Sts::NisoSts::Target", "target"],
63
- [:entailed_term, "Sts::TbxIsoTml::EntailedTerm", "entailedTerm"],
64
- [:inline_graphic, "Sts::NisoSts::InlineGraphic", "inline-graphic"],
65
- [:private_char, "Sts::NisoSts::PrivateChar", "private-char"],
66
- [:preformat, "Sts::NisoSts::Preformat", "preformat"],
67
- [:alternatives, "Sts::NisoSts::Alternatives", "alternatives"],
68
- [:address, "Sts::NisoSts::Address", "address"],
69
- [:related_article, "Sts::NisoSts::RelatedArticle", "related-article"],
70
- [:related_object, "Sts::NisoSts::RelatedObject", "related-object"],
71
- [:index_term, "Sts::NisoSts::IndexTerm", "index-term"],
72
- [:milestone_end, "Sts::NisoSts::MilestoneEnd", "milestone-end"],
73
- [:milestone_start, "Sts::NisoSts::MilestoneStart", "milestone-start"],
74
- ].freeze
75
-
76
- def self.inside_cell(klass)
77
- inject_elements(klass, INSIDE_CELL_ELEMENTS)
78
- end
79
-
80
- def self.inside_cell_mappings(klass)
81
- inject_element_mappings(klass, INSIDE_CELL_ELEMENTS)
82
- end
83
-
84
- INSIDE_CELL_ATTRIBUTES = %i[id content_type style abbr axis headers scope
85
- rowspan colspan align char charoff valign].freeze
86
- INSIDE_CELL_ATTR_XML = {
87
- id: "id", content_type: "content-type", style: "style",
88
- abbr: "abbr", axis: "axis", headers: "headers", scope: "scope",
89
- rowspan: "rowspan", colspan: "colspan", align: "align",
90
- char: "char", charoff: "charoff", valign: "valign"
91
- }.freeze
92
-
93
- def self.inside_cell_attributes(klass)
94
- INSIDE_CELL_ATTRIBUTES.each do |name|
95
- opts = case name
96
- when :align then { values: EnumValues::ALIGN }
97
- when :valign then { values: EnumValues::VALIGN }
98
- when :scope then { values: EnumValues::SCOPE }
99
- else {}
100
- end
101
- klass.attribute name, :string, **opts
102
- end
103
- end
104
-
105
- def self.inside_cell_attribute_mappings(klass, char_value_map: false)
106
- INSIDE_CELL_ATTR_XML.each do |name, xml_name|
107
- opts = {}
108
- if char_value_map && name == :char
109
- opts[:value_map] = { to: { empty: :empty } }
110
- end
111
- klass.map_attribute xml_name, to: name, **opts
112
- end
113
- end
114
- end
115
- end
116
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject p-elements XSD content group into a model class.
4
- # Extends styled_content_elements with citation and funding elements.
5
- # Used by Paragraph.
6
- #
7
- # Call inside the class body:
8
- #
9
- # ContentGroups.p_elements(self)
10
- #
11
- # And inside xml do ... end:
12
- #
13
- # ContentGroups.p_elements_mappings(self)
14
-
15
- module Sts
16
- module NisoSts
17
- module ContentGroups
18
- P_ELEMENTS_EXTRA = [
19
- [:ref_list, "Sts::NisoSts::ReferenceList", "ref-list"],
20
- [:citation_alternatives, "Sts::NisoSts::CitationAlternatives",
21
- "citation-alternatives"],
22
- [:element_citation, "Sts::NisoSts::ElementCitation",
23
- "element-citation"],
24
- [:mixed_citation, "Sts::NisoSts::MixedCitation", "mixed-citation"],
25
- [:award_id, "Sts::NisoSts::AwardId", "award-id"],
26
- [:funding_source, "Sts::NisoSts::FundingSource", "funding-source"],
27
- [:open_access, "Sts::NisoSts::OpenAccess", "open-access"],
28
- ].freeze
29
-
30
- def self.p_elements(klass)
31
- styled_content_elements(klass)
32
- inject_elements(klass, P_ELEMENTS_EXTRA)
33
- end
34
-
35
- def self.p_elements_mappings(klass)
36
- styled_content_elements_mappings(klass)
37
- inject_element_mappings(klass, P_ELEMENTS_EXTRA)
38
- end
39
- end
40
- end
41
- end
@@ -1,67 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject para-level XSD content group into a model class.
4
- # This content group represents the common block-level elements shared by
5
- # Section, App, NonNormativeNote, NonNormativeExample, NormativeNote,
6
- # NormativeExample, BoxedText, DispQuote, and Glossary.
7
- #
8
- # Call inside the class body:
9
- #
10
- # ContentGroups.para_level(self)
11
- #
12
- # And inside xml do ... end:
13
- #
14
- # ContentGroups.para_level_mappings(self)
15
-
16
- module Sts
17
- module NisoSts
18
- module ContentGroups
19
- PARA_LEVEL_ELEMENTS = [
20
- [:p, "Sts::NisoSts::Paragraph", "p"],
21
- [:array, "Sts::NisoSts::SectionArray", "array"],
22
- [:list, "Sts::NisoSts::List", "list"],
23
- [:def_list, "Sts::NisoSts::DefList", "def-list"],
24
- [:preformat, "Sts::NisoSts::Preformat", "preformat"],
25
- [:fig, "Sts::NisoSts::Figure", "fig"],
26
- [:fig_group, "Sts::NisoSts::FigGroup", "fig-group"],
27
- [:graphic, "Sts::NisoSts::Graphic", "graphic"],
28
- [:media, "Sts::NisoSts::Media", "media"],
29
- [:table_wrap, "Sts::TbxIsoTml::TableWrap", "table-wrap"],
30
- [:disp_formula, "Sts::NisoSts::DisplayFormula", "disp-formula"],
31
- [:disp_formula_group, "Sts::NisoSts::DispFormulaGroup",
32
- "disp-formula-group"],
33
- [:disp_quote, "Sts::NisoSts::DispQuote", "disp-quote"],
34
- [:chem_struct_wrap, "Sts::NisoSts::ChemStructWrap", "chem-struct-wrap"],
35
- [:supplementary_material, "Sts::NisoSts::SupplementaryMaterial",
36
- "supplementary-material"],
37
- [:editing_instruction, "Sts::NisoSts::EditingInstruction",
38
- "editing-instruction"],
39
- [:address, "Sts::NisoSts::Address", "address"],
40
- [:alternatives, "Sts::NisoSts::Alternatives", "alternatives"],
41
- [:non_normative_note, "Sts::NisoSts::NonNormativeNote",
42
- "non-normative-note"],
43
- [:non_normative_example, "Sts::NisoSts::NonNormativeExample",
44
- "non-normative-example"],
45
- [:normative_note, "Sts::NisoSts::NormativeNote", "normative-note"],
46
- [:normative_example, "Sts::NisoSts::NormativeExample",
47
- "normative-example"],
48
- [:notes_group, "Sts::NisoSts::NotesGroup", "notes-group"],
49
- [:related_article, "Sts::NisoSts::RelatedArticle", "related-article"],
50
- [:related_object, "Sts::NisoSts::RelatedObject", "related-object"],
51
- [:speech, "Sts::NisoSts::Speech", "speech"],
52
- [:statement, "Sts::NisoSts::Statement", "statement"],
53
- [:verse_group, "Sts::NisoSts::VerseGroup", "verse-group"],
54
- [:math, "Sts::TbxIsoTml::Math", "math"],
55
- [:tex_math, "Sts::NisoSts::TexMath", "tex-math"],
56
- ].freeze
57
-
58
- def self.para_level(klass)
59
- inject_elements(klass, PARA_LEVEL_ELEMENTS)
60
- end
61
-
62
- def self.para_level_mappings(klass)
63
- inject_element_mappings(klass, PARA_LEVEL_ELEMENTS)
64
- end
65
- end
66
- end
67
- end
@@ -1,93 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject styled-content-elements XSD content group into a model class.
4
- # This is the largest content group, used by StyledContent and extended by p_elements.
5
- #
6
- # Call inside the class body:
7
- #
8
- # ContentGroups.styled_content_elements(self)
9
- #
10
- # And inside xml do ... end:
11
- #
12
- # ContentGroups.styled_content_elements_mappings(self)
13
-
14
- module Sts
15
- module NisoSts
16
- module ContentGroups
17
- STYLED_CONTENT_ELEMENTS = [
18
- [:bold, "Sts::TbxIsoTml::Bold", "bold"],
19
- [:italic, "Sts::TbxIsoTml::Italic", "italic"],
20
- [:sub, "Sts::NisoSts::Sub", "sub"],
21
- [:sup, "Sts::NisoSts::Sup", "sup"],
22
- [:sc, "Sts::NisoSts::Sc", "sc"],
23
- [:monospace, "Sts::NisoSts::Monospace", "monospace"],
24
- [:underline, "Sts::NisoSts::Underline", "underline"],
25
- [:overline, "Sts::NisoSts::Overline", "overline"],
26
- [:roman, "Sts::NisoSts::Roman", "roman"],
27
- [:sans_serif, "Sts::NisoSts::SansSerif", "sans-serif"],
28
- [:strike, "Sts::NisoSts::Strike", "strike"],
29
- [:xref, "Sts::TbxIsoTml::Xref", "xref"],
30
- [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"],
31
- [:uri, "Sts::NisoSts::Uri", "uri"],
32
- [:fn, "Sts::NisoSts::Fn", "fn"],
33
- [:inline_formula, "Sts::NisoSts::InlineFormula", "inline-formula"],
34
- [:break, "Sts::NisoSts::Break", "break"],
35
- [:target, "Sts::NisoSts::Target", "target"],
36
- [:named_content, "Sts::NisoSts::NamedContent", "named-content"],
37
- [:styled_content, "Sts::NisoSts::StyledContent", "styled-content"],
38
- [:array, "Sts::NisoSts::SectionArray", "array"],
39
- [:std, "Sts::NisoSts::ReferenceStandard", "std"],
40
- [:graphic, "Sts::NisoSts::Graphic", "graphic"],
41
- [:inline_graphic, "Sts::NisoSts::InlineGraphic", "inline-graphic"],
42
- [:private_char, "Sts::NisoSts::PrivateChar", "private-char"],
43
- [:preformat, "Sts::NisoSts::Preformat", "preformat"],
44
- [:fig, "Sts::NisoSts::Figure", "fig"],
45
- [:fig_group, "Sts::NisoSts::FigGroup", "fig-group"],
46
- [:media, "Sts::NisoSts::Media", "media"],
47
- [:table_wrap, "Sts::TbxIsoTml::TableWrap", "table-wrap"],
48
- [:boxed_text, "Sts::NisoSts::BoxedText", "boxed-text"],
49
- [:chem_struct_wrap, "Sts::NisoSts::ChemStructWrap", "chem-struct-wrap"],
50
- [:chem_struct, "Sts::NisoSts::ChemStruct", "chem-struct"],
51
- [:list, "Sts::NisoSts::List", "list"],
52
- [:def_list, "Sts::NisoSts::DefList", "def-list"],
53
- [:disp_formula, "Sts::NisoSts::DisplayFormula", "disp-formula"],
54
- [:disp_formula_group, "Sts::NisoSts::DispFormulaGroup",
55
- "disp-formula-group"],
56
- [:disp_quote, "Sts::NisoSts::DispQuote", "disp-quote"],
57
- [:speech, "Sts::NisoSts::Speech", "speech"],
58
- [:statement, "Sts::NisoSts::Statement", "statement"],
59
- [:verse_group, "Sts::NisoSts::VerseGroup", "verse-group"],
60
- [:non_normative_note, "Sts::NisoSts::NonNormativeNote",
61
- "non-normative-note"],
62
- [:non_normative_example, "Sts::NisoSts::NonNormativeExample",
63
- "non-normative-example"],
64
- [:normative_note, "Sts::NisoSts::NormativeNote", "normative-note"],
65
- [:normative_example, "Sts::NisoSts::NormativeExample",
66
- "normative-example"],
67
- [:notes_group, "Sts::NisoSts::NotesGroup", "notes-group"],
68
- [:supplementary_material, "Sts::NisoSts::SupplementaryMaterial",
69
- "supplementary-material"],
70
- [:address, "Sts::NisoSts::Address", "address"],
71
- [:alternatives, "Sts::NisoSts::Alternatives", "alternatives"],
72
- [:related_article, "Sts::NisoSts::RelatedArticle", "related-article"],
73
- [:related_object, "Sts::NisoSts::RelatedObject", "related-object"],
74
- [:math, "Sts::TbxIsoTml::Math", "math"],
75
- [:tex_math, "Sts::NisoSts::TexMath", "tex-math"],
76
- [:ruby, "Sts::NisoSts::Ruby", "ruby"],
77
- [:email, "Sts::NisoSts::Email", "email"],
78
- [:entailed_term, "Sts::TbxIsoTml::EntailedTerm", "entailedTerm"],
79
- [:index_term, "Sts::NisoSts::IndexTerm", "index-term"],
80
- [:milestone_end, "Sts::NisoSts::MilestoneEnd", "milestone-end"],
81
- [:milestone_start, "Sts::NisoSts::MilestoneStart", "milestone-start"],
82
- ].freeze
83
-
84
- def self.styled_content_elements(klass)
85
- inject_elements(klass, STYLED_CONTENT_ELEMENTS)
86
- end
87
-
88
- def self.styled_content_elements_mappings(klass)
89
- inject_element_mappings(klass, STYLED_CONTENT_ELEMENTS)
90
- end
91
- end
92
- end
93
- end
@@ -1,62 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Shared method to inject table group attributes (id, content_type, style,
4
- # align, char, charoff, valign) into table row/column models.
5
- # Used by Thead, Tbody, Tfoot, Tr, Col, Colgroup in both NisoSts and IsoSts/TbxIsoTml.
6
- #
7
- # Call inside the class body:
8
- #
9
- # ContentGroups.table_group_attributes(self)
10
- #
11
- # And inside xml do ... end:
12
- #
13
- # ContentGroups.table_group_attribute_mappings(self, char_value_map: true)
14
-
15
- module Sts
16
- module NisoSts
17
- module ContentGroups
18
- TABLE_GROUP_ATTRS = %i[id content_type style align char charoff
19
- valign].freeze
20
- TABLE_GROUP_ATTR_XML = {
21
- id: "id", content_type: "content-type", style: "style",
22
- align: "align", char: "char", charoff: "charoff", valign: "valign"
23
- }.freeze
24
-
25
- TABLE_COL_EXTRA_ATTRS = %i[span width].freeze
26
- TABLE_COL_EXTRA_ATTR_XML = { span: "span", width: "width" }.freeze
27
-
28
- def self.table_group_attributes(klass)
29
- TABLE_GROUP_ATTRS.each do |name|
30
- opts = case name
31
- when :align then { values: EnumValues::ALIGN }
32
- when :valign then { values: EnumValues::VALIGN }
33
- else {}
34
- end
35
- klass.attribute name, :string, **opts
36
- end
37
- end
38
-
39
- def self.table_group_attribute_mappings(klass, char_value_map: false)
40
- TABLE_GROUP_ATTR_XML.each do |name, xml_name|
41
- opts = {}
42
- if char_value_map && name == :char
43
- opts[:value_map] = { to: { empty: :empty } }
44
- end
45
- klass.map_attribute xml_name, to: name, **opts
46
- end
47
- end
48
-
49
- def self.table_col_attributes(klass)
50
- table_group_attributes(klass)
51
- TABLE_COL_EXTRA_ATTRS.each { |name| klass.attribute name, :string }
52
- end
53
-
54
- def self.table_col_attribute_mappings(klass, char_value_map: false)
55
- table_group_attribute_mappings(klass, char_value_map: char_value_map)
56
- TABLE_COL_EXTRA_ATTR_XML.each do |name, xml_name|
57
- klass.map_attribute xml_name, to: name
58
- end
59
- end
60
- end
61
- end
62
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sts
4
- module NisoSts
5
- module ContentGroups
6
- end
7
- end
8
- end