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
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class TableWrapFoot < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :fn_group, ::Sts::TbxIsoTml::FnGroup
7
8
  attribute :attrib, ::Sts::NisoSts::Attrib
8
9
  attribute :permissions, ::Sts::NisoSts::Permissions
@@ -15,6 +16,7 @@ module Sts
15
16
  element "table-wrap-foot"
16
17
  ordered
17
18
 
19
+ map_attribute "id", to: :id
18
20
  map_element "fn-group", to: :fn_group
19
21
  map_element "attrib", to: :attrib
20
22
  map_element "permissions", to: :permissions
@@ -7,8 +7,6 @@ module Sts
7
7
  attribute :align, :string
8
8
  attribute :scope, :string
9
9
  attribute :style, :string
10
- attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
11
- attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
12
10
  attribute :content_type, :string
13
11
  attribute :char, :string
14
12
  attribute :charoff, :string
@@ -19,25 +17,94 @@ module Sts
19
17
  attribute :axis, :string
20
18
  attribute :headers, :string
21
19
  attribute :id, :string
22
- attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
23
- attribute :non_normative_note,
24
- ::Sts::NisoSts::NonNormativeNote,
20
+
21
+ # block-math.class
22
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula,
23
+ collection: true
24
+ attribute :disp_formula_group, ::Sts::NisoSts::DispFormulaGroup,
25
+ collection: true
26
+
27
+ # citation.class
28
+ attribute :element_citation, ::Sts::NisoSts::ElementCitation,
29
+ collection: true
30
+ attribute :mixed_citation, ::Sts::NisoSts::MixedCitation,
31
+ collection: true
32
+
33
+ # emphasis.class
34
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
35
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
36
+ attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
37
+ attribute :overline, ::Sts::NisoSts::Overline, collection: true
38
+ attribute :roman, ::Sts::NisoSts::Roman, collection: true
39
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
40
+ attribute :strike, ::Sts::NisoSts::Strike, collection: true
41
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
42
+
43
+ # figures.class
44
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
45
+ attribute :fig_group, ::Sts::NisoSts::FigGroup, collection: true
46
+
47
+ # inline-display-noalt.class
48
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic,
49
+ collection: true
50
+ attribute :private_char, ::Sts::NisoSts::PrivateChar,
51
+ collection: true
52
+
53
+ # inline-math.class
54
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula,
25
55
  collection: true
56
+
57
+ # list.class
26
58
  attribute :list, ::Sts::NisoSts::List, collection: true
27
- attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
28
- attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
29
- attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
30
59
  attribute :def_list, ::Sts::NisoSts::DefList, collection: true
60
+
61
+ # all-notes.class
62
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
63
+ collection: true
64
+ attribute :normative_note, ::Sts::NisoSts::NormativeNote,
65
+ collection: true
66
+ attribute :non_normative_example,
67
+ ::Sts::NisoSts::NonNormativeExample, collection: true
68
+ attribute :normative_example, ::Sts::NisoSts::NormativeExample,
69
+ collection: true
70
+
71
+ # nothing-but-para.class
31
72
  attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
32
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
33
- attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
73
+
74
+ # address-link.class
75
+ attribute :email, ::Sts::NisoSts::Email, collection: true
76
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
34
77
  attribute :uri, ::Sts::NisoSts::Uri, collection: true
35
- attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
36
- attribute :underline, ::Sts::NisoSts::Underline, collection: true
37
- attribute :sup, ::Sts::NisoSts::Sup, collection: true
78
+
79
+ # phrase.class
80
+ attribute :named_content, ::Sts::NisoSts::NamedContent,
81
+ collection: true
82
+ attribute :styled_content, ::Sts::NisoSts::StyledContent,
83
+ collection: true
84
+
85
+ # simple-display.class
86
+ attribute :alternatives, ::Sts::NisoSts::Alternatives, collection: true
87
+ attribute :array, ::Sts::IsoSts::Array, collection: true
88
+ attribute :code, ::Sts::NisoSts::Code, collection: true
89
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
90
+ attribute :media, ::Sts::NisoSts::Media, collection: true
91
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
92
+
93
+ # simple-link.class
94
+ attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
95
+ attribute :target, ::Sts::NisoSts::Target, collection: true
96
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
97
+
98
+ # subsup.class (already in emphasis)
38
99
  attribute :sub, ::Sts::NisoSts::Sub, collection: true
100
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
101
+
102
+ # break.class
39
103
  attribute :break, ::Sts::TbxIsoTml::TableBreak
