metanorma-document 0.5.0 → 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 (543) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +81 -0
  3. data/Rakefile +3 -7
  4. data/data/stylesheets/base/_dark.css +3 -3
  5. data/data/stylesheets/base/_print.css +1 -1
  6. data/data/stylesheets/components/term.css +4 -2
  7. data/data/themes/ogc.yaml +5 -0
  8. data/lib/metanorma/basic_document/ancillary_blocks/figure_block.rb +2 -2
  9. data/lib/metanorma/basic_document/multi_paragraph/admonition_block.rb +2 -2
  10. data/lib/metanorma/document/cli.rb +134 -0
  11. data/lib/metanorma/document/components/ancillary_blocks/figure_block.rb +5 -0
  12. data/lib/metanorma/document/components/ancillary_blocks/fmt_figure_element.rb +47 -0
  13. data/lib/metanorma/document/components/ancillary_blocks/formula_block.rb +2 -0
  14. data/lib/metanorma/document/components/ancillary_blocks/imagemap_element.rb +73 -0
  15. data/lib/metanorma/document/components/ancillary_blocks/literal_block.rb +2 -0
  16. data/lib/metanorma/document/components/ancillary_blocks/sourcecode_block.rb +2 -0
  17. data/lib/metanorma/document/components/ancillary_blocks/svg_target_element.rb +27 -0
  18. data/lib/metanorma/document/components/ancillary_blocks/svgmap_element.rb +28 -0
  19. data/lib/metanorma/document/components/ancillary_blocks.rb +4 -0
  20. data/lib/metanorma/document/components/bib_data/bibliographic_item.rb +4 -0
  21. data/lib/metanorma/document/components/blocks/fmt_provision.rb +25 -0
  22. data/lib/metanorma/document/components/blocks/note_block.rb +8 -0
  23. data/lib/metanorma/document/components/blocks/permission_model.rb +9 -0
  24. data/lib/metanorma/document/components/blocks/recommendation_model.rb +9 -0
  25. data/lib/metanorma/document/components/blocks/requirement_base.rb +12 -0
  26. data/lib/metanorma/document/components/blocks/requirement_import.rb +23 -0
  27. data/lib/metanorma/document/components/blocks/requirement_measurement_target.rb +23 -0
  28. data/lib/metanorma/document/components/blocks/requirement_model.rb +9 -0
  29. data/lib/metanorma/document/components/blocks/requirement_specification.rb +23 -0
  30. data/lib/metanorma/document/components/blocks/requirement_verification.rb +23 -0
  31. data/lib/metanorma/document/components/blocks.rb +8 -0
  32. data/lib/metanorma/document/components/data_types/formatted_string.rb +9 -0
  33. data/lib/metanorma/document/components/id_elements/image.rb +4 -0
  34. data/lib/metanorma/document/components/inline/columnbreak_element.rb +17 -0
  35. data/lib/metanorma/document/components/inline/concept_element.rb +18 -0
  36. data/lib/metanorma/document/components/inline/date_element.rb +29 -0
  37. data/lib/metanorma/document/components/inline/display_text_element.rb +2 -0
  38. data/lib/metanorma/document/components/inline/em_raw_element.rb +6 -7
  39. data/lib/metanorma/document/components/inline/eref_element.rb +48 -22
  40. data/lib/metanorma/document/components/inline/eref_stack.rb +23 -0
  41. data/lib/metanorma/document/components/inline/error_message.rb +28 -0
  42. data/lib/metanorma/document/components/inline/fmt_date_element.rb +28 -0
  43. data/lib/metanorma/document/components/inline/fmt_date_inline_element.rb +26 -0
  44. data/lib/metanorma/document/components/inline/fmt_eref_element.rb +25 -0
  45. data/lib/metanorma/document/components/inline/fmt_origin_element.rb +24 -0
  46. data/lib/metanorma/document/components/inline/fmt_preferred_element.rb +3 -0
  47. data/lib/metanorma/document/components/inline/fmt_source_element.rb +31 -0
  48. data/lib/metanorma/document/components/inline/fn_element.rb +11 -0
  49. data/lib/metanorma/document/components/inline/link_element.rb +8 -0
  50. data/lib/metanorma/document/components/inline/name_with_id_element.rb +2 -0
  51. data/lib/metanorma/document/components/inline/refterm_element.rb +21 -0
  52. data/lib/metanorma/document/components/inline/semx_element.rb +22 -0
  53. data/lib/metanorma/document/components/inline/sourcelocality_stack_element.rb +27 -0
  54. data/lib/metanorma/document/components/inline/span_element.rb +2 -0
  55. data/lib/metanorma/document/components/inline/stem_inline_element.rb +2 -0
  56. data/lib/metanorma/document/components/inline/strong_raw_element.rb +6 -9
  57. data/lib/metanorma/document/components/inline/sub_element.rb +2 -0
  58. data/lib/metanorma/document/components/inline/termref_element.rb +24 -0
  59. data/lib/metanorma/document/components/inline/title_with_annotation_element.rb +10 -31
  60. data/lib/metanorma/document/components/inline/variant_title_element.rb +2 -0
  61. data/lib/metanorma/document/components/inline/vocabulary.rb +36 -0
  62. data/lib/metanorma/document/components/inline.rb +23 -0
  63. data/lib/metanorma/document/components/lists/dd_element.rb +6 -1
  64. data/lib/metanorma/document/components/lists/definition.rb +2 -0
  65. data/lib/metanorma/document/components/lists/definition_list.rb +3 -0
  66. data/lib/metanorma/document/components/lists/dt_element.rb +3 -0
  67. data/lib/metanorma/document/components/lists/fmt_list_element.rb +73 -0
  68. data/lib/metanorma/document/components/lists/list_item.rb +3 -0
  69. data/lib/metanorma/document/components/lists/ordered_list.rb +4 -2
  70. data/lib/metanorma/document/components/lists/unordered_list.rb +2 -0
  71. data/lib/metanorma/document/components/lists.rb +2 -0
  72. data/lib/metanorma/document/components/multi_paragraph/quote_block.rb +16 -0
  73. data/lib/metanorma/document/components/multi_paragraph/review_block.rb +2 -2
  74. data/lib/metanorma/document/components/paragraphs/paragraph_block.rb +15 -0
  75. data/lib/metanorma/document/components/reference_elements/citation.rb +7 -0
  76. data/lib/metanorma/document/components/reference_elements/source_element.rb +4 -0
  77. data/lib/metanorma/document/components/semantic/node.rb +46 -0
  78. data/lib/metanorma/document/components/semantic.rb +11 -0
  79. data/lib/metanorma/document/components/tables/header_table_cell.rb +1 -0
  80. data/lib/metanorma/document/components/tables/table_cell.rb +70 -44
  81. data/lib/metanorma/document/components/tables/text_table_cell.rb +1 -0
  82. data/lib/metanorma/document/components/tables/text_table_row.rb +2 -0
  83. data/lib/metanorma/document/components/text_elements/ruby_annotation_element.rb +26 -0
  84. data/lib/metanorma/document/components/text_elements/ruby_element.rb +41 -6
  85. data/lib/metanorma/document/components/text_elements/ruby_pronunciation_element.rb +25 -0
  86. data/lib/metanorma/document/components/text_elements/strike_element.rb +3 -0
  87. data/lib/metanorma/document/components/text_elements/underline_element.rb +3 -0
  88. data/lib/metanorma/document/components/text_elements.rb +2 -0
  89. data/lib/metanorma/document/components.rb +1 -0
  90. data/lib/metanorma/document/grammar_vocabulary.rb +109 -0
  91. data/lib/metanorma/document/mirror_seed.rb +253 -0
  92. data/lib/metanorma/document/mko/collection.rb +168 -0
  93. data/lib/metanorma/document/mko/exporter.rb +17 -0
  94. data/lib/metanorma/document/mko/project.rb +1110 -0
  95. data/lib/metanorma/document/mko.rb +122 -0
  96. data/lib/metanorma/document/model_access.rb +44 -0
  97. data/lib/metanorma/document/native_models.rb +319 -0
  98. data/lib/metanorma/document/plain_text.rb +39 -0
  99. data/lib/metanorma/document/relaton/version_info.rb +4 -0
  100. data/lib/metanorma/document/version.rb +1 -1
  101. data/lib/metanorma/document.rb +19 -26
  102. data/lib/metanorma/{collection → document_collection}/directive.rb +1 -1
  103. data/lib/metanorma/{collection → document_collection}/doc_container.rb +6 -2
  104. data/lib/metanorma/{collection → document_collection}/entry.rb +2 -2
  105. data/lib/metanorma/{collection → document_collection}/root.rb +2 -2
  106. data/lib/metanorma/document_collection.rb +10 -0
  107. data/lib/metanorma/html/base_renderer.rb +105 -28
  108. data/lib/metanorma/html/component/footnote_collector.rb +21 -20
  109. data/lib/metanorma/html/concerns/metadata_extraction.rb +8 -3
  110. data/lib/metanorma/html/concerns/presentation_validation.rb +1 -2
  111. data/lib/metanorma/html/concerns/text_extraction.rb +154 -35
  112. data/lib/metanorma/html/concerns.rb +19 -0
  113. data/lib/metanorma/html/drops/admonition_drop.rb +1 -1
  114. data/lib/metanorma/html/drops/example_drop.rb +8 -1
  115. data/lib/metanorma/html/drops/footnote_drop.rb +1 -1
  116. data/lib/metanorma/html/drops/note_drop.rb +31 -4
  117. data/lib/metanorma/html/drops/sourcecode_drop.rb +22 -4
  118. data/lib/metanorma/html/generator.rb +11 -187
  119. data/lib/metanorma/html/renderer_delegation.rb +2 -2
  120. data/lib/metanorma/html/renderers/block_renderer.rb +246 -51
  121. data/lib/metanorma/html/renderers/inline_renderer.rb +144 -17
  122. data/lib/metanorma/html/renderers/section_renderer.rb +12 -2
  123. data/lib/metanorma/html/renderers/semantic_renderer.rb +487 -0
  124. data/lib/metanorma/html/renderers.rb +2 -0
  125. data/lib/metanorma/html/standard_renderer.rb +743 -81
  126. data/lib/metanorma/html/templates/_agency_cover.html.liquid +30 -0
  127. data/lib/metanorma/html/templates/_columnbreak.html.liquid +1 -0
  128. data/lib/metanorma/html/templates/_cover.html.liquid +3 -0
  129. data/lib/metanorma/html/templates/_example.html.liquid +1 -1
  130. data/lib/metanorma/html/templates/_main_content.html.liquid +1 -1
  131. data/lib/metanorma/html/templates/_note.html.liquid +1 -1
  132. data/lib/metanorma/html/templates/_paragraph.html.liquid +1 -1
  133. data/lib/metanorma/html/templates/_ruby.html.liquid +1 -0
  134. data/lib/metanorma/html/templates/_sourcecode.html.liquid +4 -3
  135. data/lib/metanorma/html/templates/_standard_cover.html.liquid +54 -3
  136. data/lib/metanorma/html/templates/_term_number.html.liquid +1 -1
  137. data/lib/metanorma/html.rb +30 -15
  138. data/tasks/flavors.rake +116 -0
  139. data/tasks/grammar.rake +28 -0
  140. data/tasks/roundtrip_samples.rake +48 -34
  141. metadata +121 -416
  142. data/frontend/dist/app.css +0 -1
  143. data/frontend/dist/app.iife.js +0 -24
  144. data/lib/metanorma/bipm_document/metadata/bipm_bib_data_extension_type.rb +0 -20
  145. data/lib/metanorma/bipm_document/metadata/bipm_bibliographic_item.rb +0 -17
  146. data/lib/metanorma/bipm_document/metadata/bipm_structured_identifier.rb +0 -21
  147. data/lib/metanorma/bipm_document/metadata/depiction_element.rb +0 -18
  148. data/lib/metanorma/bipm_document/metadata.rb +0 -15
  149. data/lib/metanorma/bipm_document/root.rb +0 -25
  150. data/lib/metanorma/bipm_document.rb +0 -8
  151. data/lib/metanorma/bsi_document/metadata/bsi_bib_data_extension_type.rb +0 -10
  152. data/lib/metanorma/bsi_document/metadata/bsi_bibliographic_item.rb +0 -15
  153. data/lib/metanorma/bsi_document/metadata.rb +0 -12
  154. data/lib/metanorma/bsi_document/root.rb +0 -29
  155. data/lib/metanorma/bsi_document/sections/bsi_annex_section.rb +0 -25
  156. data/lib/metanorma/bsi_document/sections/bsi_clause_section.rb +0 -25
  157. data/lib/metanorma/bsi_document/sections/bsi_sections.rb +0 -27
  158. data/lib/metanorma/bsi_document/sections.rb +0 -11
  159. data/lib/metanorma/bsi_document.rb +0 -11
  160. data/lib/metanorma/cc_document/metadata/cc_bib_data_extension_type.rb +0 -12
  161. data/lib/metanorma/cc_document/metadata/cc_bibliographic_item.rb +0 -17
  162. data/lib/metanorma/cc_document/metadata.rb +0 -11
  163. data/lib/metanorma/cc_document/root.rb +0 -25
  164. data/lib/metanorma/cc_document.rb +0 -8
  165. data/lib/metanorma/collection.rb +0 -10
  166. data/lib/metanorma/csa_document/root.rb +0 -27
  167. data/lib/metanorma/csa_document.rb +0 -9
  168. data/lib/metanorma/gb_document/metadata/gb_bib_data_extension_type.rb +0 -10
  169. data/lib/metanorma/gb_document/metadata/gb_bibliographic_item.rb +0 -15
  170. data/lib/metanorma/gb_document/metadata.rb +0 -12
  171. data/lib/metanorma/gb_document/root.rb +0 -29
  172. data/lib/metanorma/gb_document.rb +0 -10
  173. data/lib/metanorma/generic_document/root.rb +0 -31
  174. data/lib/metanorma/generic_document.rb +0 -7
  175. data/lib/metanorma/html/bipm_renderer.rb +0 -23
  176. data/lib/metanorma/html/cc_renderer.rb +0 -9
  177. data/lib/metanorma/html/csa_renderer.rb +0 -9
  178. data/lib/metanorma/html/flavor.rb +0 -50
  179. data/lib/metanorma/html/flavor_registry.rb +0 -49
  180. data/lib/metanorma/html/icc_renderer.rb +0 -10
  181. data/lib/metanorma/html/iec_renderer.rb +0 -9
  182. data/lib/metanorma/html/ieee_renderer.rb +0 -9
  183. data/lib/metanorma/html/ietf_renderer.rb +0 -9
  184. data/lib/metanorma/html/iho_renderer.rb +0 -9
  185. data/lib/metanorma/html/iso_renderer.rb +0 -535
  186. data/lib/metanorma/html/itu_renderer.rb +0 -9
  187. data/lib/metanorma/html/ogc_renderer.rb +0 -23
  188. data/lib/metanorma/html/pdfa_renderer.rb +0 -10
  189. data/lib/metanorma/html/ribose_renderer.rb +0 -9
  190. data/lib/metanorma/html/templates/_bipm_cover.html.liquid +0 -27
  191. data/lib/metanorma/html/templates/_iso_cover.html.liquid +0 -31
  192. data/lib/metanorma/html/templates/_iso_doc_title.html.liquid +0 -3
  193. data/lib/metanorma/iec_document/root.rb +0 -27
  194. data/lib/metanorma/iec_document.rb +0 -9
  195. data/lib/metanorma/ieee_document/metadata/ieee_bib_data_extension_type.rb +0 -18
  196. data/lib/metanorma/ieee_document/metadata/ieee_bibliographic_item.rb +0 -20
  197. data/lib/metanorma/ieee_document/metadata/ieee_structured_identifier.rb +0 -25
  198. data/lib/metanorma/ieee_document/metadata.rb +0 -14
  199. data/lib/metanorma/ieee_document/root.rb +0 -29
  200. data/lib/metanorma/ieee_document/sections/ieee_sections.rb +0 -31
  201. data/lib/metanorma/ieee_document/sections.rb +0 -9
  202. data/lib/metanorma/ieee_document.rb +0 -11
  203. data/lib/metanorma/ietf_document/metadata/ietf_bib_data_extension_type.rb +0 -31
  204. data/lib/metanorma/ietf_document/metadata/ietf_bibliographic_item.rb +0 -51
  205. data/lib/metanorma/ietf_document/metadata/ietf_editorial_group.rb +0 -17
  206. data/lib/metanorma/ietf_document/metadata/pi_settings.rb +0 -32
  207. data/lib/metanorma/ietf_document/metadata.rb +0 -16
  208. data/lib/metanorma/ietf_document/root.rb +0 -30
  209. data/lib/metanorma/ietf_document/sections/ietf_annex_section.rb +0 -26
  210. data/lib/metanorma/ietf_document/sections/ietf_clause_section.rb +0 -26
  211. data/lib/metanorma/ietf_document/sections/ietf_content_section.rb +0 -25
  212. data/lib/metanorma/ietf_document/sections/ietf_sections.rb +0 -35
  213. data/lib/metanorma/ietf_document/sections.rb +0 -12
  214. data/lib/metanorma/ietf_document.rb +0 -11
  215. data/lib/metanorma/iho_document/metadata/iho_bib_data_extension_type.rb +0 -23
  216. data/lib/metanorma/iho_document/metadata/iho_bibliographic_item.rb +0 -20
  217. data/lib/metanorma/iho_document/metadata/iho_editorial_group.rb +0 -19
  218. data/lib/metanorma/iho_document/metadata/iho_series.rb +0 -22
  219. data/lib/metanorma/iho_document/metadata/iho_sub_group.rb +0 -18
  220. data/lib/metanorma/iho_document/metadata.rb +0 -15
  221. data/lib/metanorma/iho_document/root.rb +0 -25
  222. data/lib/metanorma/iho_document.rb +0 -8
  223. data/lib/metanorma/iso_document/annotation_container.rb +0 -7
  224. data/lib/metanorma/iso_document/blocks/iso_admonition_block.rb +0 -27
  225. data/lib/metanorma/iso_document/blocks/iso_admonition_type.rb +0 -25
  226. data/lib/metanorma/iso_document/blocks.rb +0 -12
  227. data/lib/metanorma/iso_document/boilerplate.rb +0 -7
  228. data/lib/metanorma/iso_document/metadata/abstract_title.rb +0 -36
  229. data/lib/metanorma/iso_document/metadata/doc_identifier.rb +0 -26
  230. data/lib/metanorma/iso_document/metadata/doctype_element.rb +0 -20
  231. data/lib/metanorma/iso_document/metadata/ics.rb +0 -19
  232. data/lib/metanorma/iso_document/metadata/iec_document_category.rb +0 -23
  233. data/lib/metanorma/iso_document/metadata/iso_bib_data_extension_type.rb +0 -38
  234. data/lib/metanorma/iso_document/metadata/iso_bibliographic_item.rb +0 -103
  235. data/lib/metanorma/iso_document/metadata/iso_document_id.rb +0 -46
  236. data/lib/metanorma/iso_document/metadata/iso_document_stage_codes.rb +0 -26
  237. data/lib/metanorma/iso_document/metadata/iso_document_status.rb +0 -26
  238. data/lib/metanorma/iso_document/metadata/iso_document_substage_codes.rb +0 -26
  239. data/lib/metanorma/iso_document/metadata/iso_document_type.rb +0 -25
  240. data/lib/metanorma/iso_document/metadata/iso_localized_title.rb +0 -61
  241. data/lib/metanorma/iso_document/metadata/iso_project_group.rb +0 -32
  242. data/lib/metanorma/iso_document/metadata/iso_sub_group.rb +0 -38
  243. data/lib/metanorma/iso_document/metadata/language_element.rb +0 -18
  244. data/lib/metanorma/iso_document/metadata/metanorma_extension.rb +0 -9
  245. data/lib/metanorma/iso_document/metadata/project_number.rb +0 -22
  246. data/lib/metanorma/iso_document/metadata/script_element.rb +0 -18
  247. data/lib/metanorma/iso_document/metadata/stage_element.rb +0 -26
  248. data/lib/metanorma/iso_document/metadata/stagename_element.rb +0 -18
  249. data/lib/metanorma/iso_document/metadata/structured_identifier.rb +0 -16
  250. data/lib/metanorma/iso_document/metadata/title_amd.rb +0 -12
  251. data/lib/metanorma/iso_document/metadata/title_amendment_prefix.rb +0 -12
  252. data/lib/metanorma/iso_document/metadata/title_collection.rb +0 -47
  253. data/lib/metanorma/iso_document/metadata/title_full.rb +0 -12
  254. data/lib/metanorma/iso_document/metadata/title_intro.rb +0 -12
  255. data/lib/metanorma/iso_document/metadata/title_main.rb +0 -12
  256. data/lib/metanorma/iso_document/metadata/title_part.rb +0 -12
  257. data/lib/metanorma/iso_document/metadata/title_part_prefix.rb +0 -12
  258. data/lib/metanorma/iso_document/metadata.rb +0 -44
  259. data/lib/metanorma/iso_document/root.rb +0 -26
  260. data/lib/metanorma/iso_document/sections/colophon.rb +0 -3
  261. data/lib/metanorma/iso_document/sections/iso_abstract_section.rb +0 -15
  262. data/lib/metanorma/iso_document/sections/iso_amendment_clause.rb +0 -24
  263. data/lib/metanorma/iso_document/sections/iso_annex_section.rb +0 -50
  264. data/lib/metanorma/iso_document/sections/iso_clause_section.rb +0 -49
  265. data/lib/metanorma/iso_document/sections/iso_foreword_section.rb +0 -33
  266. data/lib/metanorma/iso_document/sections/iso_preface.rb +0 -51
  267. data/lib/metanorma/iso_document/sections/iso_sections.rb +0 -51
  268. data/lib/metanorma/iso_document/sections/iso_terms_section.rb +0 -76
  269. data/lib/metanorma/iso_document/sections.rb +0 -17
  270. data/lib/metanorma/iso_document/terms/iso_term.rb +0 -71
  271. data/lib/metanorma/iso_document/terms/iso_term_collection.rb +0 -20
  272. data/lib/metanorma/iso_document/terms/term_definition.rb +0 -30
  273. data/lib/metanorma/iso_document/terms/term_designation.rb +0 -44
  274. data/lib/metanorma/iso_document/terms/term_domain_element.rb +0 -18
  275. data/lib/metanorma/iso_document/terms/term_example.rb +0 -40
  276. data/lib/metanorma/iso_document/terms/term_expression.rb +0 -10
  277. data/lib/metanorma/iso_document/terms/term_note.rb +0 -42
  278. data/lib/metanorma/iso_document/terms/term_origin.rb +0 -4
  279. data/lib/metanorma/iso_document/terms/term_source.rb +0 -21
  280. data/lib/metanorma/iso_document/terms/verbal_definition.rb +0 -42
  281. data/lib/metanorma/iso_document/terms.rb +0 -21
  282. data/lib/metanorma/iso_document.rb +0 -15
  283. data/lib/metanorma/itu_document/metadata/itu_bib_data_extension_type.rb +0 -26
  284. data/lib/metanorma/itu_document/metadata/itu_bibliographic_item.rb +0 -21
  285. data/lib/metanorma/itu_document/metadata/itu_series.rb +0 -22
  286. data/lib/metanorma/itu_document/metadata/itu_structured_identifier.rb +0 -23
  287. data/lib/metanorma/itu_document/metadata/meeting_date.rb +0 -18
  288. data/lib/metanorma/itu_document/metadata/meeting_element.rb +0 -18
  289. data/lib/metanorma/itu_document/metadata/study_period.rb +0 -18
  290. data/lib/metanorma/itu_document/metadata.rb +0 -18
  291. data/lib/metanorma/itu_document/root.rb +0 -25
  292. data/lib/metanorma/itu_document.rb +0 -8
  293. data/lib/metanorma/jis_document/metadata/jis_bib_data_extension_type.rb +0 -10
  294. data/lib/metanorma/jis_document/metadata/jis_bibliographic_item.rb +0 -15
  295. data/lib/metanorma/jis_document/metadata.rb +0 -12
  296. data/lib/metanorma/jis_document/root.rb +0 -29
  297. data/lib/metanorma/jis_document/sections/jis_annex_section.rb +0 -20
  298. data/lib/metanorma/jis_document/sections.rb +0 -9
  299. data/lib/metanorma/jis_document.rb +0 -11
  300. data/lib/metanorma/m3d_document/metadata/m3d_bib_data_extension_type.rb +0 -10
  301. data/lib/metanorma/m3d_document/metadata/m3d_bibliographic_item.rb +0 -15
  302. data/lib/metanorma/m3d_document/metadata.rb +0 -12
  303. data/lib/metanorma/m3d_document/root.rb +0 -29
  304. data/lib/metanorma/m3d_document.rb +0 -10
  305. data/lib/metanorma/mirror/default_registry.rb +0 -191
  306. data/lib/metanorma/mirror/handler_registry.rb +0 -60
  307. data/lib/metanorma/mirror/handler_result.rb +0 -37
  308. data/lib/metanorma/mirror/handlers/admonition.rb +0 -18
  309. data/lib/metanorma/mirror/handlers/example.rb +0 -21
  310. data/lib/metanorma/mirror/handlers/figure.rb +0 -53
  311. data/lib/metanorma/mirror/handlers/formula.rb +0 -35
  312. data/lib/metanorma/mirror/handlers/inline/catalog.rb +0 -52
  313. data/lib/metanorma/mirror/handlers/inline/rich_html_renderer.rb +0 -158
  314. data/lib/metanorma/mirror/handlers/inline/text_extractor.rb +0 -116
  315. data/lib/metanorma/mirror/handlers/inline.rb +0 -226
  316. data/lib/metanorma/mirror/handlers/list.rb +0 -110
  317. data/lib/metanorma/mirror/handlers/note.rb +0 -26
  318. data/lib/metanorma/mirror/handlers/paragraph.rb +0 -19
  319. data/lib/metanorma/mirror/handlers/quote.rb +0 -16
  320. data/lib/metanorma/mirror/handlers/review.rb +0 -19
  321. data/lib/metanorma/mirror/handlers/section.rb +0 -149
  322. data/lib/metanorma/mirror/handlers/sourcecode.rb +0 -27
  323. data/lib/metanorma/mirror/handlers/structural.rb +0 -68
  324. data/lib/metanorma/mirror/handlers/table.rb +0 -81
  325. data/lib/metanorma/mirror/handlers/term.rb +0 -100
  326. data/lib/metanorma/mirror/handlers.rb +0 -60
  327. data/lib/metanorma/mirror/id_strategy/positional.rb +0 -166
  328. data/lib/metanorma/mirror/id_strategy/preserve.rb +0 -12
  329. data/lib/metanorma/mirror/id_strategy.rb +0 -34
  330. data/lib/metanorma/mirror/math_util.rb +0 -53
  331. data/lib/metanorma/mirror/metadata.rb +0 -37
  332. data/lib/metanorma/mirror/model/container.rb +0 -47
  333. data/lib/metanorma/mirror/model/factory.rb +0 -52
  334. data/lib/metanorma/mirror/model/guide.rb +0 -26
  335. data/lib/metanorma/mirror/model/leaf.rb +0 -17
  336. data/lib/metanorma/mirror/model/mark.rb +0 -53
  337. data/lib/metanorma/mirror/model/node.rb +0 -47
  338. data/lib/metanorma/mirror/model/soft_break.rb +0 -33
  339. data/lib/metanorma/mirror/model/text.rb +0 -34
  340. data/lib/metanorma/mirror/model.rb +0 -16
  341. data/lib/metanorma/mirror/output/builder.rb +0 -39
  342. data/lib/metanorma/mirror/output/formats/base_format.rb +0 -90
  343. data/lib/metanorma/mirror/output/formats/inline_format.rb +0 -142
  344. data/lib/metanorma/mirror/output/formats.rb +0 -53
  345. data/lib/metanorma/mirror/output/pipeline.rb +0 -93
  346. data/lib/metanorma/mirror/output/pipeline_context.rb +0 -22
  347. data/lib/metanorma/mirror/output.rb +0 -12
  348. data/lib/metanorma/mirror/rewriter.rb +0 -123
  349. data/lib/metanorma/mirror/safe_attr.rb +0 -16
  350. data/lib/metanorma/mirror/serialization/json_serializer.rb +0 -25
  351. data/lib/metanorma/mirror/serialization/yaml_serializer.rb +0 -20
  352. data/lib/metanorma/mirror/serialization.rb +0 -10
  353. data/lib/metanorma/mirror/transformer.rb +0 -110
  354. data/lib/metanorma/mirror.rb +0 -31
  355. data/lib/metanorma/nist_document/metadata/nist_bib_data_extension_type.rb +0 -10
  356. data/lib/metanorma/nist_document/metadata/nist_bibliographic_item.rb +0 -15
  357. data/lib/metanorma/nist_document/metadata.rb +0 -12
  358. data/lib/metanorma/nist_document/root.rb +0 -29
  359. data/lib/metanorma/nist_document/sections/errata.rb +0 -16
  360. data/lib/metanorma/nist_document/sections/errata_clause.rb +0 -20
  361. data/lib/metanorma/nist_document/sections/errata_row.rb +0 -22
  362. data/lib/metanorma/nist_document/sections/nist_preface.rb +0 -30
  363. data/lib/metanorma/nist_document/sections.rb +0 -12
  364. data/lib/metanorma/nist_document.rb +0 -11
  365. data/lib/metanorma/ogc_document/metadata/ogc_bib_data_extension_type.rb +0 -12
  366. data/lib/metanorma/ogc_document/metadata/ogc_bibliographic_item.rb +0 -19
  367. data/lib/metanorma/ogc_document/metadata.rb +0 -12
  368. data/lib/metanorma/ogc_document/root.rb +0 -25
  369. data/lib/metanorma/ogc_document.rb +0 -8
  370. data/lib/metanorma/plateau_document/metadata/plateau_bibliographic_item.rb +0 -13
  371. data/lib/metanorma/plateau_document/metadata.rb +0 -10
  372. data/lib/metanorma/plateau_document/root.rb +0 -29
  373. data/lib/metanorma/plateau_document.rb +0 -10
  374. data/lib/metanorma/registers/setup.rb +0 -166
  375. data/lib/metanorma/registers.rb +0 -7
  376. data/lib/metanorma/ribose_document/metadata/ribose_bib_data_extension_type.rb +0 -20
  377. data/lib/metanorma/ribose_document/metadata/ribose_bibliographic_item.rb +0 -18
  378. data/lib/metanorma/ribose_document/metadata.rb +0 -12
  379. data/lib/metanorma/ribose_document/root.rb +0 -26
  380. data/lib/metanorma/ribose_document.rb +0 -8
  381. data/lib/metanorma/standard_document/annotation_container.rb +0 -39
  382. data/lib/metanorma/standard_document/block_attributes.rb +0 -281
  383. data/lib/metanorma/standard_document/blocks/amend_block.rb +0 -50
  384. data/lib/metanorma/standard_document/blocks/amend_content_block.rb +0 -35
  385. data/lib/metanorma/standard_document/blocks/auto_number.rb +0 -20
  386. data/lib/metanorma/standard_document/blocks/block_source.rb +0 -22
  387. data/lib/metanorma/standard_document/blocks/change_type.rb +0 -21
  388. data/lib/metanorma/standard_document/blocks/element_name.rb +0 -22
  389. data/lib/metanorma/standard_document/blocks/form.rb +0 -38
  390. data/lib/metanorma/standard_document/blocks/image_map_area_type.rb +0 -24
  391. data/lib/metanorma/standard_document/blocks/image_map_area_type_type.rb +0 -21
  392. data/lib/metanorma/standard_document/blocks/image_map_block.rb +0 -32
  393. data/lib/metanorma/standard_document/blocks/image_map_coords.rb +0 -19
  394. data/lib/metanorma/standard_document/blocks/image_map_radius.rb +0 -19
  395. data/lib/metanorma/standard_document/blocks/multilingual_rendering_type.rb +0 -21
  396. data/lib/metanorma/standard_document/blocks/passthrough.rb +0 -3
  397. data/lib/metanorma/standard_document/blocks/requirement_model.rb +0 -20
  398. data/lib/metanorma/standard_document/blocks/source_origin_element.rb +0 -23
  399. data/lib/metanorma/standard_document/blocks/standard_admonition_block.rb +0 -32
  400. data/lib/metanorma/standard_document/blocks/standard_block.rb +0 -28
  401. data/lib/metanorma/standard_document/blocks/standard_block_no_notes.rb +0 -34
  402. data/lib/metanorma/standard_document/blocks/standard_example_block.rb +0 -30
  403. data/lib/metanorma/standard_document/blocks/standard_figure_block.rb +0 -32
  404. data/lib/metanorma/standard_document/blocks/standard_formula_block.rb +0 -30
  405. data/lib/metanorma/standard_document/blocks/standard_note_block.rb +0 -64
  406. data/lib/metanorma/standard_document/blocks/standard_paragraph_block.rb +0 -25
  407. data/lib/metanorma/standard_document/blocks/standard_quote_block.rb +0 -29
  408. data/lib/metanorma/standard_document/blocks/standard_sourcecode_block.rb +0 -32
  409. data/lib/metanorma/standard_document/blocks/standard_table_block.rb +0 -39
  410. data/lib/metanorma/standard_document/blocks/svg_map_block.rb +0 -23
  411. data/lib/metanorma/standard_document/blocks/svg_target_type.rb +0 -20
  412. data/lib/metanorma/standard_document/blocks/table_col.rb +0 -16
  413. data/lib/metanorma/standard_document/blocks/to_c.rb +0 -17
  414. data/lib/metanorma/standard_document/blocks.rb +0 -60
  415. data/lib/metanorma/standard_document/boilerplate.rb +0 -32
  416. data/lib/metanorma/standard_document/elements/add.rb +0 -3
  417. data/lib/metanorma/standard_document/elements/del.rb +0 -3
  418. data/lib/metanorma/standard_document/elements/form_input.rb +0 -27
  419. data/lib/metanorma/standard_document/elements/input.rb +0 -12
  420. data/lib/metanorma/standard_document/elements/input_type.rb +0 -27
  421. data/lib/metanorma/standard_document/elements/label.rb +0 -19
  422. data/lib/metanorma/standard_document/elements/option.rb +0 -27
  423. data/lib/metanorma/standard_document/elements/orientation_type.rb +0 -27
  424. data/lib/metanorma/standard_document/elements/select.rb +0 -32
  425. data/lib/metanorma/standard_document/elements/standard_page_break_element.rb +0 -22
  426. data/lib/metanorma/standard_document/elements/textarea.rb +0 -25
  427. data/lib/metanorma/standard_document/elements.rb +0 -20
  428. data/lib/metanorma/standard_document/lists/standard_definition.rb +0 -24
  429. data/lib/metanorma/standard_document/lists/standard_definition_list.rb +0 -30
  430. data/lib/metanorma/standard_document/lists/standard_definition_term.rb +0 -27
  431. data/lib/metanorma/standard_document/lists/standard_unordered_list.rb +0 -28
  432. data/lib/metanorma/standard_document/lists/unordered_checkable_list_item.rb +0 -26
  433. data/lib/metanorma/standard_document/lists.rb +0 -17
  434. data/lib/metanorma/standard_document/metadata/editorial_group_type.rb +0 -25
  435. data/lib/metanorma/standard_document/metadata/ics_type.rb +0 -26
  436. data/lib/metanorma/standard_document/metadata/metanorma_extension.rb +0 -26
  437. data/lib/metanorma/standard_document/metadata/presentation_metadata.rb +0 -107
  438. data/lib/metanorma/standard_document/metadata/semantic_metadata.rb +0 -18
  439. data/lib/metanorma/standard_document/metadata/standard_bib_data.rb +0 -25
  440. data/lib/metanorma/standard_document/metadata/standard_bib_data_extension_type.rb +0 -37
  441. data/lib/metanorma/standard_document/metadata/structured_identifier_type.rb +0 -48
  442. data/lib/metanorma/standard_document/metadata/technical_committee_type.rb +0 -27
  443. data/lib/metanorma/standard_document/metadata/unitsml/amount_of_substance.rb +0 -19
  444. data/lib/metanorma/standard_document/metadata/unitsml/base_quantity.rb +0 -34
  445. data/lib/metanorma/standard_document/metadata/unitsml/dimension.rb +0 -39
  446. data/lib/metanorma/standard_document/metadata/unitsml/dimension_set.rb +0 -19
  447. data/lib/metanorma/standard_document/metadata/unitsml/electric_current.rb +0 -19
  448. data/lib/metanorma/standard_document/metadata/unitsml/enumerated_root_unit.rb +0 -23
  449. data/lib/metanorma/standard_document/metadata/unitsml/length.rb +0 -19
  450. data/lib/metanorma/standard_document/metadata/unitsml/luminous_intensity.rb +0 -19
  451. data/lib/metanorma/standard_document/metadata/unitsml/mass.rb +0 -19
  452. data/lib/metanorma/standard_document/metadata/unitsml/namespace.rb +0 -17
  453. data/lib/metanorma/standard_document/metadata/unitsml/plane_angle.rb +0 -19
  454. data/lib/metanorma/standard_document/metadata/unitsml/prefix.rb +0 -30
  455. data/lib/metanorma/standard_document/metadata/unitsml/prefix_name.rb +0 -21
  456. data/lib/metanorma/standard_document/metadata/unitsml/prefix_set.rb +0 -19
  457. data/lib/metanorma/standard_document/metadata/unitsml/prefix_symbol.rb +0 -21
  458. data/lib/metanorma/standard_document/metadata/unitsml/quantity.rb +0 -28
  459. data/lib/metanorma/standard_document/metadata/unitsml/quantity_name.rb +0 -21
  460. data/lib/metanorma/standard_document/metadata/unitsml/quantity_set.rb +0 -19
  461. data/lib/metanorma/standard_document/metadata/unitsml/root_units.rb +0 -19
  462. data/lib/metanorma/standard_document/metadata/unitsml/thermodynamic_temperature.rb +0 -19
  463. data/lib/metanorma/standard_document/metadata/unitsml/time.rb +0 -19
  464. data/lib/metanorma/standard_document/metadata/unitsml/unit.rb +0 -32
  465. data/lib/metanorma/standard_document/metadata/unitsml/unit_name.rb +0 -21
  466. data/lib/metanorma/standard_document/metadata/unitsml/unit_set.rb +0 -19
  467. data/lib/metanorma/standard_document/metadata/unitsml/unit_symbol.rb +0 -36
  468. data/lib/metanorma/standard_document/metadata/unitsml/unit_system.rb +0 -23
  469. data/lib/metanorma/standard_document/metadata/unitsml/unitsml_root.rb +0 -28
  470. data/lib/metanorma/standard_document/metadata/unitsml.rb +0 -39
  471. data/lib/metanorma/standard_document/metadata.rb +0 -23
  472. data/lib/metanorma/standard_document/namespace.rb +0 -11
  473. data/lib/metanorma/standard_document/refs/reference_to_term.rb +0 -26
  474. data/lib/metanorma/standard_document/refs/reference_to_termbase.rb +0 -27
  475. data/lib/metanorma/standard_document/refs/standoc_locality_stack.rb +0 -24
  476. data/lib/metanorma/standard_document/refs/standoc_reference_to_citation_element.rb +0 -27
  477. data/lib/metanorma/standard_document/refs/standoc_reference_to_id_element.rb +0 -36
  478. data/lib/metanorma/standard_document/refs/xref_case_type.rb +0 -27
  479. data/lib/metanorma/standard_document/refs/xref_connective_type.rb +0 -27
  480. data/lib/metanorma/standard_document/refs/xref_target_type.rb +0 -25
  481. data/lib/metanorma/standard_document/refs.rb +0 -18
  482. data/lib/metanorma/standard_document/root.rb +0 -10
  483. data/lib/metanorma/standard_document/root_attributes.rb +0 -78
  484. data/lib/metanorma/standard_document/sections/abstract.rb +0 -19
  485. data/lib/metanorma/standard_document/sections/acknowledgements.rb +0 -19
  486. data/lib/metanorma/standard_document/sections/annex_section.rb +0 -69
  487. data/lib/metanorma/standard_document/sections/bibliography_section.rb +0 -20
  488. data/lib/metanorma/standard_document/sections/boilerplate_type.rb +0 -32
  489. data/lib/metanorma/standard_document/sections/clause_hierarchical_section.rb +0 -32
  490. data/lib/metanorma/standard_document/sections/clause_section.rb +0 -91
  491. data/lib/metanorma/standard_document/sections/colophon.rb +0 -16
  492. data/lib/metanorma/standard_document/sections/definition_section.rb +0 -72
  493. data/lib/metanorma/standard_document/sections/floating_section_title.rb +0 -23
  494. data/lib/metanorma/standard_document/sections/floating_title.rb +0 -27
  495. data/lib/metanorma/standard_document/sections/foreword.rb +0 -19
  496. data/lib/metanorma/standard_document/sections/introduction.rb +0 -20
  497. data/lib/metanorma/standard_document/sections/misc_container.rb +0 -31
  498. data/lib/metanorma/standard_document/sections/normative_type.rb +0 -29
  499. data/lib/metanorma/standard_document/sections/preface.rb +0 -36
  500. data/lib/metanorma/standard_document/sections/sections.rb +0 -47
  501. data/lib/metanorma/standard_document/sections/standard_content_section.rb +0 -41
  502. data/lib/metanorma/standard_document/sections/standard_hierarchical_section.rb +0 -30
  503. data/lib/metanorma/standard_document/sections/standard_references_section.rb +0 -74
  504. data/lib/metanorma/standard_document/sections/standard_section.rb +0 -39
  505. data/lib/metanorma/standard_document/sections/terms_section.rb +0 -61
  506. data/lib/metanorma/standard_document/sections.rb +0 -34
  507. data/lib/metanorma/standard_document/standard_document_type.rb +0 -15
  508. data/lib/metanorma/standard_document/terms/abbreviation_type.rb +0 -27
  509. data/lib/metanorma/standard_document/terms/concept.rb +0 -42
  510. data/lib/metanorma/standard_document/terms/definition_collection.rb +0 -24
  511. data/lib/metanorma/standard_document/terms/designation.rb +0 -31
  512. data/lib/metanorma/standard_document/terms/expression_designation.rb +0 -38
  513. data/lib/metanorma/standard_document/terms/expression_type.rb +0 -27
  514. data/lib/metanorma/standard_document/terms/grammar_gender.rb +0 -27
  515. data/lib/metanorma/standard_document/terms/grammar_info.rb +0 -36
  516. data/lib/metanorma/standard_document/terms/graphical_symbol_designation.rb +0 -25
  517. data/lib/metanorma/standard_document/terms/letter_symbol_designation.rb +0 -27
  518. data/lib/metanorma/standard_document/terms/non_verbal_representation.rb +0 -33
  519. data/lib/metanorma/standard_document/terms/related_term.rb +0 -31
  520. data/lib/metanorma/standard_document/terms/related_term_type.rb +0 -28
  521. data/lib/metanorma/standard_document/terms/term.rb +0 -66
  522. data/lib/metanorma/standard_document/terms/term_collection.rb +0 -24
  523. data/lib/metanorma/standard_document/terms/term_definition.rb +0 -29
  524. data/lib/metanorma/standard_document/terms/term_expression.rb +0 -20
  525. data/lib/metanorma/standard_document/terms/term_name_element.rb +0 -29
  526. data/lib/metanorma/standard_document/terms/term_source.rb +0 -29
  527. data/lib/metanorma/standard_document/terms/term_source_status.rb +0 -29
  528. data/lib/metanorma/standard_document/terms/term_source_type.rb +0 -21
  529. data/lib/metanorma/standard_document/terms/verbal_expression.rb +0 -35
  530. data/lib/metanorma/standard_document/terms.rb +0 -33
  531. data/lib/metanorma/standard_document.rb +0 -27
  532. data/lib/metanorma/un_document/blocks/un_admonition_block.rb +0 -86
  533. data/lib/metanorma/un_document/blocks.rb +0 -9
  534. data/lib/metanorma/un_document/metadata/un_bib_data_extension_type.rb +0 -10
  535. data/lib/metanorma/un_document/metadata/un_bibliographic_item.rb +0 -15
  536. data/lib/metanorma/un_document/metadata.rb +0 -12
  537. data/lib/metanorma/un_document/root.rb +0 -37
  538. data/lib/metanorma/un_document/sections/un_abstract_section.rb +0 -48
  539. data/lib/metanorma/un_document/sections/un_preface.rb +0 -40
  540. data/lib/metanorma/un_document/sections/un_sections.rb +0 -24
  541. data/lib/metanorma/un_document/sections.rb +0 -11
  542. data/lib/metanorma/un_document/un_text_element.rb +0 -116
  543. data/lib/metanorma/un_document.rb +0 -13
