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
data/lib/sts/mathml.rb CHANGED
@@ -1,67 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "lutaml/model"
4
3
  require "mml"
5
4
 
6
5
  module Sts
7
6
  module Mathml
8
- class Math < Lutaml::Model::Serializable
9
- attribute :id, :string
10
- attribute :display, :string
11
- attribute :math, Mml::V3::Math
12
-
13
- xml do
14
- namespace ::Sts::Namespaces::MathmlNamespace
15
- element "math"
16
- mixed_content
17
-
18
- map_attribute :id, to: :id
19
- map_attribute :display, to: :display
20
- map_element "math", to: :math
21
- end
22
-
23
- def id
24
- @id ||= math&.id
25
- end
26
-
27
- def id=(value)
28
- @id = value
29
- math.id = value if math
30
- end
31
-
32
- def display
33
- @display ||= math&.display
34
- end
35
-
36
- def display=(value)
37
- @display = value
38
- math.display = value if math
39
- end
40
-
41
- def method_missing(method_name, *args, &block)
42
- if math.respond_to?(method_name)
43
- math.send(method_name, *args, &block)
44
- else
45
- super
46
- end
47
- end
48
-
49
- def respond_to_missing?(method_name, include_private = false)
50
- math.respond_to?(method_name, include_private) || super
51
- end
52
-
53
- def to_xml
54
- math&.to_xml
55
- end
56
-
57
- def self.from_xml(input)
58
- parsed = Mml::V3::Math.from_xml(input)
59
- math = new
60
- math.instance_variable_set(:@math, parsed)
61
- math.id = parsed.id
62
- math.display = parsed.display
63
- math
64
- end
7
+ # Wrapper around Mml::V3::Math for use within Sts document models.
8
+ #
9
+ # Mml::V3::Math is the actual serializable model. This class provides
10
+ # a typed namespace at Sts::Mathml and forwards the small subset of
11
+ # Mml::V3::Math interface used by Sts elements.
12
+ #
13
+ # All Mml element types (mi, mo, mn, mrow, etc.) are used directly
14
+ # from Mml::V3 — only the root <math> wrapper lives here.
15
+ class Math
16
+ # Type alias for callers that prefer the Sts namespace path.
17
+ # Maps directly to Mml::V3::Math with identical serialization.
18
+ Root = Mml::V3::Math
65
19
  end
66
20
  end
67
21
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Sts
2
4
  module Namespaces
3
5
  class MathmlNamespace < Lutaml::Xml::Namespace
@@ -4,6 +4,7 @@ module Sts
4
4
  module NisoSts
5
5
  class Abstract < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :originator, :string
7
8
  attribute :abstract_type, :string
8
9
  attribute :lang, Lutaml::Xml::W3c::XmlLangType
9
10
  attribute :title, :string
@@ -14,6 +15,7 @@ module Sts
14
15
  ordered
15
16
 
16
17
  map_attribute "id", to: :id
18
+ map_attribute "originator", to: :originator
17
19
  map_attribute "abstract-type", to: :abstract_type
18
20
  map_attribute "xml:lang", to: :lang
19
21
  map_element "title", to: :title
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class AccessDate < 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 "access-date"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class AccreditingOrganization < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "accrediting-organization"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class AddrLine < 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 "addr-line"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Address < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :addr_line, ::Sts::NisoSts::AddrLine, collection: true
7
8
  attribute :city, ::Sts::NisoSts::City
8
9
  attribute :state, ::Sts::NisoSts::State
@@ -14,6 +15,7 @@ module Sts
14
15
 
15
16
  xml do
16
17
  element "address"
18
+ map_attribute "id", to: :id
17
19
  ordered
18
20
 
19
21
  map_element "addr-line", to: :addr_line
@@ -3,11 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class AffAlternatives < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :aff, ::Sts::NisoSts::Aff, collection: true
7
8
 
8
9
  xml do
9
10
  element "aff-alternatives"
10
11
 
12
+ map_attribute "id", to: :id
13
+
11
14
  map_element "aff", to: :aff
12
15
  end