40
104
 
105
+ # citation.class (std)
106
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
107
+
41
108
  xml do # rubocop:disable Metrics/BlockLength
42
109
  element "td"
43
110
  mixed_content
@@ -58,24 +125,48 @@ module Sts
58
125
  map_attribute "headers", to: :headers
59
126
  map_attribute "id", to: :id
60
127
 
61
- map_element "italic", to: :italic
128
+ map_element "disp-formula", to: :disp_formula
129
+ map_element "disp-formula-group", to: :disp_formula_group
130
+ map_element "element-citation", to: :element_citation
131
+ map_element "mixed-citation", to: :mixed_citation
62
132
  map_element "bold", to: :bold
63
- map_element "xref", to: :xref
64
- map_element "std", to: :std
65
- map_element "list", to: :list
133
+ map_element "italic", to: :italic
134
+ map_element "monospace", to: :monospace
135
+ map_element "overline", to: :overline
136
+ map_element "roman", to: :roman
137
+ map_element "sc", to: :sc
138
+ map_element "strike", to: :strike
139
+ map_element "underline", to: :underline
140
+ map_element "fig", to: :fig
141
+ map_element "fig-group", to: :fig_group
142
+ map_element "inline-graphic", to: :inline_graphic
143
+ map_element "private-char", to: :private_char
66
144
  map_element "inline-formula", to: :inline_formula
67
- map_element "non-normative-note", to: :non_normative_note
68
- map_element "graphic", to: :graphic
145
+ map_element "list", to: :list
69
146
  map_element "def-list", to: :def_list
147
+ map_element "non-normative-note", to: :non_normative_note
148
+ map_element "normative-note", to: :normative_note
149
+ map_element "non-normative-example", to: :non_normative_example
150
+ map_element "normative-example", to: :normative_example
70
151
  map_element "p", to: :paragraph
71
- map_element "fn", to: :fn
72
- map_element "styled-content", to: :styled_content
152
+ map_element "email", to: :email
153
+ map_element "ext-link", to: :ext_link
73
154
  map_element "uri", to: :uri
74
- map_element "monospace", to: :monospace
75
- map_element "underline", to: :underline
76
- map_element "sup", to: :sup
155
+ map_element "named-content", to: :named_content
156
+ map_element "styled-content", to: :styled_content
157
+ map_element "alternatives", to: :alternatives
158
+ map_element "array", to: :array
159
+ map_element "code", to: :code
160
+ map_element "graphic", to: :graphic
161
+ map_element "media", to: :media
162
+ map_element "preformat", to: :preformat
163
+ map_element "fn", to: :fn
164
+ map_element "target", to: :target
165
+ map_element "xref", to: :xref
77
166
  map_element "sub", to: :sub
167
+ map_element "sup", to: :sup
78
168
  map_element "break", to: :break
169
+ map_element "std", to: :std
79
170
  end
80
171
  end
81
172
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module TbxIsoTml
5
5
  class TermType < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :value, :string,
7
8
  values: %w[acronym abbreviation equation formula fullForm symbol variant]
8
9
 
@@ -10,6 +11,7 @@ module Sts
10
11
  element "termType"
11
12
  namespace ::Sts::Namespaces::TbxNamespace
12
13
 
14
+ map_attribute "id", to: :id
13
15
  map_attribute "value", to: :value
14
16
  end
15
17
  end
@@ -4,76 +4,170 @@ module Sts
4
4
  module TbxIsoTml
5
5
  class Th < Lutaml::Model::Serializable
6
6
  attribute :content, :string, collection: true
7
- attribute :colspan, :string
8
7
  attribute :align, :string
9
8
  attribute :scope, :string
10
9
  attribute :style, :string
11
- attribute :rowspan, :string
12
- attribute :break, ::Sts::TbxIsoTml::TableBreak
13
10
  attribute :content_type, :string
14
11
  attribute :char, :string
15
12
  attribute :charoff, :string
13
+ attribute :colspan, :string
14
+ attribute :rowspan, :string
16
15
  attribute :valign, :string
17
16
  attribute :abbr, :string
18
17
  attribute :axis, :string
19
18
  attribute :headers, :string
20
19
  attribute :id, :string