@@ -7,6 +7,8 @@ module Metanorma
7
7
  # Description of a bibliographic resource.
8
8
  class BibliographicItem < Lutaml::Model::Serializable
9
9
  attribute :id, :string
10
+ attribute :hidden, :boolean
11
+ attribute :suppress_identifier, :boolean
10
12
  attribute :type, Metanorma::Document::Relaton::BibItemType
11
13
  attribute :fetched, Metanorma::Document::Relaton::DateTime
12
14
  attribute :title, Metanorma::Document::Relaton::TypedTitleString,
@@ -65,6 +67,8 @@ module Metanorma
65
67
  xml do
66
68
  element "bibitem"
67
69
  map_attribute "id", to: :id
70
+ map_attribute "hidden", to: :hidden
71
+ map_attribute "suppress_identifier", to: :suppress_identifier
68
72
  map_attribute "type", to: :type_attr
69
73
  map_attribute "anchor", to: :anchor
70
74
  map_attribute "semx-id", to: :semx_id
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Blocks
7
+ # Presentation-layer rendering of a requirement: the fully
8
+ # formatted block content emitted alongside the semantic requirement.
9
+ class FmtProvision < RequirementDescription
10
+ xml do
11
+ element "fmt-provision"
12
+ map_element "p", to: :p
13
+ map_element "ul", to: :ul
14
+ map_element "ol", to: :ol
15
+ map_element "sourcecode", to: :sourcecode
16
+ map_element "table", to: :table
17
+ map_element "example", to: :example
18
+ map_element "note", to: :note
19
+ map_element "figure", to: :figure
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -27,11 +27,17 @@ module Metanorma
27
27
  "Metanorma::Document::Components::MultiParagraph::QuoteBlock",