13
16
  end
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class AltText < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "alt-text"
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 AltTitle < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "alt-title"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,8 +3,10 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Alternatives < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  xml do
7
8
  element "alternatives"
9
+ map_attribute "id", to: :id
8
10
  ordered
9
11
  end
10
12
  end
@@ -3,8 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Anonymous < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  xml do
7
8
  element "anonymous"
9
+
10
+ map_attribute "id", to: :id
8
11
  end
9
12
  end
10
13
  end
@@ -5,6 +5,7 @@ module Sts
5
5
  class App < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :originator, :string
8
9
  attribute :label, ::Sts::NisoSts::Label
9
10
  attribute :annex_type, :string
10
11
  attribute :title, ::Sts::NisoSts::Title
@@ -29,6 +30,7 @@ module Sts
29
30
 
30
31
  map_attribute "id", to: :id
31
32
  map_attribute "content-type", to: :content_type
33
+ map_attribute "originator", to: :originator
32
34
 
33
35
  map_element "label", to: :label
34
36
  map_element "annex-type", to: :annex_type
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ArticleTitle < 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 "article-title"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Attrib < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "attrib"
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 Authorization < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "authorization"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,19 +3,37 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class AwardGroup < Lutaml::Model::Serializable
6
- attribute :id, :string
7
6
  attribute :award_type, :string
7
+ attribute :id, :string
8
+ attribute :rid, :string
9
+ attribute :specific_use, :string
10
+ attribute :xlink_href, :string
11
+ attribute :xlink_role, :string
12
+ attribute :xlink_title, :string
13
+ attribute :xlink_show, :string
14
+ attribute :xlink_actuate, :string
15
+ attribute :xml_lang, :string
8
16
  attribute :funding_source, ::Sts::NisoSts::FundingSource, collection: true
9
17
  attribute :award_id, ::Sts::NisoSts::AwardId, collection: true
10
- attribute :principal_award_recipient, ::Sts::NisoSts::PrincipalAwardRecipient
11
- attribute :principal_investigator, ::Sts::NisoSts::PrincipalInvestigator
18
+ attribute :principal_award_recipient,
19
+ ::Sts::NisoSts::PrincipalAwardRecipient, collection: true
20
+ attribute :principal_investigator, ::Sts::NisoSts::PrincipalInvestigator,
21
+ collection: true
12
22
 
13
23
  xml do
14
24
  element "award-group"
15
25
  ordered
16
26
 
17
- map_attribute "id", to: :id
18
27
  map_attribute "award-type", to: :award_type
28
+ map_attribute "id", to: :id
29
+ map_attribute "rid", to: :rid
30
+ map_attribute "specific-use", to: :specific_use
31
+ map_attribute "xlink:href", to: :xlink_href
32
+ map_attribute "xlink:role", to: :xlink_role
33
+ map_attribute "xlink:title", to: :xlink_title
34
+ map_attribute "xlink:show", to: :xlink_show
35
+ map_attribute "xlink:actuate", to: :xlink_actuate
36
+ map_attribute "xml:lang", to: :xml_lang
19
37
 
20
38
  map_element "funding-source", to: :funding_source
21
39
  map_element "award-id", to: :award_id
@@ -4,14 +4,20 @@ module Sts
4
4
  module NisoSts
5
5
  class AwardId < Lutaml::Model::Serializable
6
6
  attribute :award_id_type, :string
7
+ attribute :id, :string
7
8
  attribute :rid, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
8
11
  attribute :content, :string, collection: true
9
12
  xml do
10
13
  element "award-id"
11
14
  mixed_content
12
15
 
13
16
  map_attribute "award-id-type", to: :award_id_type
17
+ map_attribute "id", to: :id
14
18
  map_attribute "rid", to: :rid
19
+ map_attribute "specific-use", to: :specific_use
20
+ map_attribute "xml:lang", to: :xml_lang
15
21
  map_content to: :content
16
22
  end
17
23
  end