21
- attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
20
+
21
+ # block-math.class
22
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula,
23
+ collection: true
24
+ attribute :disp_formula_group, ::Sts::NisoSts::DispFormulaGroup,
25
+ collection: true
26
+
27
+ # citation.class
28
+ attribute :element_citation, ::Sts::NisoSts::ElementCitation,
29
+ collection: true
30
+ attribute :mixed_citation, ::Sts::NisoSts::MixedCitation,
31
+ collection: true
32
+
33
+ # emphasis.class
22
34
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
23
- attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
24
- attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
25
- attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
26
- attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
27
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
28
- attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
29
- attribute :underline, ::Sts::NisoSts::Underline, collection: true
35
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
30
36
  attribute :monospace, ::Sts::NisoSts::Monospace, collection: true
31
- attribute :sup, ::Sts::NisoSts::Sup, collection: true
32
- attribute :sub, ::Sts::NisoSts::Sub, collection: true
33
- attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
37
+ attribute :overline, ::Sts::NisoSts::Overline, collection: true
38
+ attribute :roman, ::Sts::NisoSts::Roman, collection: true
39
+ attribute :sc, ::Sts::NisoSts::Sc, collection: true
40
+ attribute :strike, ::Sts::NisoSts::Strike, collection: true
41
+ attribute :underline, ::Sts::NisoSts::Underline, collection: true
42
+
43
+ # figures.class
44
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
45
+ attribute :fig_group, ::Sts::NisoSts::FigGroup, collection: true
46
+
47
+ # inline-display-noalt.class
48
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic,
49
+ collection: true
50
+ attribute :private_char, ::Sts::NisoSts::PrivateChar,
51
+ collection: true
52
+
53
+ # inline-math.class
54
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula,
55
+ collection: true
56
+
57
+ # list.class
34
58
  attribute :list, ::Sts::NisoSts::List, collection: true
59
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
60
+
61
+ # all-notes.class
35
62
  attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
36
63
  collection: true
37
- attribute :def_list, ::Sts::NisoSts::DefList, collection: true
64
+ attribute :normative_note, ::Sts::NisoSts::NormativeNote,
65
+ collection: true
66
+ attribute :non_normative_example,
67
+ ::Sts::NisoSts::NonNormativeExample, collection: true
68
+ attribute :normative_example, ::Sts::NisoSts::NormativeExample,
69
+ collection: true
70
+
71
+ # nothing-but-para.class
72
+ attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
73
+
74
+ # address-link.class
75
+ attribute :email, ::Sts::NisoSts::Email, collection: true
76
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
77
+ attribute :uri, ::Sts::NisoSts::Uri, collection: true
78
+
79
+ # phrase.class
80
+ attribute :named_content, ::Sts::NisoSts::NamedContent,
81
+ collection: true
82
+ attribute :styled_content, ::Sts::NisoSts::StyledContent,
83
+ collection: true
84
+
85
+ # simple-display.class
86
+ attribute :alternatives, ::Sts::NisoSts::Alternatives,
87
+ collection: true
88
+ attribute :array, ::Sts::IsoSts::Array, collection: true
89
+ attribute :code, ::Sts::NisoSts::Code, collection: true
90
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
91
+ attribute :media, ::Sts::NisoSts::Media, collection: true
92
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
93
+
94
+ # simple-link.class
95
+ attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
96
+ attribute :target, ::Sts::NisoSts::Target, collection: true
97
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
98
+
99
+ # subsup.class
100
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
101
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
102
+
103
+ # break.class
38
104
  attribute :break, ::Sts::TbxIsoTml::TableBreak
39
105
 
40
- xml do
106
+ # citation.class (std)
107
+ attribute :std, ::Sts::NisoSts::ReferenceStandard, collection: true
108
+
109
+ xml do # rubocop:disable Metrics/BlockLength
41
110
  element "th"
42
111
  mixed_content
43
112
 
44
113
  map_content to: :content
45
- map_attribute "colspan", to: :colspan
114
+
46
115
  map_attribute "align", to: :align
47
116
  map_attribute "scope", to: :scope
48
117
  map_attribute "style", to: :style
49
- map_attribute "rowspan", to: :rowspan
50
118
  map_attribute "content-type", to: :content_type
51
119
  map_attribute "char", to: :char, value_map: { to: { empty: :empty } }
52
120
  map_attribute "charoff", to: :charoff
121
+ map_attribute "colspan", to: :colspan
122
+ map_attribute "rowspan", to: :rowspan
53
123
  map_attribute "valign", to: :valign
54
124
  map_attribute "abbr", to: :abbr
55
125
  map_attribute "axis", to: :axis
56
126
  map_attribute "headers", to: :headers
57
127
  map_attribute "id", to: :id
58
128
 