28
28
  collection: true
29
29
 
30
+ # Presentation XML wraps the note body in a semx slice
31
+ # (<note><semx element="note"><p>…</p></semx></note>).
32
+ attribute :semx, "Metanorma::Document::Components::Inline::SemxElement",
33
+ collection: true
34
+
30
35
  attribute :json_type, :string
31
36
  attribute :type_attr, :string
32
37
  attribute :format, :string
33
38
  attribute :semx_id, :string
34
39
  attribute :autonum, :string
40
+ attribute :number, :string
35
41
 
36
42
  def json_type
37
43
  "note"
@@ -60,6 +66,7 @@ module Metanorma
60
66
  map_attribute "format", to: :format
61
67
  map_attribute "semx-id", to: :semx_id
62
68
  map_attribute "autonum", to: :autonum, render_empty: true
69
+ map_attribute "number", to: :number
63
70
  map_attribute "anchor", to: :anchor
64
71
  map_attribute "removeInRFC", to: :remove_in_rfc
65
72
  map_element "name", to: :name
@@ -69,6 +76,7 @@ module Metanorma
69
76
  map_element "ul", to: :ul
70
77
  map_element "ol", to: :ol
71
78
  map_element "quote", to: :quote
79
+ map_element "semx", to: :semx
72
80
  map_element "fmt-xref-label", to: :fmt_xref_label
