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,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Degrees < 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 "degrees"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class DispFormulaGroup < Lutaml::Model::Serializable
@@ -5,6 +5,7 @@ module Sts
5
5
  class DispQuote < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :originator, :string
8
9
  attribute :specific_use, :string
9
10
  attribute :label, ::Sts::NisoSts::Label
10
11
  attribute :attribution, ::Sts::NisoSts::Attribution
@@ -16,6 +17,7 @@ module Sts
16
17
 
17
18
  map_attribute "id", to: :id
18
19
  map_attribute "content-type", to: :content_type
20
+ map_attribute "originator", to: :originator
19
21
  map_attribute "specific-use", to: :specific_use
20
22
 
21
23
  map_element "label", to: :label
@@ -1,33 +1,66 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
-
5
3
  module Sts
6
4
  module NisoSts
7
5
  class DisplayFormula < Lutaml::Model::Serializable
8
6
  attribute :id, :string
9
7
  attribute :content_type, :string
8
+ attribute :originator, :string
10
9
  attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :content, :string, collection: true
12
+ attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
13
+ attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
14
+ attribute :sub, ::Sts::NisoSts::Sub, collection: true
15
+ attribute :sup, ::Sts::NisoSts::Sup, collection: true
16
+ attribute :break_, ::Sts::NisoSts::Break, collection: true
17
+ attribute :ext_link, ::Sts::NisoSts::ExtLink, collection: true
18
+ attribute :inline_graphic, ::Sts::NisoSts::InlineGraphic, collection: true
19
+ attribute :private_char, ::Sts::NisoSts::PrivateChar, collection: true
20
+ attribute :named_content, ::Sts::NisoSts::NamedContent, collection: true
21
+ attribute :styled_content, ::Sts::NisoSts::StyledContent, collection: true
11
22
  attribute :label, ::Sts::NisoSts::Label
12
23
  attribute :math, ::Sts::TbxIsoTml::Math
13
- attribute :preformat, ::Sts::NisoSts::Preformat
24
+ attribute :inline_formula, ::Sts::NisoSts::InlineFormula, collection: true
14
25
  attribute :tex_math, ::Sts::NisoSts::TexMath
15
26
  attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
16
27
  attribute :alternatives, ::Sts::NisoSts::Alternatives
28
+ attribute :caption, ::Sts::NisoSts::Caption
29
+ attribute :fn, ::Sts::NisoSts::Fn, collection: true
30
+ attribute :target, ::Sts::NisoSts::Target, collection: true
31
+ attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
17
32
 
18
33
  xml do
19
34
  element "disp-formula"
35
+ mixed_content
20
36
 
21
37
  map_attribute "id", to: :id
22
38
  map_attribute "content-type", to: :content_type
39
+ map_attribute "originator", to: :originator
23
40
  map_attribute "specific-use", to: :specific_use
41
+ map_attribute "xml:lang", to: :xml_lang
24
42
 
43
+ map_content to: :content
44
+ map_element "bold", to: :bold
45
+ map_element "italic", to: :italic
46
+ map_element "sub", to: :sub
47
+ map_element "sup", to: :sup
48
+ map_element "break", to: :break_
49
+ map_element "ext-link", to: :ext_link
50
+ map_element "inline-graphic", to: :inline_graphic
51
+ map_element "private-char", to: :private_char
52
+ map_element "named-content", to: :named_content
53
+ map_element "styled-content", to: :styled_content
25
54
  map_element "label", to: :label
26
55
  map_element "math", to: :math
27
- map_element "preformat", to: :preformat
56
+ map_element "inline-formula", to: :inline_formula
28
57
  map_element "tex-math", to: :tex_math
29
58
  map_element "graphic", to: :graphic
30
59
  map_element "alternatives", to: :alternatives
60
+ map_element "caption", to: :caption
61
+ map_element "fn", to: :fn
62
+ map_element "target", to: :target
63
+ map_element "xref", to: :xref
31
64
  end
32
65
  end
33
66
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class DocNumber < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "doc-number"
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 DocType < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "doc-type"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -4,18 +4,24 @@ module Sts
4
4
  module NisoSts
5
5
  class EditingInstruction < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
- attribute :xml_lang, :string
7
+ attribute :content_type, :string
8
+ attribute :rid, :string
8
9
  attribute :specific_use, :string
9
10
  attribute :label, ::Sts::NisoSts::Label
11
+ attribute :title, :string
12
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
10
13
 
11
14
  xml do
12
15
  element "editing-instruction"
13
16
  ordered
14
17
 
15
18
  map_attribute "id", to: :id
16
- map_attribute "xml:lang", to: :xml_lang
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "rid", to: :rid
17
21
  map_attribute "specific-use", to: :specific_use
18
22
  map_element "label", to: :label
23
+ map_element "title", to: :title
24
+ map_element "p", to: :p
19
25
  end
