metanorma-document 0.5.1 → 0.5.2.pre.alpha.1

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 (534) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +81 -0
  3. data/Rakefile +3 -7
  4. data/data/themes/ogc.yaml +5 -0
  5. data/lib/metanorma/basic_document/ancillary_blocks/figure_block.rb +2 -2
  6. data/lib/metanorma/basic_document/multi_paragraph/admonition_block.rb +2 -2
  7. data/lib/metanorma/document/cli.rb +134 -0
  8. data/lib/metanorma/document/components/ancillary_blocks/figure_block.rb +5 -0
  9. data/lib/metanorma/document/components/ancillary_blocks/fmt_figure_element.rb +47 -0
  10. data/lib/metanorma/document/components/ancillary_blocks/formula_block.rb +2 -0
  11. data/lib/metanorma/document/components/ancillary_blocks/imagemap_element.rb +73 -0
  12. data/lib/metanorma/document/components/ancillary_blocks/literal_block.rb +2 -0
  13. data/lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb +2 -0
  14. data/lib/metanorma/document/components/ancillary_blocks/svg_target_element.rb +27 -0
  15. data/lib/metanorma/document/components/ancillary_blocks/svgmap_element.rb +28 -0
  16. data/lib/metanorma/document/components/ancillary_blocks.rb +4 -0
  17. data/lib/metanorma/document/components/bib_data/bibliographic_item.rb +4 -0
  18. data/lib/metanorma/document/components/blocks/fmt_provision.rb +25 -0
  19. data/lib/metanorma/document/components/blocks/note_block.rb +8 -0
  20. data/lib/metanorma/document/components/blocks/permission_model.rb +9 -0
  21. data/lib/metanorma/document/components/blocks/recommendation_model.rb +9 -0
  22. data/lib/metanorma/document/components/blocks/requirement_base.rb +12 -0
  23. data/lib/metanorma/document/components/blocks/requirement_import.rb +23 -0
  24. data/lib/metanorma/document/components/blocks/requirement_measurement_target.rb +23 -0
  25. data/lib/metanorma/document/components/blocks/requirement_model.rb +9 -0
  26. data/lib/metanorma/document/components/blocks/requirement_specification.rb +23 -0
  27. data/lib/metanorma/document/components/blocks/requirement_verification.rb +23 -0
  28. data/lib/metanorma/document/components/blocks.rb +8 -0
  29. data/lib/metanorma/document/components/data_types/formatted_string.rb +9 -0
  30. data/lib/metanorma/document/components/id_elements/image.rb +4 -0
  31. data/lib/metanorma/document/components/inline/columnbreak_element.rb +17 -0
  32. data/lib/metanorma/document/components/inline/concept_element.rb +18 -0
  33. data/lib/metanorma/document/components/inline/date_element.rb +29 -0
  34. data/lib/metanorma/document/components/inline/display_text_element.rb +2 -0
  35. data/lib/metanorma/document/components/inline/em_raw_element.rb +6 -7
  36. data/lib/metanorma/document/components/inline/eref_element.rb +48 -22
  37. data/lib/metanorma/document/components/inline/eref_stack.rb +23 -0
  38. data/lib/metanorma/document/components/inline/error_message.rb +28 -0
  39. data/lib/metanorma/document/components/inline/fmt_date_element.rb +28 -0
  40. data/lib/metanorma/document/components/inline/fmt_date_inline_element.rb +26 -0
  41. data/lib/metanorma/document/components/inline/fmt_eref_element.rb +25 -0
  42. data/lib/metanorma/document/components/inline/fmt_origin_element.rb +24 -0
  43. data/lib/metanorma/document/components/inline/fmt_preferred_element.rb +3 -0
  44. data/lib/metanorma/document/components/inline/fmt_source_element.rb +31 -0
  45. data/lib/metanorma/document/components/inline/fn_element.rb +11 -0
  46. data/lib/metanorma/document/components/inline/link_element.rb +8 -0
  47. data/lib/metanorma/document/components/inline/name_with_id_element.rb +2 -0
  48. data/lib/metanorma/document/components/inline/refterm_element.rb +21 -0
  49. data/lib/metanorma/document/components/inline/semx_element.rb +22 -0
  50. data/lib/metanorma/document/components/inline/sourcelocality_stack_element.rb +27 -0
  51. data/lib/metanorma/document/components/inline/span_element.rb +2 -0
  52. data/lib/metanorma/document/components/inline/stem_inline_element.rb +2 -0
  53. data/lib/metanorma/document/components/inline/strong_raw_element.rb +6 -9
  54. data/lib/metanorma/document/components/inline/sub_element.rb +2 -0
  55. data/lib/metanorma/document/components/inline/termref_element.rb +24 -0
  56. data/lib/metanorma/document/components/inline/title_with_annotation_element.rb +10 -31
  57. data/lib/metanorma/document/components/inline/variant_title_element.rb +2 -0
  58. data/lib/metanorma/document/components/inline/vocabulary.rb +36 -0
  59. data/lib/metanorma/document/components/inline.rb +23 -0
  60. data/lib/metanorma/document/components/lists/dd_element.rb +6 -1
  61. data/lib/metanorma/document/components/lists/definition.rb +2 -0
  62. data/lib/metanorma/document/components/lists/definition_list.rb +3 -0
  63. data/lib/metanorma/document/components/lists/dt_element.rb +3 -0
  64. data/lib/metanorma/document/components/lists/fmt_list_element.rb +73 -0
  65. data/lib/metanorma/document/components/lists/list_item.rb +3 -0
  66. data/lib/metanorma/document/components/lists/ordered_list.rb +4 -2
  67. data/lib/metanorma/document/components/lists/unordered_list.rb +2 -0
  68. data/lib/metanorma/document/components/lists.rb +2 -0
  69. data/lib/metanorma/document/components/multi_paragraph/quote_block.rb +16 -0
  70. data/lib/metanorma/document/components/multi_paragraph/review_block.rb +2 -2
  71. data/lib/metanorma/document/components/paragraphs/paragraph_block.rb +15 -0
  72. data/lib/metanorma/document/components/reference_elements/citation.rb +7 -0
  73. data/lib/metanorma/document/components/reference_elements/source_element.rb +4 -0
  74. data/lib/metanorma/document/components/semantic/node.rb +46 -0
  75. data/lib/metanorma/document/components/semantic.rb +11 -0
  76. data/lib/metanorma/document/components/tables/header_table_cell.rb +1 -0
  77. data/lib/metanorma/document/components/tables/table_cell.rb +70 -44
  78. data/lib/metanorma/document/components/tables/text_table_cell.rb +1 -0
  79. data/lib/metanorma/document/components/tables/text_table_row.rb +2 -0
  80. data/lib/metanorma/document/components/text_elements/ruby_annotation_element.rb +26 -0
  81. data/lib/metanorma/document/components/text_elements/ruby_element.rb +41 -6
  82. data/lib/metanorma/document/components/text_elements/ruby_pronunciation_element.rb +25 -0
  83. data/lib/metanorma/document/components/text_elements/strike_element.rb +3 -0
  84. data/lib/metanorma/document/components/text_elements/underline_element.rb +3 -0
  85. data/lib/metanorma/document/components/text_elements.rb +2 -0
  86. data/lib/metanorma/document/components.rb +1 -0
  87. data/lib/metanorma/document/grammar_vocabulary.rb +109 -0
  88. data/lib/metanorma/document/mirror_seed.rb +253 -0
  89. data/lib/metanorma/document/mko/collection.rb +168 -0
  90. data/lib/metanorma/document/mko/exporter.rb +17 -0
  91. data/lib/metanorma/document/mko/project.rb +1110 -0
  92. data/lib/metanorma/document/mko.rb +122 -0
  93. data/lib/metanorma/document/model_access.rb +44 -0
  94. data/lib/metanorma/document/native_models.rb +319 -0
  95. data/lib/metanorma/document/plain_text.rb +39 -0
  96. data/lib/metanorma/document/relaton/version_info.rb +4 -0
  97. data/lib/metanorma/document/version.rb +1 -1
  98. data/lib/metanorma/document.rb +19 -26
  99. data/lib/metanorma/{collection → document_collection}/directive.rb +1 -1
  100. data/lib/metanorma/{collection → document_collection}/doc_container.rb +6 -2
  101. data/lib/metanorma/{collection → document_collection}/entry.rb +2 -2
  102. data/lib/metanorma/{collection → document_collection}/root.rb +2 -2
  103. data/lib/metanorma/document_collection.rb +10 -0
  104. data/lib/metanorma/html/base_renderer.rb +94 -25
  105. data/lib/metanorma/html/component/footnote_collector.rb +21 -20
  106. data/lib/metanorma/html/concerns/metadata_extraction.rb +8 -3
  107. data/lib/metanorma/html/concerns/presentation_validation.rb +1 -2
  108. data/lib/metanorma/html/concerns/text_extraction.rb +154 -35
  109. data/lib/metanorma/html/concerns.rb +19 -0
  110. data/lib/metanorma/html/drops/admonition_drop.rb +1 -1
  111. data/lib/metanorma/html/drops/footnote_drop.rb +1 -1
  112. data/lib/metanorma/html/drops/sourcecode_drop.rb +22 -4
  113. data/lib/metanorma/html/generator.rb +11 -187
  114. data/lib/metanorma/html/renderer_delegation.rb +2 -2
  115. data/lib/metanorma/html/renderers/block_renderer.rb +206 -46
  116. data/lib/metanorma/html/renderers/inline_renderer.rb +144 -17
  117. data/lib/metanorma/html/renderers/section_renderer.rb +12 -2
  118. data/lib/metanorma/html/renderers/semantic_renderer.rb +487 -0
  119. data/lib/metanorma/html/renderers.rb +2 -0
  120. data/lib/metanorma/html/standard_renderer.rb +732 -76
  121. data/lib/metanorma/html/templates/_agency_cover.html.liquid +30 -0
  122. data/lib/metanorma/html/templates/_columnbreak.html.liquid +1 -0
  123. data/lib/metanorma/html/templates/_cover.html.liquid +3 -0
  124. data/lib/metanorma/html/templates/_main_content.html.liquid +1 -1
  125. data/lib/metanorma/html/templates/_ruby.html.liquid +1 -0
  126. data/lib/metanorma/html/templates/_sourcecode.html.liquid +4 -3
  127. data/lib/metanorma/html/templates/_standard_cover.html.liquid +54 -3
  128. data/lib/metanorma/html.rb +30 -15
  129. data/tasks/flavors.rake +116 -0
  130. data/tasks/grammar.rake +28 -0
  131. data/tasks/roundtrip_samples.rake +48 -34
  132. metadata +121 -416
  133. data/frontend/dist/app.css +0 -1
  134. data/frontend/dist/app.iife.js +0 -24
  135. data/lib/metanorma/bipm_document/metadata/bipm_bib_data_extension_type.rb +0 -20
  136. data/lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb +0 -17
  137. data/lib/metanorma/bipm_document/metadata/bipm_structured_identifier.rb +0 -21
  138. data/lib/metanorma/bipm_document/metadata/depiction_element.rb +0 -18
  139. data/lib/metanorma/bipm_document/metadata.rb +0 -15
  140. data/lib/metanorma/bipm_document/root.rb +0 -25
  141. data/lib/metanorma/bipm_document.rb +0 -8
  142. data/lib/metanorma/bsi_document/metadata/bsi_bib_data_extension_type.rb +0 -10
  143. data/lib/metanorma/bsi_document/metadata/bsi_bibliographic_item.rb +0 -15
  144. data/lib/metanorma/bsi_document/metadata.rb +0 -12
  145. data/lib/metanorma/bsi_document/root.rb +0 -29
  146. data/lib/metanorma/bsi_document/sections/bsi_annex_section.rb +0 -25
  147. data/lib/metanorma/bsi_document/sections/bsi_clause_section.rb +0 -25
  148. data/lib/metanorma/bsi_document/sections/bsi_sections.rb +0 -27
  149. data/lib/metanorma/bsi_document/sections.rb +0 -11
  150. data/lib/metanorma/bsi_document.rb +0 -11
  151. data/lib/metanorma/cc_document/metadata/cc_bib_data_extension_type.rb +0 -12
  152. data/lib/metanorma/cc_document/metadata/cc_bibliographic_item.rb +0 -17
  153. data/lib/metanorma/cc_document/metadata.rb +0 -11
  154. data/lib/metanorma/cc_document/root.rb +0 -25
  155. data/lib/metanorma/cc_document.rb +0 -8
  156. data/lib/metanorma/collection.rb +0 -10
  157. data/lib/metanorma/csa_document/root.rb +0 -27
  158. data/lib/metanorma/csa_document.rb +0 -9
  159. data/lib/metanorma/gb_document/metadata/gb_bib_data_extension_type.rb +0 -10
  160. data/lib/metanorma/gb_document/metadata/gb_bibliographic_item.rb +0 -15
  161. data/lib/metanorma/gb_document/metadata.rb +0 -12
  162. data/lib/metanorma/gb_document/root.rb +0 -29
  163. data/lib/metanorma/gb_document.rb +0 -10
  164. data/lib/metanorma/generic_document/root.rb +0 -31
  165. data/lib/metanorma/generic_document.rb +0 -7
  166. data/lib/metanorma/html/bipm_renderer.rb +0 -23
  167. data/lib/metanorma/html/cc_renderer.rb +0 -9
  168. data/lib/metanorma/html/csa_renderer.rb +0 -9
  169. data/lib/metanorma/html/flavor.rb +0 -50
  170. data/lib/metanorma/html/flavor_registry.rb +0 -49
  171. data/lib/metanorma/html/icc_renderer.rb +0 -10
  172. data/lib/metanorma/html/iec_renderer.rb +0 -9
  173. data/lib/metanorma/html/ieee_renderer.rb +0 -9
  174. data/lib/metanorma/html/ietf_renderer.rb +0 -9
  175. data/lib/metanorma/html/iho_renderer.rb +0 -9
  176. data/lib/metanorma/html/iso_renderer.rb +0 -535
  177. data/lib/metanorma/html/itu_renderer.rb +0 -9
  178. data/lib/metanorma/html/ogc_renderer.rb +0 -23
  179. data/lib/metanorma/html/pdfa_renderer.rb +0 -10
  180. data/lib/metanorma/html/ribose_renderer.rb +0 -9
  181. data/lib/metanorma/html/templates/_bipm_cover.html.liquid +0 -27
  182. data/lib/metanorma/html/templates/_iso_cover.html.liquid +0 -31
  183. data/lib/metanorma/html/templates/_iso_doc_title.html.liquid +0 -3
  184. data/lib/metanorma/iec_document/root.rb +0 -27
  185. data/lib/metanorma/iec_document.rb +0 -9
  186. data/lib/metanorma/ieee_document/metadata/ieee_bib_data_extension_type.rb +0 -18
  187. data/lib/metanorma/ieee_document/metadata/ieee_bibliographic_item.rb +0 -20
  188. data/lib/metanorma/ieee_document/metadata/ieee_structured_identifier.rb +0 -25
  189. data/lib/metanorma/ieee_document/metadata.rb +0 -14
  190. data/lib/metanorma/ieee_document/root.rb +0 -29
  191. data/lib/metanorma/ieee_document/sections/ieee_sections.rb +0 -31
  192. data/lib/metanorma/ieee_document/sections.rb +0 -9
  193. data/lib/metanorma/ieee_document.rb +0 -11
  194. data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +0 -31
  195. data/lib/metanorma/ietf_document/metadata/ietf_bibliographic_item.rb +0 -51
  196. data/lib/metanorma/ietf_document/metadata/ietf_editorial_group.rb +0 -17
  197. data/lib/metanorma/ietf_document/metadata/pi_settings.rb +0 -32
  198. data/lib/metanorma/ietf_document/metadata.rb +0 -16
  199. data/lib/metanorma/ietf_document/root.rb +0 -30
  200. data/lib/metanorma/ietf_document/sections/ietf_annex_section.rb +0 -26
  201. data/lib/metanorma/ietf_document/sections/ietf_clause_section.rb +0 -26
  202. data/lib/metanorma/ietf_document/sections/ietf_content_section.rb +0 -25
  203. data/lib/metanorma/ietf_document/sections/ietf_sections.rb +0 -35
  204. data/lib/metanorma/ietf_document/sections.rb +0 -12
  205. data/lib/metanorma/ietf_document.rb +0 -11
  206. data/lib/metanorma/iho_document/metadata/iho_bib_data_extension_type.rb +0 -23
  207. data/lib/metanorma/iho_document/metadata/iho_bibliographic_item.rb +0 -20
  208. data/lib/metanorma/iho_document/metadata/iho_editorial_group.rb +0 -19
  209. data/lib/metanorma/iho_document/metadata/iho_series.rb +0 -22
  210. data/lib/metanorma/iho_document/metadata/iho_sub_group.rb +0 -18
  211. data/lib/metanorma/iho_document/metadata.rb +0 -15
  212. data/lib/metanorma/iho_document/root.rb +0 -25
  213. data/lib/metanorma/iho_document.rb +0 -8
  214. data/lib/metanorma/iso_document/annotation_container.rb +0 -7
  215. data/lib/metanorma/iso_document/blocks/iso_admonition_block.rb +0 -27
  216. data/lib/metanorma/iso_document/blocks/iso_admonition_type.rb +0 -25
  217. data/lib/metanorma/iso_document/blocks.rb +0 -12
  218. data/lib/metanorma/iso_document/boilerplate.rb +0 -7
  219. data/lib/metanorma/iso_document/metadata/abstract_title.rb +0 -36
  220. data/lib/metanorma/iso_document/metadata/doc_identifier.rb +0 -26
  221. data/lib/metanorma/iso_document/metadata/doctype_element.rb +0 -20
  222. data/lib/metanorma/iso_document/metadata/ics.rb +0 -19
  223. data/lib/metanorma/iso_document/metadata/iec_document_category.rb +0 -23
  224. data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +0 -38
  225. data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +0 -103
  226. data/lib/metanorma/iso_document/metadata/iso_document_id.rb +0 -46
  227. data/lib/metanorma/iso_document/metadata/iso_document_stage_codes.rb +0 -26
  228. data/lib/metanorma/iso_document/metadata/iso_document_status.rb +0 -26
  229. data/lib/metanorma/iso_document/metadata/iso_document_substage_codes.rb +0 -26
  230. data/lib/metanorma/iso_document/metadata/iso_document_type.rb +0 -25
  231. data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +0 -61
  232. data/lib/metanorma/iso_document/metadata/iso_project_group.rb +0 -32
  233. data/lib/metanorma/iso_document/metadata/iso_sub_group.rb +0 -38
  234. data/lib/metanorma/iso_document/metadata/language_element.rb +0 -18
  235. data/lib/metanorma/iso_document/metadata/metanorma_extension.rb +0 -9
  236. data/lib/metanorma/iso_document/metadata/project_number.rb +0 -22
  237. data/lib/metanorma/iso_document/metadata/script_element.rb +0 -18
  238. data/lib/metanorma/iso_document/metadata/stage_element.rb +0 -26
  239. data/lib/metanorma/iso_document/metadata/stagename_element.rb +0 -18
  240. data/lib/metanorma/iso_document/metadata/structured_identifier.rb +0 -16
  241. data/lib/metanorma/iso_document/metadata/title_amd.rb +0 -12
  242. data/lib/metanorma/iso_document/metadata/title_amendment_prefix.rb +0 -12
  243. data/lib/metanorma/iso_document/metadata/title_collection.rb +0 -47
  244. data/lib/metanorma/iso_document/metadata/title_full.rb +0 -12
  245. data/lib/metanorma/iso_document/metadata/title_intro.rb +0 -12
  246. data/lib/metanorma/iso_document/metadata/title_main.rb +0 -12
  247. data/lib/metanorma/iso_document/metadata/title_part.rb +0 -12
  248. data/lib/metanorma/iso_document/metadata/title_part_prefix.rb +0 -12
  249. data/lib/metanorma/iso_document/metadata.rb +0 -44
  250. data/lib/metanorma/iso_document/root.rb +0 -26
  251. data/lib/metanorma/iso_document/sections/colophon.rb +0 -3
  252. data/lib/metanorma/iso_document/sections/iso_abstract_section.rb +0 -15
  253. data/lib/metanorma/iso_document/sections/iso_amendment_clause.rb +0 -24
  254. data/lib/metanorma/iso_document/sections/iso_annex_section.rb +0 -50
  255. data/lib/metanorma/iso_document/sections/iso_clause_section.rb +0 -49
  256. data/lib/metanorma/iso_document/sections/iso_foreword_section.rb +0 -33
  257. data/lib/metanorma/iso_document/sections/iso_preface.rb +0 -51
  258. data/lib/metanorma/iso_document/sections/iso_sections.rb +0 -51
  259. data/lib/metanorma/iso_document/sections/iso_terms_section.rb +0 -76
  260. data/lib/metanorma/iso_document/sections.rb +0 -17
  261. data/lib/metanorma/iso_document/terms/iso_term.rb +0 -71
  262. data/lib/metanorma/iso_document/terms/iso_term_collection.rb +0 -20
  263. data/lib/metanorma/iso_document/terms/term_definition.rb +0 -30
  264. data/lib/metanorma/iso_document/terms/term_designation.rb +0 -44
  265. data/lib/metanorma/iso_document/terms/term_domain_element.rb +0 -18
  266. data/lib/metanorma/iso_document/terms/term_example.rb +0 -40
  267. data/lib/metanorma/iso_document/terms/term_expression.rb +0 -10
  268. data/lib/metanorma/iso_document/terms/term_note.rb +0 -42
  269. data/lib/metanorma/iso_document/terms/term_origin.rb +0 -4
  270. data/lib/metanorma/iso_document/terms/term_source.rb +0 -21
  271. data/lib/metanorma/iso_document/terms/verbal_definition.rb +0 -42
  272. data/lib/metanorma/iso_document/terms.rb +0 -21
  273. data/lib/metanorma/iso_document.rb +0 -15
  274. data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +0 -26
  275. data/lib/metanorma/itu_document/metadata/itu_bibliographic_item.rb +0 -21
  276. data/lib/metanorma/itu_document/metadata/itu_series.rb +0 -22
  277. data/lib/metanorma/itu_document/metadata/itu_structured_identifier.rb +0 -23
  278. data/lib/metanorma/itu_document/metadata/meeting_date.rb +0 -18
  279. data/lib/metanorma/itu_document/metadata/meeting_element.rb +0 -18
  280. data/lib/metanorma/itu_document/metadata/study_period.rb +0 -18
  281. data/lib/metanorma/itu_document/metadata.rb +0 -18
  282. data/lib/metanorma/itu_document/root.rb +0 -25
  283. data/lib/metanorma/itu_document.rb +0 -8
  284. data/lib/metanorma/jis_document/metadata/jis_bib_data_extension_type.rb +0 -10
  285. data/lib/metanorma/jis_document/metadata/jis_bibliographic_item.rb +0 -15
  286. data/lib/metanorma/jis_document/metadata.rb +0 -12
  287. data/lib/metanorma/jis_document/root.rb +0 -29
  288. data/lib/metanorma/jis_document/sections/jis_annex_section.rb +0 -20
  289. data/lib/metanorma/jis_document/sections.rb +0 -9
  290. data/lib/metanorma/jis_document.rb +0 -11
  291. data/lib/metanorma/m3d_document/metadata/m3d_bib_data_extension_type.rb +0 -10
  292. data/lib/metanorma/m3d_document/metadata/m3d_bibliographic_item.rb +0 -15
  293. data/lib/metanorma/m3d_document/metadata.rb +0 -12
  294. data/lib/metanorma/m3d_document/root.rb +0 -29
  295. data/lib/metanorma/m3d_document.rb +0 -10
  296. data/lib/metanorma/mirror/default_registry.rb +0 -191
  297. data/lib/metanorma/mirror/handler_registry.rb +0 -60
  298. data/lib/metanorma/mirror/handler_result.rb +0 -37
  299. data/lib/metanorma/mirror/handlers/admonition.rb +0 -18
  300. data/lib/metanorma/mirror/handlers/example.rb +0 -21
  301. data/lib/metanorma/mirror/handlers/figure.rb +0 -53
  302. data/lib/metanorma/mirror/handlers/formula.rb +0 -35
  303. data/lib/metanorma/mirror/handlers/inline/catalog.rb +0 -52
  304. data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +0 -158
  305. data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +0 -116
  306. data/lib/metanorma/mirror/handlers/inline.rb +0 -226
  307. data/lib/metanorma/mirror/handlers/list.rb +0 -110
  308. data/lib/metanorma/mirror/handlers/note.rb +0 -26
  309. data/lib/metanorma/mirror/handlers/paragraph.rb +0 -19
  310. data/lib/metanorma/mirror/handlers/quote.rb +0 -16
  311. data/lib/metanorma/mirror/handlers/review.rb +0 -19
  312. data/lib/metanorma/mirror/handlers/section.rb +0 -149
  313. data/lib/metanorma/mirror/handlers/sourcecode.rb +0 -27
  314. data/lib/metanorma/mirror/handlers/structural.rb +0 -68
  315. data/lib/metanorma/mirror/handlers/table.rb +0 -81
  316. data/lib/metanorma/mirror/handlers/term.rb +0 -100
  317. data/lib/metanorma/mirror/handlers.rb +0 -60
  318. data/lib/metanorma/mirror/id_strategy/positional.rb +0 -166
  319. data/lib/metanorma/mirror/id_strategy/preserve.rb +0 -12
  320. data/lib/metanorma/mirror/id_strategy.rb +0 -34
  321. data/lib/metanorma/mirror/math_util.rb +0 -53
  322. data/lib/metanorma/mirror/metadata.rb +0 -37
  323. data/lib/metanorma/mirror/model/container.rb +0 -47
  324. data/lib/metanorma/mirror/model/factory.rb +0 -52
  325. data/lib/metanorma/mirror/model/guide.rb +0 -26
  326. data/lib/metanorma/mirror/model/leaf.rb +0 -17
  327. data/lib/metanorma/mirror/model/mark.rb +0 -53
  328. data/lib/metanorma/mirror/model/node.rb +0 -47
  329. data/lib/metanorma/mirror/model/soft_break.rb +0 -33
  330. data/lib/metanorma/mirror/model/text.rb +0 -34
  331. data/lib/metanorma/mirror/model.rb +0 -16
  332. data/lib/metanorma/mirror/output/builder.rb +0 -39
  333. data/lib/metanorma/mirror/output/formats/base_format.rb +0 -90
  334. data/lib/metanorma/mirror/output/formats/inline_format.rb +0 -142
  335. data/lib/metanorma/mirror/output/formats.rb +0 -53
  336. data/lib/metanorma/mirror/output/pipeline.rb +0 -93
  337. data/lib/metanorma/mirror/output/pipeline_context.rb +0 -22
  338. data/lib/metanorma/mirror/output.rb +0 -12
  339. data/lib/metanorma/mirror/rewriter.rb +0 -123
  340. data/lib/metanorma/mirror/safe_attr.rb +0 -16
  341. data/lib/metanorma/mirror/serialization/json_serializer.rb +0 -25
  342. data/lib/metanorma/mirror/serialization/yaml_serializer.rb +0 -20
  343. data/lib/metanorma/mirror/serialization.rb +0 -10
  344. data/lib/metanorma/mirror/transformer.rb +0 -110
  345. data/lib/metanorma/mirror.rb +0 -31
  346. data/lib/metanorma/nist_document/metadata/nist_bib_data_extension_type.rb +0 -10
  347. data/lib/metanorma/nist_document/metadata/nist_bibliographic_item.rb +0 -15
  348. data/lib/metanorma/nist_document/metadata.rb +0 -12
  349. data/lib/metanorma/nist_document/root.rb +0 -29
  350. data/lib/metanorma/nist_document/sections/errata.rb +0 -16
  351. data/lib/metanorma/nist_document/sections/errata_clause.rb +0 -20
  352. data/lib/metanorma/nist_document/sections/errata_row.rb +0 -22
  353. data/lib/metanorma/nist_document/sections/nist_preface.rb +0 -30
  354. data/lib/metanorma/nist_document/sections.rb +0 -12
  355. data/lib/metanorma/nist_document.rb +0 -11
  356. data/lib/metanorma/ogc_document/metadata/ogc_bib_data_extension_type.rb +0 -12
  357. data/lib/metanorma/ogc_document/metadata/ogc_bibliographic_item.rb +0 -19
  358. data/lib/metanorma/ogc_document/metadata.rb +0 -12
  359. data/lib/metanorma/ogc_document/root.rb +0 -25
  360. data/lib/metanorma/ogc_document.rb +0 -8
  361. data/lib/metanorma/plateau_document/metadata/plateau_bibliographic_item.rb +0 -13
  362. data/lib/metanorma/plateau_document/metadata.rb +0 -10
  363. data/lib/metanorma/plateau_document/root.rb +0 -29
  364. data/lib/metanorma/plateau_document.rb +0 -10
  365. data/lib/metanorma/registers/setup.rb +0 -166
  366. data/lib/metanorma/registers.rb +0 -7
  367. data/lib/metanorma/ribose_document/metadata/ribose_bib_data_extension_type.rb +0 -20
  368. data/lib/metanorma/ribose_document/metadata/ribose_bibliographic_item.rb +0 -18
  369. data/lib/metanorma/ribose_document/metadata.rb +0 -12
  370. data/lib/metanorma/ribose_document/root.rb +0 -26
  371. data/lib/metanorma/ribose_document.rb +0 -8
  372. data/lib/metanorma/standard_document/annotation_container.rb +0 -39
  373. data/lib/metanorma/standard_document/block_attributes.rb +0 -281
  374. data/lib/metanorma/standard_document/blocks/amend_block.rb +0 -50
  375. data/lib/metanorma/standard_document/blocks/amend_content_block.rb +0 -35
  376. data/lib/metanorma/standard_document/blocks/auto_number.rb +0 -20
  377. data/lib/metanorma/standard_document/blocks/block_source.rb +0 -22
  378. data/lib/metanorma/standard_document/blocks/change_type.rb +0 -21
  379. data/lib/metanorma/standard_document/blocks/element_name.rb +0 -22
  380. data/lib/metanorma/standard_document/blocks/form.rb +0 -38
  381. data/lib/metanorma/standard_document/blocks/image_map_area_type.rb +0 -24
  382. data/lib/metanorma/standard_document/blocks/image_map_area_type_type.rb +0 -21
  383. data/lib/metanorma/standard_document/blocks/image_map_block.rb +0 -32
  384. data/lib/metanorma/standard_document/blocks/image_map_coords.rb +0 -19
  385. data/lib/metanorma/standard_document/blocks/image_map_radius.rb +0 -19
  386. data/lib/metanorma/standard_document/blocks/multilingual_rendering_type.rb +0 -21
  387. data/lib/metanorma/standard_document/blocks/passthrough.rb +0 -3
  388. data/lib/metanorma/standard_document/blocks/requirement_model.rb +0 -20
  389. data/lib/metanorma/standard_document/blocks/source_origin_element.rb +0 -23
  390. data/lib/metanorma/standard_document/blocks/standard_admonition_block.rb +0 -32
  391. data/lib/metanorma/standard_document/blocks/standard_block.rb +0 -28
  392. data/lib/metanorma/standard_document/blocks/standard_block_no_notes.rb +0 -34
  393. data/lib/metanorma/standard_document/blocks/standard_example_block.rb +0 -30
  394. data/lib/metanorma/standard_document/blocks/standard_figure_block.rb +0 -32
  395. data/lib/metanorma/standard_document/blocks/standard_formula_block.rb +0 -30
  396. data/lib/metanorma/standard_document/blocks/standard_note_block.rb +0 -64
  397. data/lib/metanorma/standard_document/blocks/standard_paragraph_block.rb +0 -25
  398. data/lib/metanorma/standard_document/blocks/standard_quote_block.rb +0 -29
  399. data/lib/metanorma/standard_document/blocks/standard_sourcecode_block.rb +0 -32
  400. data/lib/metanorma/standard_document/blocks/standard_table_block.rb +0 -39
  401. data/lib/metanorma/standard_document/blocks/svg_map_block.rb +0 -23
  402. data/lib/metanorma/standard_document/blocks/svg_target_type.rb +0 -20
  403. data/lib/metanorma/standard_document/blocks/table_col.rb +0 -16
  404. data/lib/metanorma/standard_document/blocks/to_c.rb +0 -17
  405. data/lib/metanorma/standard_document/blocks.rb +0 -60
  406. data/lib/metanorma/standard_document/boilerplate.rb +0 -32
  407. data/lib/metanorma/standard_document/elements/add.rb +0 -3
  408. data/lib/metanorma/standard_document/elements/del.rb +0 -3
  409. data/lib/metanorma/standard_document/elements/form_input.rb +0 -27
  410. data/lib/metanorma/standard_document/elements/input.rb +0 -12
  411. data/lib/metanorma/standard_document/elements/input_type.rb +0 -27
  412. data/lib/metanorma/standard_document/elements/label.rb +0 -19
  413. data/lib/metanorma/standard_document/elements/option.rb +0 -27
  414. data/lib/metanorma/standard_document/elements/orientation_type.rb +0 -27
  415. data/lib/metanorma/standard_document/elements/select.rb +0 -32
  416. data/lib/metanorma/standard_document/elements/standard_page_break_element.rb +0 -22
  417. data/lib/metanorma/standard_document/elements/textarea.rb +0 -25
  418. data/lib/metanorma/standard_document/elements.rb +0 -20
  419. data/lib/metanorma/standard_document/lists/standard_definition.rb +0 -24
  420. data/lib/metanorma/standard_document/lists/standard_definition_list.rb +0 -30
  421. data/lib/metanorma/standard_document/lists/standard_definition_term.rb +0 -27
  422. data/lib/metanorma/standard_document/lists/standard_unordered_list.rb +0 -28
  423. data/lib/metanorma/standard_document/lists/unordered_checkable_list_item.rb +0 -26
  424. data/lib/metanorma/standard_document/lists.rb +0 -17
  425. data/lib/metanorma/standard_document/metadata/editorial_group_type.rb +0 -25
  426. data/lib/metanorma/standard_document/metadata/ics_type.rb +0 -26
  427. data/lib/metanorma/standard_document/metadata/metanorma_extension.rb +0 -26
  428. data/lib/metanorma/standard_document/metadata/presentation_metadata.rb +0 -107
  429. data/lib/metanorma/standard_document/metadata/semantic_metadata.rb +0 -18
  430. data/lib/metanorma/standard_document/metadata/standard_bib_data.rb +0 -25
  431. data/lib/metanorma/standard_document/metadata/standard_bib_data_extension_type.rb +0 -37
  432. data/lib/metanorma/standard_document/metadata/structured_identifier_type.rb +0 -48
  433. data/lib/metanorma/standard_document/metadata/technical_committee_type.rb +0 -27
  434. data/lib/metanorma/standard_document/metadata/unitsml/amount_of_substance.rb +0 -19
  435. data/lib/metanorma/standard_document/metadata/unitsml/base_quantity.rb +0 -34
  436. data/lib/metanorma/standard_document/metadata/unitsml/dimension.rb +0 -39
  437. data/lib/metanorma/standard_document/metadata/unitsml/dimension_set.rb +0 -19
  438. data/lib/metanorma/standard_document/metadata/unitsml/electric_current.rb +0 -19
  439. data/lib/metanorma/standard_document/metadata/unitsml/enumerated_root_unit.rb +0 -23
  440. data/lib/metanorma/standard_document/metadata/unitsml/length.rb +0 -19
  441. data/lib/metanorma/standard_document/metadata/unitsml/luminous_intensity.rb +0 -19
  442. data/lib/metanorma/standard_document/metadata/unitsml/mass.rb +0 -19
  443. data/lib/metanorma/standard_document/metadata/unitsml/namespace.rb +0 -17
  444. data/lib/metanorma/standard_document/metadata/unitsml/plane_angle.rb +0 -19
  445. data/lib/metanorma/standard_document/metadata/unitsml/prefix.rb +0 -30
  446. data/lib/metanorma/standard_document/metadata/unitsml/prefix_name.rb +0 -21
  447. data/lib/metanorma/standard_document/metadata/unitsml/prefix_set.rb +0 -19
  448. data/lib/metanorma/standard_document/metadata/unitsml/prefix_symbol.rb +0 -21
  449. data/lib/metanorma/standard_document/metadata/unitsml/quantity.rb +0 -28
  450. data/lib/metanorma/standard_document/metadata/unitsml/quantity_name.rb +0 -21
  451. data/lib/metanorma/standard_document/metadata/unitsml/quantity_set.rb +0 -19
  452. data/lib/metanorma/standard_document/metadata/unitsml/root_units.rb +0 -19
  453. data/lib/metanorma/standard_document/metadata/unitsml/thermodynamic_temperature.rb +0 -19
  454. data/lib/metanorma/standard_document/metadata/unitsml/time.rb +0 -19
  455. data/lib/metanorma/standard_document/metadata/unitsml/unit.rb +0 -32
  456. data/lib/metanorma/standard_document/metadata/unitsml/unit_name.rb +0 -21
  457. data/lib/metanorma/standard_document/metadata/unitsml/unit_set.rb +0 -19
  458. data/lib/metanorma/standard_document/metadata/unitsml/unit_symbol.rb +0 -36
  459. data/lib/metanorma/standard_document/metadata/unitsml/unit_system.rb +0 -23
  460. data/lib/metanorma/standard_document/metadata/unitsml/unitsml_root.rb +0 -28
  461. data/lib/metanorma/standard_document/metadata/unitsml.rb +0 -39
  462. data/lib/metanorma/standard_document/metadata.rb +0 -23
  463. data/lib/metanorma/standard_document/namespace.rb +0 -11
  464. data/lib/metanorma/standard_document/refs/reference_to_term.rb +0 -26
  465. data/lib/metanorma/standard_document/refs/reference_to_termbase.rb +0 -27
  466. data/lib/metanorma/standard_document/refs/standoc_locality_stack.rb +0 -24
  467. data/lib/metanorma/standard_document/refs/standoc_reference_to_citation_element.rb +0 -27
  468. data/lib/metanorma/standard_document/refs/standoc_reference_to_id_element.rb +0 -36
  469. data/lib/metanorma/standard_document/refs/xref_case_type.rb +0 -27
  470. data/lib/metanorma/standard_document/refs/xref_connective_type.rb +0 -27
  471. data/lib/metanorma/standard_document/refs/xref_target_type.rb +0 -25
  472. data/lib/metanorma/standard_document/refs.rb +0 -18
  473. data/lib/metanorma/standard_document/root.rb +0 -10
  474. data/lib/metanorma/standard_document/root_attributes.rb +0 -78
  475. data/lib/metanorma/standard_document/sections/abstract.rb +0 -19
  476. data/lib/metanorma/standard_document/sections/acknowledgements.rb +0 -19
  477. data/lib/metanorma/standard_document/sections/annex_section.rb +0 -69
  478. data/lib/metanorma/standard_document/sections/bibliography_section.rb +0 -20
  479. data/lib/metanorma/standard_document/sections/boilerplate_type.rb +0 -32
  480. data/lib/metanorma/standard_document/sections/clause_hierarchical_section.rb +0 -32
  481. data/lib/metanorma/standard_document/sections/clause_section.rb +0 -91
  482. data/lib/metanorma/standard_document/sections/colophon.rb +0 -16
  483. data/lib/metanorma/standard_document/sections/definition_section.rb +0 -72
  484. data/lib/metanorma/standard_document/sections/floating_section_title.rb +0 -23
  485. data/lib/metanorma/standard_document/sections/floating_title.rb +0 -27
  486. data/lib/metanorma/standard_document/sections/foreword.rb +0 -19
  487. data/lib/metanorma/standard_document/sections/introduction.rb +0 -20
  488. data/lib/metanorma/standard_document/sections/misc_container.rb +0 -31
  489. data/lib/metanorma/standard_document/sections/normative_type.rb +0 -29
  490. data/lib/metanorma/standard_document/sections/preface.rb +0 -36
  491. data/lib/metanorma/standard_document/sections/sections.rb +0 -47
  492. data/lib/metanorma/standard_document/sections/standard_content_section.rb +0 -41
  493. data/lib/metanorma/standard_document/sections/standard_hierarchical_section.rb +0 -30
  494. data/lib/metanorma/standard_document/sections/standard_references_section.rb +0 -74
  495. data/lib/metanorma/standard_document/sections/standard_section.rb +0 -39
  496. data/lib/metanorma/standard_document/sections/terms_section.rb +0 -61
  497. data/lib/metanorma/standard_document/sections.rb +0 -34
  498. data/lib/metanorma/standard_document/standard_document_type.rb +0 -15
  499. data/lib/metanorma/standard_document/terms/abbreviation_type.rb +0 -27
  500. data/lib/metanorma/standard_document/terms/concept.rb +0 -42
  501. data/lib/metanorma/standard_document/terms/definition_collection.rb +0 -24
  502. data/lib/metanorma/standard_document/terms/designation.rb +0 -31
  503. data/lib/metanorma/standard_document/terms/expression_designation.rb +0 -38
  504. data/lib/metanorma/standard_document/terms/expression_type.rb +0 -27
  505. data/lib/metanorma/standard_document/terms/grammar_gender.rb +0 -27
  506. data/lib/metanorma/standard_document/terms/grammar_info.rb +0 -36
  507. data/lib/metanorma/standard_document/terms/graphical_symbol_designation.rb +0 -25
  508. data/lib/metanorma/standard_document/terms/letter_symbol_designation.rb +0 -27
  509. data/lib/metanorma/standard_document/terms/non_verbal_representation.rb +0 -33
  510. data/lib/metanorma/standard_document/terms/related_term.rb +0 -31
  511. data/lib/metanorma/standard_document/terms/related_term_type.rb +0 -28
  512. data/lib/metanorma/standard_document/terms/term.rb +0 -66
  513. data/lib/metanorma/standard_document/terms/term_collection.rb +0 -24
  514. data/lib/metanorma/standard_document/terms/term_definition.rb +0 -29
  515. data/lib/metanorma/standard_document/terms/term_expression.rb +0 -20
  516. data/lib/metanorma/standard_document/terms/term_name_element.rb +0 -29
  517. data/lib/metanorma/standard_document/terms/term_source.rb +0 -29
  518. data/lib/metanorma/standard_document/terms/term_source_status.rb +0 -29
  519. data/lib/metanorma/standard_document/terms/term_source_type.rb +0 -21
  520. data/lib/metanorma/standard_document/terms/verbal_expression.rb +0 -35
  521. data/lib/metanorma/standard_document/terms.rb +0 -33
  522. data/lib/metanorma/standard_document.rb +0 -27
  523. data/lib/metanorma/un_document/blocks/un_admonition_block.rb +0 -86
  524. data/lib/metanorma/un_document/blocks.rb +0 -9
  525. data/lib/metanorma/un_document/metadata/un_bib_data_extension_type.rb +0 -10
  526. data/lib/metanorma/un_document/metadata/un_bibliographic_item.rb +0 -15
  527. data/lib/metanorma/un_document/metadata.rb +0 -12
  528. data/lib/metanorma/un_document/root.rb +0 -37
  529. data/lib/metanorma/un_document/sections/un_abstract_section.rb +0 -48
  530. data/lib/metanorma/un_document/sections/un_preface.rb +0 -40
  531. data/lib/metanorma/un_document/sections/un_sections.rb +0 -24
  532. data/lib/metanorma/un_document/sections.rb +0 -11
  533. data/lib/metanorma/un_document/un_text_element.rb +0 -116
  534. data/lib/metanorma/un_document.rb +0 -13
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module RiboseDocument
5
- module Metadata
6
- # Bibliographical description of a Ribose document.
7
- # Inherits all ISO bibliographic fields; overrides ext for Ribose format.
8
- class RiboseBibliographicItem < Metanorma::IsoDocument::Metadata::IsoBibliographicItem
9
- attribute :ext, RiboseBibDataExtensionType
10
-
11
- xml do
12
- element "bibdata"
13
- map_element "ext", to: :ext
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module RiboseDocument
5
- module Metadata
6
- autoload :RiboseBibDataExtensionType,
7
- "#{__dir__}/metadata/ribose_bib_data_extension_type"
8
- autoload :RiboseBibliographicItem,
9
- "#{__dir__}/metadata/ribose_bibliographic_item"
10
- end
11
- end
12
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module RiboseDocument
5
- class Root < Lutaml::Model::Serializable
6
- include Metanorma::StandardDocument::RootAttributes
7
-
8
- attribute :bibdata,
9
- Metanorma::RiboseDocument::Metadata::RiboseBibliographicItem
10
- attribute :preface,
11
- Metanorma::StandardDocument::Sections::Preface
12
- attribute :sections,
13
- Metanorma::StandardDocument::Sections::Sections
14
- attribute :annex,
15
- Metanorma::StandardDocument::Sections::AnnexSection,
16
- collection: true
17
-
18
- xml do
19
- element "metanorma"
20
- namespace Metanorma::StandardDocument::Namespace
21
-
22
- Metanorma::StandardDocument::RootXmlMapping.apply(self)
23
- end
24
- end
25
- end
26
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module RiboseDocument
5
- autoload :Metadata, "metanorma/ribose_document/metadata"
6
- autoload :Root, "metanorma/ribose_document/root"
7
- end
8
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- class AnnotationContainer < Lutaml::Model::Serializable
6
- class Annotation < Lutaml::Model::Serializable
7
- attribute :id, :string
8
- attribute :reviewer, :string
9
- attribute :from, :string
10
- attribute :to, :string
11
- attribute :type, :string
12
- attribute :date, :string
13
- attribute :semx_id, :string
14
- attribute :paragraphs,
15
- Metanorma::Document::Components::Paragraphs::ParagraphBlock,
16
- collection: true
17
-
18
- xml do
19
- element "annotation"
20
- map_attribute "id", to: :id
21
- map_attribute "reviewer", to: :reviewer
22
- map_attribute "from", to: :from
23
- map_attribute "to", to: :to
24
- map_attribute "type", to: :type
25
- map_attribute "date", to: :date
26
- map_attribute "semx-id", to: :semx_id
27
- map_element "p", to: :paragraphs
28
- end
29
- end
30
-
31
- attribute :annotations, Annotation, collection: true
32
-
33
- xml do
34
- element "annotation-container"
35
- map_element "annotation", to: :annotations
36
- end
37
- end
38
- end
39
- end
@@ -1,281 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- # Mixin that declares individually-typed block collection attributes
6
- # for section-level models (ClauseSection, AnnexSection, ContentSection, etc.).
7
- #
8
- # Include this module in any Serializable class that represents a section
9
- # body containing heterogeneous block-level content (paragraphs, tables,
10
- # figures, etc.).
11
- module BlockAttributes
12
- def self.included(base)
13
- base.class_eval do
14
- attribute :paragraphs,
15
- Metanorma::Document::Components::Paragraphs::ParagraphBlock,
16
- collection: true
17
- attribute :unordered_lists,
18
- Metanorma::Document::Components::Lists::UnorderedList,
19
- collection: true
20
- attribute :ordered_lists,
21
- Metanorma::Document::Components::Lists::OrderedList,
22
- collection: true
23
- attribute :tables,
24
- Metanorma::Document::Components::Tables::TableBlock,
25
- collection: true
26
- attribute :figures,
27
- Metanorma::Document::Components::AncillaryBlocks::FigureBlock,
28
- collection: true
29
- attribute :formulas,
30
- Metanorma::Document::Components::AncillaryBlocks::FormulaBlock,
31
- collection: true
32
- attribute :examples,
33
- Metanorma::Document::Components::AncillaryBlocks::ExampleBlock,
34
- collection: true
35
- attribute :notes,
36
- Metanorma::Document::Components::Blocks::NoteBlock,
37
- collection: true
38
- attribute :admonitions,
39
- Metanorma::Document::Components::MultiParagraph::AdmonitionBlock,
40
- collection: true
41
- attribute :sourcecode_blocks,
42
- Metanorma::Document::Components::AncillaryBlocks::SourcecodeBlock,
43
- collection: true
44
- attribute :quote_blocks,
45
- Metanorma::Document::Components::MultiParagraph::QuoteBlock,
46
- collection: true
47
- attribute :definition_lists,
48
- Metanorma::Document::Components::Lists::DefinitionList,
49
- collection: true
50
- end
51
- end
52
- end
53
-
54
- # Provides `blocks` method for ordered-content section types.
55
- # Returns child block-level nodes in document order via `each_mixed_content`,
56
- # excluding metadata/inline elements like titles and annotations.
57
- module OrderedContent
58
- NON_BLOCK_TYPES = [
59
- Metanorma::Document::Components::Inline::TitleWithAnnotationElement,
60
- Metanorma::Document::Components::Inline::FmtTitleElement,
61
- Metanorma::Document::Components::Inline::VariantTitleElement,
62
- Metanorma::Document::Components::Inline::FmtXrefLabelElement,
63
- Metanorma::Document::Components::Inline::FmtAnnotationStartElement,
64
- Metanorma::Document::Components::Inline::FmtAnnotationEndElement,
65
- ].freeze
66
-
67
- def blocks
68
- @blocks ||=
69
- begin
70
- result = []
71
- each_mixed_content do |node|
72
- next if node.is_a?(String)
73
- next if NON_BLOCK_TYPES.any? { |t| node.is_a?(t) }
74
-
75
- result << node
76
- end
77
- result
78
- end
79
- end
80
- end
81
-
82
- # Presentation/formatting attributes shared by all section types.
83
- # Include in any section class that supports presentation metadata.
84
- module PresentationAttributes
85
- def self.included(base)
86
- base.class_eval do
87
- attribute :anchor, :string
88
- attribute :semx_id, :string
89
- attribute :autonum, :string
90
- attribute :displayorder, :integer
91
- attribute :fmt_title,
92
- Metanorma::Document::Components::Inline::FmtTitleElement
93
- attribute :fmt_xref_label,
94
- Metanorma::Document::Components::Inline::FmtXrefLabelElement,
95
- collection: true
96
- attribute :variant_title,
97
- Metanorma::Document::Components::Inline::VariantTitleElement,
98
- collection: true
99
- attribute :fmt_annotation_start,
100
- Metanorma::Document::Components::Inline::FmtAnnotationStartElement,
101
- collection: true
102
- attribute :fmt_annotation_end,
103
- Metanorma::Document::Components::Inline::FmtAnnotationEndElement,
104
- collection: true
105
- end
106
- end
107
- end
108
-
109
- # Adds XML element mappings for block-level content to a mapping builder.
110
- # Call inside an `xml do` block:
111
- #
112
- # xml do
113
- # element "clause"
114
- # ordered
115
- # BlockXmlMapping.apply_block_mappings(self)
116
- # # ... additional mappings
117
- # end
118
- module BlockXmlMapping
119
- BLOCK_MAPPINGS = {
120
- "p" => :paragraphs,
121
- "ul" => :unordered_lists,
122
- "ol" => :ordered_lists,
123
- "table" => :tables,
124
- "figure" => :figures,
125
- "formula" => :formulas,
126
- "example" => :examples,
127
- "note" => :notes,
128
- "admonition" => :admonitions,
129
- "sourcecode" => :sourcecode_blocks,
130
- "quote" => :quote_blocks,
131
- "dl" => :definition_lists,
132
- }.freeze
133
-
134
- def self.apply_block_mappings(mapping)
135
- BLOCK_MAPPINGS.each do |element_name, attr_name|
136
- mapping.map_element(element_name, to: attr_name)
137
- end
138
- end
139
- end
140
-
141
- # Shared XML mapping helpers for section-level elements.
142
- # Extracts the common attribute/element mappings duplicated across
143
- # ClauseSection, AnnexSection, and their flavor-specific subclasses.
144
- module SectionXmlMapping
145
- # Common XML attribute mappings for clause sections.
146
- def self.apply_clause_attributes(mapping)
147
- mapping.map_attribute "id", to: :id
148
- mapping.map_attribute "anchor", to: :anchor
149
- mapping.map_attribute "type", to: :type
150
- mapping.map_attribute "number", to: :number
151
- mapping.map_attribute "obligation", to: :obligation
152
- mapping.map_attribute "inline-header", to: :inline_header
153
- mapping.map_attribute "unnumbered", to: :unnumbered
154
- mapping.map_attribute "toc", to: :toc
155
- mapping.map_attribute "class", to: :class_attr
156
- mapping.map_attribute "semx-id", to: :semx_id
157
- mapping.map_attribute "autonum", to: :autonum
158
- mapping.map_attribute "displayorder", to: :displayorder
159
- end
160
-
161
- # Common XML element mappings for clause sections.
162
- def self.apply_clause_elements(mapping)
163
- mapping.map_element "title", to: :title
164
- mapping.map_element "variant-title", to: :variant_title
165
- mapping.map_element "fmt-title", to: :fmt_title
166
- mapping.map_element "fmt-xref-label", to: :fmt_xref_label
167
-
168
- BlockXmlMapping.apply_block_mappings(mapping)
169
-
170
- mapping.map_element "amend", to: :amend
171
- mapping.map_element "clause", to: :clause
172
- mapping.map_element "terms", to: :terms
173
- mapping.map_element "definitions", to: :definitions
174
- mapping.map_element "references", to: :references
175
- mapping.map_element "floating-title", to: :floating_title
176
- mapping.map_element "form", to: :form
177
- mapping.map_element "requirement", to: :requirement
178
- mapping.map_element "recommendation", to: :recommendation
179
- mapping.map_element "permission", to: :permission
180
- mapping.map_element "pagebreak", to: :pagebreak
181
- mapping.map_element "bookmark", to: :bookmark
182
- mapping.map_element "fmt-annotation-start", to: :fmt_annotation_start
183
- mapping.map_element "fmt-annotation-end", to: :fmt_annotation_end
184
- end
185
-
186
- # Common XML attribute mappings for annex sections.
187
- def self.apply_annex_attributes(mapping)
188
- mapping.map_attribute "id", to: :id
189
- mapping.map_attribute "number", to: :number
190
- mapping.map_attribute "obligation", to: :obligation,
191
- render_empty: true
192
- mapping.map_attribute "unnumbered", to: :unnumbered
193
- mapping.map_attribute "toc", to: :toc
194
- mapping.map_attribute "anchor", to: :anchor
195
- mapping.map_attribute "semx-id", to: :semx_id
196
- mapping.map_attribute "autonum", to: :autonum
197
- mapping.map_attribute "displayorder", to: :displayorder
198
- mapping.map_attribute "inline-header", to: :inline_header
199
- mapping.map_attribute "language", to: :language, render_empty: true
200
- mapping.map_attribute "script", to: :script, render_empty: true
201
- end
202
-
203
- # Common XML element mappings for annex sections.
204
- def self.apply_annex_elements(mapping)
205
- mapping.map_element "title", to: :title
206
- mapping.map_element "variant-title", to: :variant_title
207
- mapping.map_element "fmt-title", to: :fmt_title
208
- mapping.map_element "fmt-xref-label", to: :fmt_xref_label
209
-
210
- BlockXmlMapping.apply_block_mappings(mapping)
211
-
212
- mapping.map_element "clause", to: :clause
213
- mapping.map_element "appendix", to: :appendix
214
- mapping.map_element "terms", to: :terms
215
- mapping.map_element "definitions", to: :definitions
216
- mapping.map_element "references", to: :references
217
- mapping.map_element "floating-title", to: :floating_title
218
- mapping.map_element "pagebreak", to: :pagebreak
219
- mapping.map_element "fmt-annotation-start", to: :fmt_annotation_start
220
- mapping.map_element "fmt-annotation-end", to: :fmt_annotation_end
221
- end
222
-
223
- # Common XML element/attribute mappings for the sections container.
224
- def self.apply_sections_elements(mapping)
225
- mapping.map_element "clause", to: :clause
226
- mapping.map_element "terms", to: :terms
227
- mapping.map_element "definitions", to: :definitions
228
- mapping.map_element "floating-title", to: :floating_title
229
- mapping.map_element "references", to: :references
230
- end
231
-
232
- def self.apply_sections_attributes(mapping)
233
- mapping.map_attribute "semx-id", to: :semx_id
234
- mapping.map_attribute "displayorder", to: :displayorder
235
- end
236
-
237
- # Common XML element/attribute mappings for preface containers.
238
- def self.apply_preface_elements(mapping)
239
- mapping.map_element "abstract", to: :abstract
240
- mapping.map_element "foreword", to: :foreword
241
- mapping.map_element "introduction", to: :introduction
242
- mapping.map_element "acknowledgements", to: :acknowledgements
243
- mapping.map_element "executivesummary", to: :executivesummary
244
- end
245
-
246
- def self.apply_preface_attributes(mapping)
247
- mapping.map_attribute "semx-id", to: :semx_id
248
- mapping.map_attribute "displayorder", to: :displayorder
249
- end
250
-
251
- # Common XML attribute/element mappings for ContentSection subclasses.
252
- def self.apply_content_section_attributes(mapping)
253
- mapping.map_attribute "id", to: :id
254
- mapping.map_attribute "anchor", to: :anchor
255
- mapping.map_attribute "type", to: :type
256
- mapping.map_attribute "number", to: :number
257
- mapping.map_attribute "obligation", to: :obligation
258
- mapping.map_attribute "inline-header", to: :inline_header
259
- mapping.map_attribute "unnumbered", to: :unnumbered
260
- mapping.map_attribute "toc", to: :toc
261
- mapping.map_attribute "class", to: :class_attr
262
- mapping.map_attribute "semx-id", to: :semx_id
263
- mapping.map_attribute "autonum", to: :autonum
264
- mapping.map_attribute "displayorder", to: :displayorder
265
- end
266
-
267
- def self.apply_content_section_elements(mapping)
268
- mapping.map_element "title", to: :title
269
- mapping.map_element "variant-title", to: :variant_title
270
- mapping.map_element "fmt-title", to: :fmt_title
271
- mapping.map_element "fmt-xref-label", to: :fmt_xref_label
272
-
273
- BlockXmlMapping.apply_block_mappings(mapping)
274
-
275
- mapping.map_element "clause", to: :subsection
276
- mapping.map_element "fmt-annotation-start", to: :fmt_annotation_start
277
- mapping.map_element "fmt-annotation-end", to: :fmt_annotation_end
278
- end
279
- end
280
- end
281
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # Block expressing a machine-readable change in a document.
7
- class AmendBlock < Metanorma::StandardDocument::Blocks::StandardBlockNoNotes
8
- attribute :change, :string
9
- attribute :bib_locality, Metanorma::Document::Relaton::BibItemLocality,
10
- collection: true
11
- attribute :path, :string
12
- attribute :path_end, :string
13
- attribute :position, :string
14
- attribute :name, :string
15
- attribute :description,
16
- AmendContentBlock, collection: true
17
- attribute :auto_number, Metanorma::StandardDocument::Blocks::AutoNumber,
18
- collection: true
19
- attribute :new_content,
20
- AmendContentBlock, collection: true
21
-
22
- # Presentation-specific attributes
23
-
24
- attribute :semx_id, :string
25
- attribute :original_id, :string
26
- attribute :autonum, :string
27
- attribute :displayorder, :integer
28
-
29
- xml do
30
- element "amend"
31
- mixed_content
32
- map_attribute "change", to: :change
33
- map_element "bib-locality", to: :bib_locality
34
- map_attribute "path", to: :path
35
- map_attribute "position", to: :position
36
-
37
- map_attribute "semx-id", to: :semx_id
38
- map_attribute "original-id", to: :original_id
39
- map_attribute "autonum", to: :autonum
40
- map_attribute "displayorder", to: :displayorder
41
- map_attribute "path-end", to: :path_end
42
- map_attribute "name", to: :name
43
- map_element "autonumber", to: :auto_number
44
- map_element "description", to: :description
45
- map_element "newcontent", to: :new_content
46
- end
47
- end
48
- end
49
- end
50
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # Content block for amend description and new-content elements.
7
- # Contains block-level content: paragraphs, notes, lists, tables, etc.
8
- class AmendContentBlock < Lutaml::Model::Serializable
9
- attribute :paragraphs,
10
- Metanorma::Document::Components::Paragraphs::ParagraphBlock,
11
- collection: true
12
- attribute :note,
13
- Metanorma::Document::Components::Blocks::NoteBlock,
14
- collection: true
15
- attribute :ol,
16
- Metanorma::Document::Components::Lists::OrderedList,
17
- collection: true
18
- attribute :ul,
19
- Metanorma::Document::Components::Lists::UnorderedList,
20
- collection: true
21
- attribute :dl,
22
- Metanorma::Document::Components::Lists::DefinitionList,
23
- collection: true
24
-
25
- xml do
26
- map_element "p", to: :paragraphs
27
- map_element "note", to: :note
28
- map_element "ol", to: :ol
29
- map_element "ul", to: :ul
30
- map_element "dl", to: :dl
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # Specification of how blocks of a given class should be autonumbered
7
- # within an AmendBlock newContent element.
8
- class AutoNumber < Lutaml::Model::Serializable
9
- attribute :type, :string
10
- attribute :value, :string
11
-
12
- xml do
13
- element "autonumber"
14
- map_attribute "type", to: :type
15
- map_content to: :value
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- class BlockSourceElement < Lutaml::Model::Serializable
7
- attribute :status, :string
8
- attribute :type, :string
9
- attribute :origin, SourceOriginElement
10
- attribute :modification, Metanorma::Document::Components::Paragraphs::ParagraphBlock
11
-
12
- xml do
13
- element "source"
14
- map_attribute "status", to: :status
15
- map_attribute "type", to: :type
16
- map_element "origin", to: :origin
17
- map_element "modification", to: :modification
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # The type of change described in AmendBlock.
7
- class ChangeType < Lutaml::Model::Serializable
8
- attribute :value, :string
9
-
10
- xml do
11
- element "change-type"
12
- map_content to: :value
13
- end
14
-
15
- def self.values
16
- %w[add modify delete]
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # The classes of block subject to autonumbering within an `AmendBlock` `newContent` element.
7
- class ElementName < Lutaml::Model::Serializable
8
- attribute :value, :string
9
-
10
- xml do
11
- element "element-name"
12
- map_content to: :value
13
- end
14
-
15
- def self.values
16
- %w[requirement recommendation permission table figure admonition formula
17
- sourcecode example note]
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # Input form, for use under HTML.
7
- class Form < Metanorma::StandardDocument::Blocks::StandardBlockNoNotes
8
- attribute :id, :string
9
- attribute :name, :string
10
- attribute :action, :string
11
- attribute :class_attr, :string
12
- attribute :text,
13
- Metanorma::Document::Components::TextElements::TextElement, collection: true
14
- attribute :input, Metanorma::StandardDocument::Elements::FormInput,
15
- collection: true
16
- attribute :label, Metanorma::StandardDocument::Elements::Label,
17
- collection: true
18
- attribute :p, Metanorma::Document::Components::Paragraphs::ParagraphBlock,
19
- collection: true
20
- attribute :table, Metanorma::Document::Components::Tables::TableBlock,
21
- collection: true
22
-
23
- xml do
24
- element "form"
25
- map_attribute "id", to: :id
26
- map_attribute "name", to: :name
27
- map_attribute "action", to: :action
28
- map_attribute "class", to: :class_attr
29
- map_element "text", to: :text
30
- map_element "input", to: :input
31
- map_element "label", to: :label
32
- map_element "p", to: :p
33
- map_element "table", to: :table
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # Specification of an area of an image to be hyperlinked, as part of an image map.
7
- class ImageMapAreaType < Lutaml::Model::Serializable
8
- attribute :type, :string
9
- attribute :element, Metanorma::Document::Components::ReferenceElements::ReferenceElement
10
- attribute :coords, Metanorma::StandardDocument::Blocks::ImageMapCoords,
11
- collection: true
12
- attribute :radius, Metanorma::StandardDocument::Blocks::ImageMapRadius
13
-
14
- xml do
15
- element "image-map-area-type"
16
- map_attribute "type", to: :type
17
- map_element "element", to: :element
18
- map_element "coords", to: :coords
19
- map_element "radius", to: :radius
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Metanorma
4
- module StandardDocument
5
- module Blocks
6
- # The type of area in an image map to be hyperlinked.
7
- class ImageMapAreaTypeType < Lutaml::Model::Serializable
8
- attribute :value, :string
9
-
10
- xml do
11
- element "image-map-area-type-type"
12
- map_content to: :value
13
- end
14
-
15
- def self.values
16
- %w[rect circle ellipse poly]
17
- end
18
- end
19
- end
20
- end
21
- end