73
81
  map_element "fmt-name", to: :fmt_name
74
82
  end
@@ -15,7 +15,16 @@ module Metanorma
15
15
  map_element "subject", to: :subject
16
16
  map_element "classification", to: :classification
17
17
  map_element "description", to: :description
18
+ map_element "identifier", to: :identifier
19
+ map_element "title", to: :title
20
+ map_element "specification", to: :specification
21
+ map_element "measurement-target", to: :measurement_target
22
+ map_element "verification", to: :verification
23
+ map_element "import", to: :import
18
24
  map_element "inherit", to: :inherit
25
+ map_element "fmt-name", to: :fmt_name
26
+ map_element "fmt-xref-label", to: :fmt_xref_label
27
+ map_element "fmt-provision", to: :fmt_provision
19
28
  map_element "requirement", to: :requirement
20
29
  map_element "recommendation", to: :recommendation
21
30
  map_element "permission", to: :permission
@@ -15,7 +15,16 @@ module Metanorma
15
15
  map_element "subject", to: :subject
16
16
  map_element "classification", to: :classification
17
17
  map_element "description", to: :description
18
+ map_element "identifier", to: :identifier
19
+ map_element "title", to: :title
20
+ map_element "specification", to: :specification
21
+ map_element "measurement-target", to: :measurement_target
22
+ map_element "verification", to: :verification
23
+ map_element "import", to: :import
18
24
  map_element "inherit", to: :inherit