20
26
  end
21
27
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Edition < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "edition"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ElocationId < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string
7
8
  attribute :elocation_id_type, :string
8
9
 
@@ -10,6 +11,7 @@ module Sts
10
11
  element "elocation-id"
11
12
 
12
13
  map_content to: :content
14
+ map_attribute "id", to: :id
13
15
  map_attribute "elocation-id-type", to: :elocation_id_type
14
16
  end
15
17
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Email < 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 "email"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class EquationCount < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :count, :integer
7
8
 
8
9
  xml do
9
10
  element "equation-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 Era < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "era"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,9 +3,17 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ExtLink < Lutaml::Model::Serializable
6
+ attribute :assigning_authority, :string
6
7
  attribute :ext_link_type, :string
8
+ attribute :id, :string
9
+ attribute :specific_use, :string
7
10
  attribute :href, :xlink_href
8
11
  attribute :xlink_type, :string
12
+ attribute :xlink_role, :string
13
+ attribute :xlink_title, :string
14
+ attribute :xlink_show, :string
15
+ attribute :xlink_actuate, :string
16
+ attribute :xml_lang, :string
9
17
  attribute :content, :string, collection: true
10
18
  attribute :bold, ::Sts::TbxIsoTml::Bold, collection: true
11
19
  attribute :italic, ::Sts::TbxIsoTml::Italic, collection: true
@@ -19,9 +27,17 @@ module Sts
19
27
 
20
28
  map_content to: :content
21
29
 
30
+ map_attribute "assigning-authority", to: :assigning_authority
22
31
  map_attribute "ext-link-type", to: :ext_link_type
32
+ map_attribute "id", to: :id
33
+ map_attribute "specific-use", to: :specific_use
23
34
  map_attribute "href", to: :href
24
35
  map_attribute "xlink:type", to: :xlink_type
36
+ map_attribute "xlink:role", to: :xlink_role
37
+ map_attribute "xlink:title", to: :xlink_title
38
+ map_attribute "xlink:show", to: :xlink_show
39
+ map_attribute "xlink:actuate", to: :xlink_actuate
40
+ map_attribute "xml:lang", to: :xml_lang
25
41
 
26
42
  map_element "bold", to: :bold
27
43
  map_element "italic", to: :italic
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Fax < 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 "fax"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,10 +3,12 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class FigCount < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :count, :integer
7
8
 
8
9
  xml do
9
10
  element "fig-count"
11
+ map_attribute "id", to: :id
10
12
  map_attribute "count", to: :count
11
13
  end
12
14
  end
@@ -3,8 +3,10 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class FloatsGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  xml do
7
8
  element "floats-group"
9
+ map_attribute "id", to: :id
8
10
  ordered
9
11
  end
10
12
  end
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class FnGroup < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :fn, ::Sts::NisoSts::Fn, collection: true
7
8
 
8
9
  xml do
9
10
  element "fn-group"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "fn", to: :fn
12
15
  end
13
16
  end
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Fpage < 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 "fpage"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,16 +3,31 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Front < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :iso_meta, ::Sts::NisoSts::MetadataIso
7
8
  attribute :std_meta, ::Sts::NisoSts::MetadataStd
9
+ attribute :std_doc_meta, ::Sts::NisoSts::StdDocMeta
10
+ attribute :reg_meta, ::Sts::NisoSts::RegMeta
11
+ attribute :nat_meta, ::Sts::NisoSts::NatMeta
8
12
  attribute :sec, ::Sts::NisoSts::Section, collection: true
13
+ attribute :ack, ::Sts::NisoSts::Ack, collection: true
14
+ attribute :notes, ::Sts::NisoSts::Notes, collection: true
15
+ attribute :toc, ::Sts::NisoSts::Toc, collection: true
9
16
 
10
17
  xml do
11
18
  element "front"
12
19
  ordered
20
+
21
+ map_attribute "id", to: :id
13
22
  map_element "iso-meta", to: :iso_meta
14
23
  map_element "std-meta", to: :std_meta
24
+ map_element "std-doc-meta", to: :std_doc_meta
25
+ map_element "reg-meta", to: :reg_meta
26
+ map_element "nat-meta", to: :nat_meta
15
27
  map_element "sec", to: :sec
28
+ map_element "ack", to: :ack
29
+ map_element "notes", to: :notes
30
+ map_element "toc", to: :toc
16
31
  end
17
32
  end
18
33
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class FundingSource < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :country, :string
7
8
  attribute :deposit_funder_name, :string
8
9
  attribute :funder_id, :string
@@ -11,6 +12,7 @@ module Sts
11
12
  attribute :content, :string, collection: true
12
13
  xml do
13
14
  element "funding-source"
15
+ map_attribute "id", to: :id
14
16
  mixed_content
15
17
 