59
- map_element "break", to: :break
60
- map_element "italic", to: :italic
129
+ map_element "disp-formula", to: :disp_formula
130
+ map_element "disp-formula-group", to: :disp_formula_group
131
+ map_element "element-citation", to: :element_citation
132
+ map_element "mixed-citation", to: :mixed_citation
61
133
  map_element "bold", to: :bold
62
- map_element "std", to: :std
63
- map_element "xref", to: :xref
134
+ map_element "italic", to: :italic
135
+ map_element "monospace", to: :monospace
136
+ map_element "overline", to: :overline
137
+ map_element "roman", to: :roman
138
+ map_element "sc", to: :sc
139
+ map_element "strike", to: :strike
140
+ map_element "underline", to: :underline
141
+ map_element "fig", to: :fig
142
+ map_element "fig-group", to: :fig_group
143
+ map_element "inline-graphic", to: :inline_graphic
144
+ map_element "private-char", to: :private_char
64
145
  map_element "inline-formula", to: :inline_formula
146
+ map_element "list", to: :list
147
+ map_element "def-list", to: :def_list
148
+ map_element "non-normative-note", to: :non_normative_note
149
+ map_element "normative-note", to: :normative_note
150
+ map_element "non-normative-example", to: :non_normative_example
151
+ map_element "normative-example", to: :normative_example
65
152
  map_element "p", to: :paragraph
66
- map_element "fn", to: :fn
153
+ map_element "email", to: :email
154
+ map_element "ext-link", to: :ext_link
155
+ map_element "uri", to: :uri
156
+ map_element "named-content", to: :named_content
67
157
  map_element "styled-content", to: :styled_content
68
- map_element "underline", to: :underline
69
- map_element "monospace", to: :monospace
70
- map_element "sup", to: :sup
71
- map_element "sub", to: :sub
158
+ map_element "alternatives", to: :alternatives
159
+ map_element "array", to: :array
160
+ map_element "code", to: :code
72
161
  map_element "graphic", to: :graphic
73
- map_element "list", to: :list
74
- map_element "non-normative-note", to: :non_normative_note
75
- map_element "def-list", to: :def_list
162
+ map_element "media", to: :media
163
+ map_element "preformat", to: :preformat
164
+ map_element "fn", to: :fn
165
+ map_element "target", to: :target
166
+ map_element "xref", to: :xref
167
+ map_element "sub", to: :sub
168
+ map_element "sup", to: :sup
76
169
  map_element "break", to: :break
170
+ map_element "std", to: :std
77
171
  end
78
172
  end
79
173
  end
@@ -1,10 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module TbxIsoTml
7
5
  class Xref < Lutaml::Model::Serializable
6
+ attribute :id, :string
8
7
  attribute :ref_type, :string
9
8
  attribute :rid, :string
10
9
  attribute :value, :string
@@ -13,6 +12,7 @@ module Sts
13
12
  xml do
14
13
  element "xref"
15
14
 
15
+ map_attribute "id", to: :id
16
16
  map_attribute "ref-type", to: :ref_type
17
17
  map_attribute "rid", to: :rid
18
18
  map_element "sup", to: :sup
data/lib/sts/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sts
4
- VERSION = "0.5.3"
4
+ VERSION = "0.5.4"
5
5
  end
data/lib/sts.rb CHANGED
@@ -1,22 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
- # Moxml strips whitespace-only text nodes between elements in its Nokogiri
6
- # adapter's `children` method. This breaks mixed content round-tripping where
7
- # spaces between inline elements are significant (e.g., "<b>A</b> <b>B</b>").
8
- # Override to preserve all text nodes.
9
- Moxml::Adapter::Nokogiri.singleton_class.alias_method(:_orig_children,
10
- :children)
11
- Moxml::Adapter::Nokogiri.define_singleton_method(:children, &:children)
12
-
13
3
  module Sts
14
- autoload :ContentGroups, "#{__dir__}/sts/content_groups/helpers"
15
- autoload :EnumValues, "#{__dir__}/sts/enum_values"
16
4
  autoload :IsoSts, "#{__dir__}/sts/iso_sts"
17
5
  autoload :Mathml, "#{__dir__}/sts/mathml"
18
6
  autoload :Namespaces, "#{__dir__}/sts/namespaces"
19
7
  autoload :NisoSts, "#{__dir__}/sts/niso_sts"
8
+ autoload :Profiles, "#{__dir__}/sts/profiles"
20
9
  autoload :VERSION, "#{__dir__}/sts/version"
21
10
  autoload :TbxIsoTml, "#{__dir__}/sts/tbx_iso_tml"
22
11
  end