25
+ map_element "fmt-name", to: :fmt_name
26
+ map_element "fmt-xref-label", to: :fmt_xref_label
27
+ map_element "fmt-provision", to: :fmt_provision
19
28
  map_element "requirement", to: :requirement
20
29
  map_element "recommendation", to: :recommendation
21
30
  map_element "permission", to: :permission
@@ -10,10 +10,22 @@ module Metanorma
10
10
  attribute :obligation, :string
11
11
  attribute :type, :string
12
12
  attribute :anchor, :string
13
+ attribute :identifier, :string
14
+ attribute :title, Metanorma::Document::Components::DataTypes::FormattedString
13
15
  attribute :subject, :string
14
16
  attribute :classification, RequirementClassification, collection: true
15
17
  attribute :description, RequirementDescription, collection: true
18
+ attribute :specification, RequirementSpecification, collection: true
19
+ attribute :measurement_target, RequirementMeasurementTarget,
20
+ collection: true
21
+ attribute :verification, RequirementVerification, collection: true
22
+ attribute :import, RequirementImport, collection: true
16
23
  attribute :inherit, RequirementInherit, collection: true
24
+ attribute :fmt_name, Metanorma::Document::Components::Inline::FmtNameElement
25
+ attribute :fmt_xref_label,
26
+ Metanorma::Document::Components::Inline::FmtXrefLabelElement,
27
+ collection: true
28
+ attribute :fmt_provision, FmtProvision
17
29
  attribute :requirement, "Metanorma::Document::Components::Blocks::RequirementModel",