@@ -3,19 +3,37 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Back < Lutaml::Model::Serializable
6
- attribute :ref_list, ::Sts::NisoSts::ReferenceList, collection: true
6
+ attribute :id, :string
7
+ attribute :label, ::Sts::NisoSts::Label
8
+ attribute :title, ::Sts::NisoSts::Title
9
+ attribute :ack, ::Sts::NisoSts::Ack, collection: true
7
10
  attribute :app_group, ::Sts::NisoSts::AppGroup, collection: true
8
- attribute :sec, ::Sts::NisoSts::Section, collection: true
11
+ attribute :bio, ::Sts::NisoSts::Bio, collection: true
9
12
  attribute :fn_group, ::Sts::NisoSts::FnGroup, collection: true
13
+ attribute :glossary, ::Sts::NisoSts::Glossary, collection: true
14
+ attribute :index, ::Sts::NisoSts::Index, collection: true
15
+ attribute :notes, ::Sts::NisoSts::Notes, collection: true
16
+ attribute :ref_list, ::Sts::NisoSts::ReferenceList, collection: true
17
+ attribute :sec, ::Sts::NisoSts::Section, collection: true
18
+ attribute :toc, ::Sts::NisoSts::Toc, collection: true
10
19
 
11
20
  xml do
12
21
  element "back"
13
22
  ordered
14
23
 
15
- map_element "ref-list", to: :ref_list
24
+ map_attribute "id", to: :id
25
+ map_element "label", to: :label
26
+ map_element "title", to: :title
27
+ map_element "ack", to: :ack
16
28
  map_element "app-group", to: :app_group
17
- map_element "sec", to: :sec
29
+ map_element "bio", to: :bio
18
30
  map_element "fn-group", to: :fn_group
31
+ map_element "glossary", to: :glossary
32
+ map_element "index", to: :index
33
+ map_element "notes", to: :notes
34
+ map_element "ref-list", to: :ref_list
35
+ map_element "sec", to: :sec
36
+ map_element "toc", to: :toc
19
37
  end
20
38
  end
21
39
  end
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Body < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :sec, ::Sts::NisoSts::Section, collection: true
7
8
  attribute :term_sec, ::Sts::NisoSts::TermSection, collection: true
8
9
  attribute :paragraph, ::Sts::NisoSts::Paragraph, collection: true
@@ -26,6 +27,7 @@ module Sts
26
27
 
27
28
  xml do
28
29
  element "body"
30
+ map_attribute "id", to: :id
29
31
  ordered
30
32
 
31
33
  map_element "sec", to: :sec
@@ -5,14 +5,32 @@ module Sts
5
5
  class BoxedText < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :form_type, :string
9
+ attribute :is_form, :string
8
10
  attribute :orientation, :string
11
+ attribute :originator, :string
9
12
  attribute :position, :string
10
13
  attribute :specific_use, :string
11
- attribute :caption, ::Sts::NisoSts::Caption
14
+ attribute :xml_lang, :string
12
15
  attribute :label, ::Sts::NisoSts::Label
16
+ attribute :caption, ::Sts::NisoSts::Caption
13
17
  attribute :paragraphs, ::Sts::NisoSts::Paragraph, collection: true
14
- attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
15
18
  attribute :list, ::Sts::NisoSts::List, collection: true
19
+ attribute :def_list, ::Sts::NisoSts::DefList, collection: true
20
+ attribute :preformat, ::Sts::NisoSts::Preformat, collection: true
21
+ attribute :fig, ::Sts::NisoSts::Figure, collection: true
22
+ attribute :graphic, ::Sts::NisoSts::Graphic, collection: true
23
+ attribute :disp_formula, ::Sts::NisoSts::DisplayFormula, collection: true
24
+ attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
25
+ attribute :sec, ::Sts::NisoSts::Section, collection: true
26
+ attribute :fn_group, ::Sts::NisoSts::FnGroup, collection: true
27
+ attribute :ref_list, ::Sts::NisoSts::ReferenceList, collection: true
28
+ attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
29
+ collection: true
30
+ attribute :non_normative_example, ::Sts::NisoSts::NonNormativeExample,
31
+ collection: true
32
+ attribute :attrib, ::Sts::NisoSts::Attrib, collection: true
33
+ attribute :permissions, ::Sts::NisoSts::Permissions
16
34
 