16
18
  map_attribute "country", to: :country
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class GivenNames < 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 "given-names"
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 Gov < 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 "gov"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # rubocop:disable Layout/LineLength
2
4
  # <graphic xlink:href="e1d18be9.001.gif">
3
5
  # <object-id pub-id-type="fpi">+//ISO 9070/RA::A00007::GE::DIN German Institute for
@@ -9,6 +11,7 @@
9
11
  module Sts
10
12
  module NisoSts
11
13
  class Graphic < Lutaml::Model::Serializable
14
+ attribute :id, :string
12
15
  attribute :href, :xlink_href
13
16
  attribute :xlink_type, :string
14
17
  attribute :sts_object_id, ::Sts::NisoSts::ObjectId, collection: true
@@ -16,6 +19,7 @@ module Sts
16
19
  xml do
17
20
  element "graphic"
18
21
 
22
+ map_attribute "id", to: :id
19
23
  map_attribute "href", to: :href
20
24
  map_attribute "xlink:type", to: :xlink_type
21
25
  map_element "object-id", to: :sts_object_id
@@ -3,8 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Hr < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  xml do
7
8
  element "hr"
9
+
10
+ map_attribute "id", to: :id
8
11
  end
9
12
  end
10
13
  end
@@ -3,12 +3,15 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Ics < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string
7
8
  attribute :ics_desc, ::Sts::NisoSts::IcsDesc
8
9
 
9
10
  xml do
10
11
  element "ics"
11
12
 
13
+ map_attribute "id", to: :id
14
+
12
15
  map_content to: :content
13
16
  map_element "ics-desc", to: :ics_desc
14
17
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class IcsDesc < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "ics-desc"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,11 +3,20 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class IcsWrap < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :specific_use, :string
8
+ attribute :vocab, :string
9
+ attribute :vocab_identifier, :string
6
10
  attribute :ics, ::Sts::NisoSts::Ics, collection: true
7
11
 
8
12
  xml do
9
13
  element "ics-wrap"
10
14
 
15
+ map_attribute "id", to: :id
16
+ map_attribute "specific-use", to: :specific_use
17
+ map_attribute "vocab", to: :vocab
18
+ map_attribute "vocab-identifier", to: :vocab_identifier
19
+
11
20
  map_element "ics", to: :ics
12
21
  end
13
22
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class Index < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :index_type, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :index_title_group, ::Sts::NisoSts::IndexTitleGroup
12
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
13
+ attribute :index_entry, ::Sts::NisoSts::IndexEntry, collection: true
14
+ attribute :index_div, ::Sts::NisoSts::IndexDiv, collection: true
15
+
16
+ xml do
17
+ element "index"
18
+ ordered
19
+
20
+ map_attribute "content-type", to: :content_type
21
+ map_attribute "id", to: :id
22
+ map_attribute "index-type", to: :index_type
23
+ map_attribute "specific-use", to: :specific_use
24
+ map_attribute "xml:lang", to: :xml_lang
25
+ map_element "index-title-group", to: :index_title_group
26
+ map_element "p", to: :p
27
+ map_element "index-entry", to: :index_entry
28
+ map_element "index-div", to: :index_div
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 IndexDiv < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :index_title_group, ::Sts::NisoSts::IndexTitleGroup
11
+ attribute :p, ::Sts::NisoSts::Paragraph, collection: true
12
+ attribute :index_entry, ::Sts::NisoSts::IndexEntry, collection: true
13
+ attribute :index_div, ::Sts::NisoSts::IndexDiv, collection: true
14
+
15
+ xml do
16
+ element "index-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 "index-title-group", to: :index_title_group
24
+ map_element "p", to: :p
25
+ map_element "index-entry", to: :index_entry
26
+ map_element "index-div", to: :index_div
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IndexEntry < Lutaml::Model::Serializable
6
+ attribute :content_type, :string
7
+ attribute :id, :string
8
+ attribute :sort_key, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :term, :string
12
+ attribute :index_entry, ::Sts::NisoSts::IndexEntry, collection: true
13
+ attribute :see_entry, ::Sts::NisoSts::SeeEntry, collection: true
14
+ attribute :see_also_entry, ::Sts::NisoSts::SeeAlsoEntry, collection: true
15
+
16
+ xml do
17
+ element "index-entry"
18
+ ordered
19
+
20
+ map_attribute "content-type", to: :content_type
21
+ map_attribute "id", to: :id
22
+ map_attribute "sort-key", to: :sort_key
23
+ map_attribute "specific-use", to: :specific_use
24
+ map_attribute "xml:lang", to: :xml_lang
25
+ map_element "term", to: :term
26
+ map_element "index-entry", to: :index_entry
27
+ map_element "see-entry", to: :see_entry
28
+ map_element "see-also-entry", to: :see_also_entry
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module NisoSts
5
+ class IndexTitleGroup < 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 "index-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