18
30
  collection: true
19
31
  attribute :recommendation, "Metanorma::Document::Components::Blocks::RecommendationModel",
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Blocks
7
+ class RequirementImport < RequirementDescription
8
+ xml do
9
+ element "import"
10
+ map_element "p", to: :p
11
+ map_element "ul", to: :ul
12
+ map_element "ol", to: :ol
13
+ map_element "sourcecode", to: :sourcecode
14
+ map_element "table", to: :table
15
+ map_element "example", to: :example
16
+ map_element "note", to: :note
17
+ map_element "figure", to: :figure
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Blocks
7
+ class RequirementMeasurementTarget < RequirementDescription
8
+ xml do
9
+ element "measurement-target"
10
+ map_element "p", to: :p
11
+ map_element "ul", to: :ul
12
+ map_element "ol", to: :ol
13
+ map_element "sourcecode", to: :sourcecode
14
+ map_element "table", to: :table
15
+ map_element "example", to: :example
16
+ map_element "note", to: :note
17
+ map_element "figure", to: :figure
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -15,7 +15,16 @@ module Metanorma
15
15
  map_element "subject", to: :subject
16
16
  map_element "classification", to: :classification
17
17
  map_element "description", to: :description
18
+ map_element "identifier", to: :identifier
19
+ map_element "title", to: :title
20
+ map_element "specification", to: :specification
21
+ map_element "measurement-target", to: :measurement_target
22
+ map_element "verification", to: :verification
23
+ map_element "import", to: :import
18
24
  map_element "inherit", to: :inherit