17
35
  xml do
18
36
  element "boxed-text"
@@ -20,15 +38,31 @@ module Sts
20
38
 
21
39
  map_attribute "id", to: :id
22
40
  map_attribute "content-type", to: :content_type
41
+ map_attribute "form-type", to: :form_type
42
+ map_attribute "is-form", to: :is_form
23
43
  map_attribute "orientation", to: :orientation
44
+ map_attribute "originator", to: :originator
24
45
  map_attribute "position", to: :position
25
46
  map_attribute "specific-use", to: :specific_use
47
+ map_attribute "xml:lang", to: :xml_lang
26
48
 
27
- map_element "caption", to: :caption
28
49
  map_element "label", to: :label
50
+ map_element "caption", to: :caption
29
51
  map_element "p", to: :paragraphs
30
- map_element "preformat", to: :preformat
31
52
  map_element "list", to: :list
53
+ map_element "def-list", to: :def_list
54
+ map_element "preformat", to: :preformat
55
+ map_element "fig", to: :fig
56
+ map_element "graphic", to: :graphic
57
+ map_element "disp-formula", to: :disp_formula
58
+ map_element "disp-quote", to: :disp_quote
59
+ map_element "sec", to: :sec
60
+ map_element "fn-group", to: :fn_group
61
+ map_element "ref-list", to: :ref_list
62
+ map_element "non-normative-note", to: :non_normative_note
63
+ map_element "non-normative-example", to: :non_normative_example
64
+ map_element "attrib", to: :attrib
65
+ map_element "permissions", to: :permissions
32
66
  end
33
67
  end
34
68
  end
@@ -3,8 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class Break < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  xml do
7
8
  element "break"
9
+
10
+ map_attribute "id", to: :id
8
11
  end
9
12
  end
10
13
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # rubocop:disable Layout/LineLength
2
4
  # <caption>
3
5
  # <title>Overview of risk assessment/risk reduction</title>
@@ -25,6 +27,9 @@
25
27
  module Sts
26
28
  module NisoSts
27
29
  class Caption < Lutaml::Model::Serializable
30
+ attribute :id, :string
31
+ attribute :specific_use, :string
32
+ attribute :xml_lang, :string
28
33
  attribute :title, ::Sts::NisoSts::Title
29
34
  attribute :paragraphs, ::Sts::NisoSts::Paragraph, collection: true
30
35
  attribute :non_normative_note, ::Sts::NisoSts::NonNormativeNote,
@@ -37,6 +42,9 @@ module Sts
37
42
  element "caption"
38
43
  ordered
39
44
 
45
+ map_attribute "id", to: :id
46
+ map_attribute "specific-use", to: :specific_use
47
+ map_attribute "xml:lang", to: :xml_lang
40
48
  map_element "p", to: :paragraphs
41
49
  map_element "non-normative-note", to: :non_normative_note
42
50
  map_element "title", to: :title
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ChapterTitle < 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 "chapter-title"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content
@@ -3,9 +3,11 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class ChemStruct < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :content, :string, collection: true
7
8
  xml do
8
9
  element "chem-struct"
10
+ map_attribute "id", to: :id
9
11
  mixed_content
10
12
 
11
13
  map_content to: :content
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class CitationAlternatives < Lutaml::Model::Serializable
6
+ attribute :id, :string
6
7
  attribute :mixed_citation, ::Sts::NisoSts::MixedCitation
7
8
  attribute :element_citation, ::Sts::NisoSts::ElementCitation
8
9
  attribute :nlm_citation, ::Sts::NisoSts::NlmCitation
9
10
 
10
11
  xml do
11
12
  element "citation-alternatives"
13
+ map_attribute "id", to: :id
12
14
  ordered
13
15
 
14
16
  map_element "mixed-citation", to: :mixed_citation
@@ -3,12 +3,14 @@
3
3
  module Sts
4
4
  module NisoSts
5
5
  class City < 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 "city"
13
+ map_attribute "id", to: :id
12
14
  mixed_content
13
15
 
14
16
  map_content to: :content