25
+ map_element "fmt-name", to: :fmt_name
26
+ map_element "fmt-xref-label", to: :fmt_xref_label
27
+ map_element "fmt-provision", to: :fmt_provision
19
28
  map_element "requirement", to: :requirement
20
29
  map_element "recommendation", to: :recommendation
21
30
  map_element "permission", to: :permission
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Blocks
7
+ class RequirementSpecification < RequirementDescription
8
+ xml do
9
+ element "specification"
10
+ map_element "p", to: :p
11
+ map_element "ul", to: :ul
12
+ map_element "ol", to: :ol
13
+ map_element "sourcecode", to: :sourcecode
14
+ map_element "table", to: :table
15
+ map_element "example", to: :example
16
+ map_element "note", to: :note
17
+ map_element "figure", to: :figure
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Blocks
7
+ class RequirementVerification < RequirementDescription
8
+ xml do
9
+ element "verification"
10
+ map_element "p", to: :p
11
+ map_element "ul", to: :ul
12
+ map_element "ol", to: :ol
13
+ map_element "sourcecode", to: :sourcecode
14
+ map_element "table", to: :table
15
+ map_element "example", to: :example
16
+ map_element "note", to: :note
17
+ map_element "figure", to: :figure
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -7,6 +7,7 @@ module Metanorma
7
7
  autoload :BasicBlock, "#{__dir__}/blocks/basic_block"
8
8
  autoload :BasicBlockNoNotes, "#{__dir__}/blocks/basic_block_no_notes"
9
9
  autoload :ClassificationValue, "#{__dir__}/blocks/classification_value"
10
+ autoload :FmtProvision, "#{__dir__}/blocks/fmt_provision"
10
11
  autoload :NoteBlock, "#{__dir__}/blocks/note_block"
11
12
  autoload :Passthrough, "#{__dir__}/blocks/passthrough"
12
13
  autoload :PermissionModel, "#{__dir__}/blocks/permission_model"
@@ -17,7 +18,14 @@ module Metanorma
17
18
  autoload :RequirementDescription,
18
19
  "#{__dir__}/blocks/requirement_description"
19
20
  autoload :RequirementInherit, "#{__dir__}/blocks/requirement_inherit"
21
+ autoload :RequirementImport, "#{__dir__}/blocks/requirement_import"
22
+ autoload :RequirementMeasurementTarget,
23
+ "#{__dir__}/blocks/requirement_measurement_target"
20
24
  autoload :RequirementModel, "#{__dir__}/blocks/requirement_model"
25
+ autoload :RequirementSpecification,
26
+ "#{__dir__}/blocks/requirement_specification"
27
+ autoload :RequirementVerification,
28
+ "#{__dir__}/blocks/requirement_verification"
21
29
  end
22
30
  end
23
31
  end
@@ -19,12 +19,16 @@ module Metanorma
19
19
  collection: true
20
20
  attribute :em, Metanorma::Document::Components::Inline::EmRawElement,
21
21
  collection: true
22
+ attribute :ruby, Metanorma::Document::Components::TextElements::RubyElement,
23
+ collection: true
22
24
  attribute :strong, Metanorma::Document::Components::Inline::StrongRawElement,
23
25
  collection: true
24
26
  attribute :smallcap, Metanorma::Document::Components::Inline::SmallCapElement,
25
27
  collection: true
26
28
  attribute :link, Metanorma::Document::Components::Inline::LinkElement,
27
29
  collection: true
30
+ attribute :fmt_link, Metanorma::Document::Components::Inline::LinkElement,
31
+ collection: true
28
32
  attribute :br, Metanorma::Document::Components::Inline::BrElement,
29
33
  collection: true
30
34
  attribute :p, Metanorma::Document::Components::Paragraphs::ParagraphBlock,
@@ -56,6 +60,8 @@ module Metanorma
56
60
  collection: true
57
61
  attribute :underline, Metanorma::Document::Components::TextElements::UnderlineElement,
58
62
  collection: true
63
+ attribute :note, Metanorma::Document::Components::Blocks::NoteBlock,
64
+ collection: true
59
65
 
60
66
  xml do
61
67
  mixed_content
@@ -68,9 +74,11 @@ module Metanorma
68
74
  map_element "semx", to: :semx
69
75
  map_element "span", to: :span
70
76
  map_element "em", to: :em
77
+ map_element "ruby", to: :ruby
71
78
  map_element "strong", to: :strong
72
79
  map_element "smallcap", to: :smallcap
73
80
  map_element "link", to: :link
81
+ map_element "fmt-link", to: :fmt_link
74
82
  map_element "br", to: :br
75
83
  map_element "p", to: :p
76
84
  map_element "sup", to: :sup
@@ -87,6 +95,7 @@ module Metanorma
87
95
  map_element "table", to: :table
88
96
  map_element "tt", to: :tt
89
97
  map_element "underline", to: :underline
98
+ map_element "note", to: :note
90
99
  end
91
100
  end
92
101
  end
@@ -9,16 +9,20 @@ module Metanorma
9
9
  attribute :height, :string
10
10
  attribute :width, :string
11
11
  attribute :align, :string
12
+ attribute :anchor, :string
12
13
  attribute :semx_id, :string
13
14
  attribute :inline_svg, :string
15
+ attribute :inline_emf, :string
14
16
 
15
17
  xml do
16
18
  element "image"
17
19
  map_attribute "height", to: :height, render_empty: true
18
20
  map_attribute "width", to: :width, render_empty: true
19
21
  map_attribute "align", to: :align
22
+ map_attribute "anchor", to: :anchor
20
23
  map_attribute "semx-id", to: :semx_id
21
24
  map_element "svg", to: :inline_svg, raw: :element
25
+ map_element "emf", to: :inline_emf, raw: :element
22
26
  end
23
27
  end
24
28
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Inline
7
+ # Indication of a break in text rendered as columns (e.g. in
8
+ # multilingual side-by-side rendering).
9
+ class ColumnbreakElement < Lutaml::Model::Serializable
10
+ xml do
11
+ element "columnbreak"
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -6,16 +6,34 @@ module Metanorma
6
6
  module Inline
7
7
  class ConceptElement < Lutaml::Model::Serializable
8
8
  attribute :id, :string
9
+ attribute :bold, :boolean
10
+ attribute :ital, :boolean
11
+ attribute :ref, :boolean
12
+ attribute :linkmention, :boolean
13
+ attribute :linkref, :boolean
9
14
  attribute :refterm, :string, collection: true
10
15
  attribute :renderterm, :string, collection: true
11
16
  attribute :xref, XrefElement, collection: true
17
+ attribute :eref, Metanorma::Document::Components::Inline::ErefElement
18
+ attribute :erefstack, Metanorma::Document::Components::Inline::ErefStack
19
+ attribute :termref, Metanorma::Document::Components::Inline::TermrefElement
20
+ attribute :errormsg, Metanorma::Document::Components::Inline::ErrorMessage
12
21
 
13
22
  xml do
14
23
  element "concept"
15
24
  map_attribute "id", to: :id
25
+ map_attribute "bold", to: :bold
26
+ map_attribute "ital", to: :ital
27
+ map_attribute "ref", to: :ref
28
+ map_attribute "linkmention", to: :linkmention
29
+ map_attribute "linkref", to: :linkref
16
30
  map_element "refterm", to: :refterm
17
31
  map_element "renderterm", to: :renderterm
18
32
  map_element "xref", to: :xref
33
+ map_element "eref", to: :eref
34
+ map_element "erefstack", to: :erefstack
35
+ map_element "termref", to: :termref
36
+ map_element "errormsg", to: :errormsg
19
37
  end
20
38
  end
21
39
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Inline
7
+ # Localisable rendering of a date in body content.
8
+ class DateElement < Lutaml::Model::Serializable
9
+ attribute :language, :string
10
+ attribute :script, :string
11
+ attribute :value, :string
12
+ attribute :format, :string
13
+ attribute :fmt_date_inline,
14
+ "Metanorma::Document::Components::Inline::FmtDateInlineElement",
15
+ collection: true
16
+
17
+ xml do
18
+ element "date"
19
+ map_attribute "language", to: :language
20
+ map_attribute "script", to: :script
21
+ map_attribute "value", to: :value
22
+ map_attribute "format", to: :format
23
+ map_element "fmt-date-inline", to: :fmt_date_inline
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -7,6 +7,7 @@ module Metanorma
7
7
  class DisplayTextElement < Lutaml::Model::Serializable
8
8
  attribute :text, :string, collection: true
9
9
  attribute :em, EmRawElement, collection: true
10
+ attribute :ruby, "Metanorma::Document::Components::TextElements::RubyElement", collection: true
10
11
  attribute :strong, StrongRawElement, collection: true
11
12
  attribute :sub, SubElement, collection: true
12
13
  attribute :sup, SupElement, collection: true
@@ -23,6 +24,7 @@ module Metanorma
23
24
  mixed_content
24
25
  map_content to: :text
25
26
  map_element "em", to: :em
27
+ map_element "ruby", to: :ruby
26
28
  map_element "strong", to: :strong
27
29
  map_element "sub", to: :sub
28
30
  map_element "sup", to: :sup
@@ -4,19 +4,18 @@ module Metanorma
4
4
  module Document
5
5
  module Components
6
6
  module Inline
7
+ # Emphasised raw text: accepts the full inline vocabulary as
8
+ # children (footnotes, links, nested formatting, math) so no
9
+ # inline payload inside <em> is dropped at parse time.
7
10
  class EmRawElement < Lutaml::Model::Serializable
8
- attribute :text, :string, collection: true
9
- attribute :semx, "Metanorma::Document::Components::Inline::SemxElement",
10
- collection: true
11
- attribute :span, "Metanorma::Document::Components::Inline::SpanElement",
12
- collection: true
11
+ include Metanorma::Document::Components::Inline::Vocabulary
13
12
 
14
13
  xml do
15
14
  element "em"
16
15
  mixed_content
17
16
  map_content to: :text
18
- map_element "semx", to: :semx
19
- map_element "span", to: :span
17
+ Metanorma::Document::Components::Inline::Vocabulary::VocabularyXmlMapping
18
+ .apply_inline_mappings(self)
20
19
  end
21
20
  end
22
21
  end
@@ -4,34 +4,60 @@ module Metanorma
4
4
  module Document
5
5
  module Components
6
6
  module Inline
7
+ # The eref content contract (erefAttributes, CitationType,
8
+ # ErefBody) shared by the semantic element and its rendered
9
+ # twins fmt-eref/fmt-origin (identical grammar shapes).
10
+ # Declared as a module and re-applied per class: lutaml-model
11
+ # neither inherits xml mappings into a redeclared `xml do`
12
+ # block nor inherits the attribute registry, so every
13
+ # shape-sharing class applies both halves in full.
14
+ module ErefContract
15
+ module_function
16
+
17
+ def declare_attributes(base)
18
+ base.attribute :id, :string
19
+ base.attribute :type, :string
20
+ base.attribute :bibitemid, :string
21
+ base.attribute :citeas, :string
22
+ base.attribute :normative, :boolean
23
+ base.attribute :alt, :string
24
+ base.attribute :display_format, :string
25
+ base.attribute :relative, :string
26
+ base.attribute :connective, :string
27
+ base.attribute :custom_connective, :string
28
+ base.attribute :locality_stack, Metanorma::Document::Relaton::LocalityStack,
29
+ collection: true
30
+ base.attribute :locality, Metanorma::Document::Relaton::BibItemLocality,
31
+ collection: true
32
+ end
33
+
34
+ def apply_mapping(mapping)
35
+ mapping.mixed_content
36
+ mapping.map_attribute "id", to: :id
37
+ mapping.map_attribute "type", to: :type
38
+ mapping.map_attribute "bibitemid", to: :bibitemid
39
+ mapping.map_attribute "citeas", to: :citeas
40
+ mapping.map_attribute "normative", to: :normative
41
+ mapping.map_attribute "alt", to: :alt
42
+ mapping.map_attribute "displayFormat", to: :display_format
43
+ mapping.map_attribute "relative", to: :relative
44
+ mapping.map_attribute "connective", to: :connective
45
+ mapping.map_attribute "custom-connective", to: :custom_connective
46
+ mapping.map_element "localityStack", to: :locality_stack
47
+ mapping.map_element "locality", to: :locality
48
+ mapping.map_content to: :text
49
+ Vocabulary::VocabularyXmlMapping.apply_inline_mappings(mapping)
50
+ end
51
+ end
52
+
7
53
  class ErefElement < Lutaml::Model::Serializable
8
54
  include Inline::Vocabulary
9
55
 
10
- attribute :id, :string
11
- attribute :type, :string
12
- attribute :bibitemid, :string
13
- attribute :citeas, :string
14
- attribute :normative, :boolean
15
- attribute :alt, :string
16
- attribute :display_format, :string
17
- attribute :relative, :string
18
- attribute :locality_stack, Metanorma::Document::Relaton::LocalityStack,
19
- collection: true
56
+ ErefContract.declare_attributes(self)
20
57
 
21
58
  xml do
22
59
  element "eref"
23
- mixed_content
24
- map_attribute "id", to: :id
25
- map_attribute "type", to: :type
26
- map_attribute "bibitemid", to: :bibitemid
27
- map_attribute "citeas", to: :citeas
28
- map_attribute "normative", to: :normative
29
- map_attribute "alt", to: :alt
30
- map_attribute "displayFormat", to: :display_format
31
- map_attribute "relative", to: :relative
32
- map_element "localityStack", to: :locality_stack
33
- map_content to: :text
34
- Vocabulary::VocabularyXmlMapping.apply_inline_mappings(self)
60
+ ErefContract.apply_mapping(self)
35
61
  end
36
62
  end
37
63
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Inline
7
+ # Set of cross-references to bibliographic references,
8
+ # joined with connectives.
9
+ class ErefStack < Lutaml::Model::Serializable
10
+ attribute :id, :string
11
+ attribute :eref, Metanorma::Document::Components::Inline::ErefElement,
12
+ collection: true
13
+
14
+ xml do
15
+ element "erefstack"
16
+ map_attribute "id", to: :id
17
+ map_element "eref", to: :eref
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Inline
7
+ # Generator-only error message carried in place of an unresolved
8
+ # concept or related-term cross-reference.
9
+ class ErrorMessage < Lutaml::Model::Serializable
10
+ include Metanorma::Document::Components::Inline::Vocabulary
11
+
12
+ attribute :index_xref,
13
+ Metanorma::Document::Components::EmptyElements::IndexElement,
14
+ collection: true
15
+
16
+ xml do
17
+ element "errormsg"
18
+ mixed_content
19
+ map_content to: :text
20
+ map_element "index-xref", to: :index_xref
21
+ Metanorma::Document::Components::Inline::Vocabulary::VocabularyXmlMapping
22
+ .apply_inline_mappings(self)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Inline
7
+ # Presentation-layer rendering of an inline date.
8
+ class FmtDateElement < Lutaml::Model::Serializable
9
+ include RenderedDisplay
10
+
11
+ attribute :id, :string
12
+ attribute :text, :string, collection: true
13
+ attribute :span, SpanElement, collection: true
14
+ attribute :semx, SemxElement, collection: true
15
+
16
+ xml do
17
+ element "fmt-date"
18
+ mixed_content
19
+ map_attribute "id", to: :id
20
+ map_content to: :text
21
+ map_element "span", to: :span
22
+ map_element "semx", to: :semx
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metanorma
4
+ module Document
5
+ module Components
6
+ module Inline
7
+ # Rendered counterpart of an inline `<date>`: the i18n'd
8
+ # rendering of a value/format-marked date, appearing inside the
9
+ # semantic date element.
10
+ class FmtDateInlineElement < Lutaml::Model::Serializable
11
+ include RenderedDisplay
12
+
13
+ attribute :text, :string, collection: true
14
+ attribute :semx, SemxElement, collection: true
15
+
16
+ xml do
17
+ element "fmt-date-inline"
18
+ mixed_content
19
+ map_content to: :text
20
+ map_element "semx", to: :semx
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end