metanorma-iso 3.5.0 → 3.5.1.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 (461) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +731 -0
  5. data/CLAUDE.md +119 -0
  6. data/Gemfile +37 -6
  7. data/README.adoc +30 -8
  8. data/TODO.docx/P0-001-sectpr-header-footer-refs.md +89 -0
  9. data/TODO.docx/P0-002-sectpr-header-footer-refs-detail.md +30 -0
  10. data/TODO.docx/P0-003-body-sectpr-differences.md +70 -0
  11. data/TODO.docx/P0-004-body-sectpr-structure.md +53 -0
  12. data/TODO.docx/P0-005-word-unreadable-content.md +28 -0
  13. data/TODO.docx/P1-001-missing-images.md +39 -0
  14. data/TODO.docx/P1-002-figures-images-content.md +67 -0
  15. data/TODO.docx/P1-003-subfigure-descriptions.md +25 -0
  16. data/TODO.docx/P1-004-copyright-on-cover-page.md +57 -0
  17. data/TODO.docx/P1-005-copyright-address-block.md +28 -0
  18. data/TODO.docx/P1-006-duplicate-boilerplate.md +45 -0
  19. data/TODO.docx/P1-007-missing-page-breaks.md +76 -0
  20. data/TODO.docx/P1-008-missing-bookmarks-hyperlinks.md +29 -0
  21. data/TODO.docx/P1-009-bookmarks-hyperlinks-detail.md +29 -0
  22. data/TODO.docx/P1-010-normref-formatting.md +43 -0
  23. data/TODO.docx/P1-011-normref-footnote-markers.md +28 -0
  24. data/TODO.docx/P1-012-normref-style-and-markers.md +46 -0
  25. data/TODO.docx/P1-013-inline-math-omml.md +33 -0
  26. data/TODO.docx/P2-001-character-styles-gap.md +55 -0
  27. data/TODO.docx/P2-002-style-alignment-gaps.md +57 -0
  28. data/TODO.docx/P2-003-missing-rstyles.md +55 -0
  29. data/TODO.docx/P2-004-toc-entries-wiring.md +53 -0
  30. data/TODO.docx/P2-005-toc-tab-separator.md +69 -0
  31. data/TODO.docx/P2-006-cover-from-model.md +84 -0
  32. data/TODO.docx/P2-007-cover-page-structure.md +74 -0
  33. data/TODO.docx/P2-008-cover-page-detail.md +71 -0
  34. data/TODO.docx/P2-009-boilerplate-from-model.md +87 -0
  35. data/TODO.docx/P2-010-note-example-count.md +45 -0
  36. data/TODO.docx/P2-011-paragraph-count-mismatch.md +25 -0
  37. data/TODO.docx/P2-012-section-breaks-headers.md +35 -0
  38. data/TODO.docx/P2-013-list-item-style.md +16 -0
  39. data/TODO.docx/P2-014-xref-text-concatenation.md +13 -0
  40. data/TODO.docx/P2-015-fallback-chain-elimination.md +124 -0
  41. data/TODO.docx/P2-016-style-exclusion-list.md +169 -0
  42. data/TODO.docx/P3-001-sts-roundtrip-gaps.md +75 -0
  43. data/TODO.docx/P3-002-sts-gap-analysis.md +175 -0
  44. data/TODO.docx/P3-003-sts-spec-coverage.md +151 -0
  45. data/TODO.docx/P3-004-sts-missing-transformers.md +71 -0
  46. data/TODO.docx/P3-005-e2e-rice-spec.md +339 -0
  47. data/TODO.docx/P3-006-amendment-doctype.md +38 -0
  48. data/TODO.docx/P3-007-verify-word-opens.md +31 -0
  49. data/TODO.docx/P3-008-architecture-root-cause.md +119 -0
  50. data/TODO.docx/README.md +81 -0
  51. data/TODO.docx/REF-001-iso-template-style-audit.md +413 -0
  52. data/TODO.fixup-sts/01-remove-require-relative.md +32 -0
  53. data/TODO.fixup-sts/02-remove-ivar-set.md +31 -0
  54. data/TODO.fixup-sts/03-replace-send-with-public-send.md +34 -0
  55. data/TODO.fixup-sts/04-add-source-document.md +53 -0
  56. data/TODO.fixup-sts/05-add-model-builder.md +55 -0
  57. data/TODO.fixup-sts/06-public-api.md +52 -0
  58. data/TODO.fixup-sts/07-html-renderer-core.md +65 -0
  59. data/TODO.fixup-sts/08-html-renderer-templates.md +28 -0
  60. data/TODO.fixup-sts/09-html-renderer-assets.md +36 -0
  61. data/TODO.fixup-sts/10-wire-sts-html-output.md +26 -0
  62. data/TODO.fixup-sts/11-specs-public-api.md +25 -0
  63. data/TODO.fixup-sts/12-specs-html-renderer.md +30 -0
  64. data/TODO.fixup-sts/13-demo-rice-e2e.md +101 -0
  65. data/TODO.fixup-sts/14-migrate-isosts-to-nisosts.md +97 -0
  66. data/TODO.fixup-sts/15-migrate-model-builder.md +45 -0
  67. data/TODO.fixup-sts/16-migrate-iso-meta-transformer.md +52 -0
  68. data/TODO.fixup-sts/17-migrate-content-transformers.md +51 -0
  69. data/TODO.fixup-sts/18-migrate-inline-transformer.md +45 -0
  70. data/TODO.fixup-sts/19-migrate-html-renderer.md +51 -0
  71. data/TODO.fixup-sts/20-update-specs.md +62 -0
  72. data/TODO.fixup-sts/21-verify-rice-e2e.md +71 -0
  73. data/TODO.validate/01-foundation-model-validator.md +329 -0
  74. data/TODO.validate/02-declarative-preface-foreword-required.md +47 -0
  75. data/TODO.validate/03-declarative-cleanup-audit.md +29 -0
  76. data/TODO.validate/04-rule-iso2-iso3-subcommittee-types.md +51 -0
  77. data/TODO.validate/05-rule-iso5-doctype.md +45 -0
  78. data/TODO.validate/06-rule-iso6-iteration.md +32 -0
  79. data/TODO.validate/07-rule-iso4-iso35-termdef-style.md +24 -0
  80. data/TODO.validate/08-rule-iso7-subfigure.md +20 -0
  81. data/TODO.validate/09-rule-iso8-bibitem-unpublished.md +21 -0
  82. data/TODO.validate/10-rule-iso42-normative-bibitem.md +20 -0
  83. data/TODO.validate/11-rule-iso10-iso15-title-pairing.md +26 -0
  84. data/TODO.validate/12-rule-iso16-subpart-iec.md +18 -0
  85. data/TODO.validate/13-rule-iso17-iso18-title-names-doctype.md +18 -0
  86. data/TODO.validate/14-rule-iso19-iso20-title-siblings.md +19 -0
  87. data/TODO.validate/15-rule-iso23-foreword-structure.md +20 -0
  88. data/TODO.validate/16-rule-iso24-normref-structure.md +49 -0
  89. data/TODO.validate/17-rule-iso25-iso26-iso27-symbols.md +21 -0
  90. data/TODO.validate/18-rule-iso29-iso30-iso31-section-presence.md +19 -0
  91. data/TODO.validate/19-rule-section-sequence.md +29 -0
  92. data/TODO.validate/20-rule-iso39-scope-subclauses.md +17 -0
  93. data/TODO.validate/21-rule-iso43-only-child-clause.md +18 -0
  94. data/TODO.validate/22-rule-iso44-iso45-vocab-terms-titles.md +20 -0
  95. data/TODO.validate/23-rule-iso21-iso22-unreferenced-assets.md +23 -0
  96. data/TODO.validate/24-rule-iso46-iso47-iso48-see-xrefs.md +24 -0
  97. data/TODO.validate/25-rule-iso49-locality-erefs.md +20 -0
  98. data/TODO.validate/26-rule-iso50-iso51-term-xrefs.md +21 -0
  99. data/TODO.validate/27-rule-list-punctuation-and-counts.md +25 -0
  100. data/TODO.validate/28-rule-style-numeric-percent-units.md +24 -0
  101. data/TODO.validate/29-rule-style-requirements-ambig-misspell.md +23 -0
  102. data/TODO.validate/30-rule-standoc36-unique-ids-anchors.md +43 -0
  103. data/TODO.validate/31-structural-grammar-rule.md +45 -0
  104. data/TODO.validate/32-rng-and-jing-removal.md +49 -0
  105. data/TODO.validate/33-upstream-pr-metanorma-document-declarative.md +85 -0
  106. data/TODO.validate/34-standoc-migration-followup.md +108 -0
  107. data/TODO.validate/35-public-api-cli.md +123 -0
  108. data/TODO.validate/36-model-ownership-migration.md +118 -0
  109. data/TODO.validate/ARCHITECTURE.md +220 -0
  110. data/TODO.validate/README.md +104 -0
  111. data/data/extract_styles.rb +398 -0
  112. data/data/generate_rice_docx.rb +25 -0
  113. data/data/iso-dis/doc_defaults.yml +18 -0
  114. data/data/iso-dis/document_metadata.yml +34 -0
  115. data/data/iso-dis/numbering.yml +698 -0
  116. data/data/iso-dis/style_mapping.yml +246 -0
  117. data/data/iso-dis/styles.yml +4523 -0
  118. data/data/iso-dis/template.docx +0 -0
  119. data/data/iso-simple/doc_defaults.yml +10 -0
  120. data/data/iso-simple/numbering.yml +1308 -0
  121. data/data/iso-simple/style_mapping.yml +100 -0
  122. data/data/iso-simple/styles.yml +1106 -0
  123. data/data/iso-simple/template.dotx +0 -0
  124. data/data/iso_style_mapping.yml +120 -0
  125. data/data/swap_test.rb +51 -0
  126. data/exe/metanorma-iso-validate +91 -0
  127. data/lib/html2doc/lists.rb +7 -3
  128. data/lib/isodoc/iso/docx/adapter.rb +545 -0
  129. data/lib/isodoc/iso/docx/bibdata_text.rb +147 -0
  130. data/lib/isodoc/iso/docx/boilerplate_renderer.rb +136 -0
  131. data/lib/isodoc/iso/docx/box_wrapper.rb +59 -0
  132. data/lib/isodoc/iso/docx/colophon_renderer.rb +24 -0
  133. data/lib/isodoc/iso/docx/comment_renderer.rb +90 -0
  134. data/lib/isodoc/iso/docx/context.rb +239 -0
  135. data/lib/isodoc/iso/docx/core_properties_builder.rb +214 -0
  136. data/lib/isodoc/iso/docx/cover_renderer.rb +354 -0
  137. data/lib/isodoc/iso/docx/definition_list_renderer.rb +74 -0
  138. data/lib/isodoc/iso/docx/document_properties.rb +422 -0
  139. data/lib/isodoc/iso/docx/errors.rb +84 -0
  140. data/lib/isodoc/iso/docx/formula_renderer.rb +218 -0
  141. data/lib/isodoc/iso/docx/header_footer_renderer.rb +100 -0
  142. data/lib/isodoc/iso/docx/indexsect_renderer.rb +36 -0
  143. data/lib/isodoc/iso/docx/inline.rb +468 -0
  144. data/lib/isodoc/iso/docx/inline_renderers/annotation_end_renderer.rb +36 -0
  145. data/lib/isodoc/iso/docx/inline_renderers/annotation_start_renderer.rb +29 -0
  146. data/lib/isodoc/iso/docx/inline_renderers/asciimath_renderer.rb +23 -0
  147. data/lib/isodoc/iso/docx/inline_renderers/base.rb +44 -0
  148. data/lib/isodoc/iso/docx/inline_renderers/bcp14_renderer.rb +24 -0
  149. data/lib/isodoc/iso/docx/inline_renderers/bold_renderer.rb +43 -0
  150. data/lib/isodoc/iso/docx/inline_renderers/bookmark_renderer.rb +38 -0
  151. data/lib/isodoc/iso/docx/inline_renderers/break_renderer.rb +20 -0
  152. data/lib/isodoc/iso/docx/inline_renderers/callout_renderer.rb +23 -0
  153. data/lib/isodoc/iso/docx/inline_renderers/eref_renderer.rb +30 -0
  154. data/lib/isodoc/iso/docx/inline_renderers/fmt_xref_renderer.rb +50 -0
  155. data/lib/isodoc/iso/docx/inline_renderers/footnote_renderer.rb +49 -0
  156. data/lib/isodoc/iso/docx/inline_renderers/image_renderer.rb +52 -0
  157. data/lib/isodoc/iso/docx/inline_renderers/italic_renderer.rb +43 -0
  158. data/lib/isodoc/iso/docx/inline_renderers/keyword_renderer.rb +23 -0
  159. data/lib/isodoc/iso/docx/inline_renderers/link_renderer.rb +38 -0
  160. data/lib/isodoc/iso/docx/inline_renderers/mixed_inline_fallback_renderer.rb +22 -0
  161. data/lib/isodoc/iso/docx/inline_renderers/monospace_renderer.rb +23 -0
  162. data/lib/isodoc/iso/docx/inline_renderers/null_renderer.rb +23 -0
  163. data/lib/isodoc/iso/docx/inline_renderers/page_break_renderer.rb +21 -0
  164. data/lib/isodoc/iso/docx/inline_renderers/raw_paragraph_renderer.rb +44 -0
  165. data/lib/isodoc/iso/docx/inline_renderers/registry.rb +168 -0
  166. data/lib/isodoc/iso/docx/inline_renderers/semx_renderer.rb +24 -0
  167. data/lib/isodoc/iso/docx/inline_renderers/smallcap_renderer.rb +23 -0
  168. data/lib/isodoc/iso/docx/inline_renderers/span_renderer.rb +32 -0
  169. data/lib/isodoc/iso/docx/inline_renderers/stem_renderer.rb +29 -0
  170. data/lib/isodoc/iso/docx/inline_renderers/strikethrough_renderer.rb +23 -0
  171. data/lib/isodoc/iso/docx/inline_renderers/subscript_renderer.rb +41 -0
  172. data/lib/isodoc/iso/docx/inline_renderers/superscript_renderer.rb +41 -0
  173. data/lib/isodoc/iso/docx/inline_renderers/tab_renderer.rb +20 -0
  174. data/lib/isodoc/iso/docx/inline_renderers/term_expression_renderer.rb +19 -0
  175. data/lib/isodoc/iso/docx/inline_renderers/term_name_renderer.rb +19 -0
  176. data/lib/isodoc/iso/docx/inline_renderers/underline_renderer.rb +23 -0
  177. data/lib/isodoc/iso/docx/inline_renderers/xref_renderer.rb +31 -0
  178. data/lib/isodoc/iso/docx/inline_renderers.rb +60 -0
  179. data/lib/isodoc/iso/docx/middle_title_renderer.rb +100 -0
  180. data/lib/isodoc/iso/docx/model_utils.rb +196 -0
  181. data/lib/isodoc/iso/docx/page_scheme.rb +48 -0
  182. data/lib/isodoc/iso/docx/preface_renderer.rb +92 -0
  183. data/lib/isodoc/iso/docx/renderers/admonition_renderer.rb +74 -0
  184. data/lib/isodoc/iso/docx/renderers/amend_renderer.rb +60 -0
  185. data/lib/isodoc/iso/docx/renderers/annex_renderer.rb +26 -0
  186. data/lib/isodoc/iso/docx/renderers/base.rb +81 -0
  187. data/lib/isodoc/iso/docx/renderers/bibliography_renderer.rb +96 -0
  188. data/lib/isodoc/iso/docx/renderers/clause_renderer.rb +25 -0
  189. data/lib/isodoc/iso/docx/renderers/definition_list_renderer.rb +69 -0
  190. data/lib/isodoc/iso/docx/renderers/example_renderer.rb +31 -0
  191. data/lib/isodoc/iso/docx/renderers/figure_renderer.rb +107 -0
  192. data/lib/isodoc/iso/docx/renderers/horizontal_rule_renderer.rb +17 -0
  193. data/lib/isodoc/iso/docx/renderers/image_renderer.rb +160 -0
  194. data/lib/isodoc/iso/docx/renderers/note_renderer.rb +32 -0
  195. data/lib/isodoc/iso/docx/renderers/null_renderer.rb +18 -0
  196. data/lib/isodoc/iso/docx/renderers/ordered_list_renderer.rb +46 -0
  197. data/lib/isodoc/iso/docx/renderers/page_break_renderer.rb +17 -0
  198. data/lib/isodoc/iso/docx/renderers/paragraph_renderer.rb +187 -0
  199. data/lib/isodoc/iso/docx/renderers/quote_renderer.rb +69 -0
  200. data/lib/isodoc/iso/docx/renderers/references_renderer.rb +72 -0
  201. data/lib/isodoc/iso/docx/renderers/registry.rb +63 -0
  202. data/lib/isodoc/iso/docx/renderers/section_renderer.rb +78 -0
  203. data/lib/isodoc/iso/docx/renderers/table_attachment_buffer.rb +55 -0
  204. data/lib/isodoc/iso/docx/renderers/table_cell_element/base.rb +28 -0
  205. data/lib/isodoc/iso/docx/renderers/table_cell_element/cell_target.rb +30 -0
  206. data/lib/isodoc/iso/docx/renderers/table_cell_element/list_handler.rb +52 -0
  207. data/lib/isodoc/iso/docx/renderers/table_cell_element/note_handler.rb +26 -0
  208. data/lib/isodoc/iso/docx/renderers/table_cell_element/paragraph_handler.rb +27 -0
  209. data/lib/isodoc/iso/docx/renderers/table_cell_element/registry.rb +110 -0
  210. data/lib/isodoc/iso/docx/renderers/table_cell_element.rb +28 -0
  211. data/lib/isodoc/iso/docx/renderers/table_renderer.rb +266 -0
  212. data/lib/isodoc/iso/docx/renderers/term_renderer.rb +253 -0
  213. data/lib/isodoc/iso/docx/renderers/terms_section_renderer.rb +102 -0
  214. data/lib/isodoc/iso/docx/renderers/unordered_list_renderer.rb +47 -0
  215. data/lib/isodoc/iso/docx/renderers/walker.rb +98 -0
  216. data/lib/isodoc/iso/docx/renderers.rb +44 -0
  217. data/lib/isodoc/iso/docx/section_manager.rb +198 -0
  218. data/lib/isodoc/iso/docx/sourcecode_renderer.rb +129 -0
  219. data/lib/isodoc/iso/docx/style_library.rb +85 -0
  220. data/lib/isodoc/iso/docx/style_mapping_validator.rb +132 -0
  221. data/lib/isodoc/iso/docx/style_resolver.rb +238 -0
  222. data/lib/isodoc/iso/docx/template_extractor.rb +454 -0
  223. data/lib/isodoc/iso/docx/template_provenance.rb +133 -0
  224. data/lib/isodoc/iso/docx/toc_builder.rb +268 -0
  225. data/lib/isodoc/iso/docx.rb +55 -0
  226. data/lib/isodoc/iso/docx_style_mapping.rb +132 -0
  227. data/lib/isodoc/iso/init.rb +3 -2
  228. data/lib/isodoc/iso/iso.amendment.xsl +527 -289
  229. data/lib/isodoc/iso/iso.international-standard.xsl +527 -289
  230. data/lib/isodoc/iso/metadata.rb +5 -5
  231. data/lib/isodoc/iso/pdf_convert.rb +1 -3
  232. data/lib/isodoc/iso/presentation_bibdata.rb +2 -2
  233. data/lib/isodoc/iso/presentation_origin.rb +5 -5
  234. data/lib/isodoc/iso/presentation_terms.rb +1 -1
  235. data/lib/isodoc/iso/presentation_xml_convert.rb +1 -1
  236. data/lib/isodoc/iso/presentation_xref.rb +11 -3
  237. data/lib/isodoc/iso/word_dis_styles.rb +4 -4
  238. data/lib/isodoc/iso/xref.rb +2 -2
  239. data/lib/isodoc/iso/xref_figure.rb +3 -2
  240. data/lib/metanorma/iso/api.rb +125 -0
  241. data/lib/metanorma/iso/base.rb +1 -1
  242. data/lib/metanorma/iso/citation_style.rb +28 -0
  243. data/lib/metanorma/iso/cleanup.rb +1 -1
  244. data/lib/metanorma/iso/cleanup_biblio.rb +22 -11
  245. data/lib/metanorma/iso/document/annotation_container.rb +7 -0
  246. data/lib/metanorma/iso/document/blocks/iso_admonition_block.rb +27 -0
  247. data/lib/metanorma/iso/document/blocks/iso_admonition_type.rb +25 -0
  248. data/lib/metanorma/iso/document/blocks.rb +12 -0
  249. data/lib/metanorma/iso/document/boilerplate.rb +7 -0
  250. data/lib/metanorma/iso/document/metadata/abstract_title.rb +44 -0
  251. data/lib/metanorma/iso/document/metadata/doc_identifier.rb +26 -0
  252. data/lib/metanorma/iso/document/metadata/doctype_element.rb +20 -0
  253. data/lib/metanorma/iso/document/metadata/ics.rb +19 -0
  254. data/lib/metanorma/iso/document/metadata/iec_document_category.rb +23 -0
  255. data/lib/metanorma/iso/document/metadata/iso_bib_data_extension_type.rb +38 -0
  256. data/lib/metanorma/iso/document/metadata/iso_bibliographic_item.rb +216 -0
  257. data/lib/metanorma/iso/document/metadata/iso_document_id.rb +46 -0
  258. data/lib/metanorma/iso/document/metadata/iso_document_stage_codes.rb +26 -0
  259. data/lib/metanorma/iso/document/metadata/iso_document_status.rb +26 -0
  260. data/lib/metanorma/iso/document/metadata/iso_document_substage_codes.rb +26 -0
  261. data/lib/metanorma/iso/document/metadata/iso_document_type.rb +25 -0
  262. data/lib/metanorma/iso/document/metadata/iso_localized_title.rb +61 -0
  263. data/lib/metanorma/iso/document/metadata/iso_project_group.rb +32 -0
  264. data/lib/metanorma/iso/document/metadata/iso_sub_group.rb +38 -0
  265. data/lib/metanorma/iso/document/metadata/language_element.rb +18 -0
  266. data/lib/metanorma/iso/document/metadata/metanorma_extension.rb +9 -0
  267. data/lib/metanorma/iso/document/metadata/project_number.rb +22 -0
  268. data/lib/metanorma/iso/document/metadata/script_element.rb +18 -0
  269. data/lib/metanorma/iso/document/metadata/stage_element.rb +26 -0
  270. data/lib/metanorma/iso/document/metadata/stagename_element.rb +18 -0
  271. data/lib/metanorma/iso/document/metadata/structured_identifier.rb +16 -0
  272. data/lib/metanorma/iso/document/metadata/title_amd.rb +12 -0
  273. data/lib/metanorma/iso/document/metadata/title_amendment_prefix.rb +12 -0
  274. data/lib/metanorma/iso/document/metadata/title_collection.rb +47 -0
  275. data/lib/metanorma/iso/document/metadata/title_full.rb +12 -0
  276. data/lib/metanorma/iso/document/metadata/title_intro.rb +12 -0
  277. data/lib/metanorma/iso/document/metadata/title_main.rb +12 -0
  278. data/lib/metanorma/iso/document/metadata/title_part.rb +12 -0
  279. data/lib/metanorma/iso/document/metadata/title_part_prefix.rb +12 -0
  280. data/lib/metanorma/iso/document/metadata.rb +44 -0
  281. data/lib/metanorma/iso/document/models.rb +34 -0
  282. data/lib/metanorma/iso/document/root.rb +26 -0
  283. data/lib/metanorma/iso/document/sections/colophon.rb +3 -0
  284. data/lib/metanorma/iso/document/sections/iso_abstract_section.rb +15 -0
  285. data/lib/metanorma/iso/document/sections/iso_amendment_clause.rb +24 -0
  286. data/lib/metanorma/iso/document/sections/iso_annex_section.rb +50 -0
  287. data/lib/metanorma/iso/document/sections/iso_clause_section.rb +56 -0
  288. data/lib/metanorma/iso/document/sections/iso_foreword_section.rb +33 -0
  289. data/lib/metanorma/iso/document/sections/iso_preface.rb +51 -0
  290. data/lib/metanorma/iso/document/sections/iso_sections.rb +51 -0
  291. data/lib/metanorma/iso/document/sections/iso_terms_section.rb +76 -0
  292. data/lib/metanorma/iso/document/sections.rb +17 -0
  293. data/lib/metanorma/iso/document/terms/iso_term.rb +71 -0
  294. data/lib/metanorma/iso/document/terms/iso_term_collection.rb +20 -0
  295. data/lib/metanorma/iso/document/terms/term_definition.rb +30 -0
  296. data/lib/metanorma/iso/document/terms/term_designation.rb +44 -0
  297. data/lib/metanorma/iso/document/terms/term_domain_element.rb +18 -0
  298. data/lib/metanorma/iso/document/terms/term_example.rb +12 -0
  299. data/lib/metanorma/iso/document/terms/term_expression.rb +10 -0
  300. data/lib/metanorma/iso/document/terms/term_note.rb +12 -0
  301. data/lib/metanorma/iso/document/terms/term_origin.rb +4 -0
  302. data/lib/metanorma/iso/document/terms/term_source.rb +21 -0
  303. data/lib/metanorma/iso/document/terms/verbal_definition.rb +42 -0
  304. data/lib/metanorma/iso/document/terms.rb +21 -0
  305. data/lib/metanorma/iso/document.rb +32 -0
  306. data/lib/metanorma/iso/front.rb +20 -18
  307. data/lib/metanorma/iso/front_id.rb +206 -28
  308. data/lib/metanorma/iso/html/renderer.rb +547 -0
  309. data/lib/metanorma/iso/html.rb +19 -0
  310. data/lib/metanorma/iso/iso-style.yml +63 -0
  311. data/lib/metanorma/iso/log.rb +137 -137
  312. data/lib/metanorma/iso/mirror.rb +32 -0
  313. data/lib/metanorma/iso/processor.rb +59 -4
  314. data/lib/metanorma/iso/registers.rb +39 -0
  315. data/lib/metanorma/iso/section.rb +0 -1
  316. data/lib/metanorma/iso/sts/html_renderer/assets/metanorma-icon-dark.svg +1 -0
  317. data/lib/metanorma/iso/sts/html_renderer/assets/metanorma-icon-light.svg +1 -0
  318. data/lib/metanorma/iso/sts/html_renderer/assets/page.js +145 -0
  319. data/lib/metanorma/iso/sts/html_renderer/assets/theme.css +515 -0
  320. data/lib/metanorma/iso/sts/html_renderer/handlers.rb +526 -0
  321. data/lib/metanorma/iso/sts/html_renderer/ruby.rb +400 -0
  322. data/lib/metanorma/iso/sts/html_renderer/templates/_element.html.liquid +1 -0
  323. data/lib/metanorma/iso/sts/html_renderer/templates/_footer.html.liquid +21 -0
  324. data/lib/metanorma/iso/sts/html_renderer/templates/_hero.html.liquid +9 -0
  325. data/lib/metanorma/iso/sts/html_renderer/templates/_img.html.liquid +1 -0
  326. data/lib/metanorma/iso/sts/html_renderer/templates/_link.html.liquid +1 -0
  327. data/lib/metanorma/iso/sts/html_renderer/templates/_meta_header.html.liquid +1 -0
  328. data/lib/metanorma/iso/sts/html_renderer/templates/document.html.liquid +42 -0
  329. data/lib/metanorma/iso/sts/html_renderer.rb +20 -0
  330. data/lib/metanorma/iso/sts/transformer/back_transformer.rb +20 -13
  331. data/lib/metanorma/iso/sts/transformer/base.rb +7 -8
  332. data/lib/metanorma/iso/sts/transformer/block_dispatcher.rb +7 -7
  333. data/lib/metanorma/iso/sts/transformer/body_transformer.rb +15 -14
  334. data/lib/metanorma/iso/sts/transformer/content_text.rb +16 -4
  335. data/lib/metanorma/iso/sts/transformer/context.rb +22 -22
  336. data/lib/metanorma/iso/sts/transformer/def_list_transformer.rb +4 -4
  337. data/lib/metanorma/iso/sts/transformer/document_transformer.rb +8 -6
  338. data/lib/metanorma/iso/sts/transformer/example_transformer.rb +2 -2
  339. data/lib/metanorma/iso/sts/transformer/figure_transformer.rb +8 -8
  340. data/lib/metanorma/iso/sts/transformer/footnote_collector.rb +14 -20
  341. data/lib/metanorma/iso/sts/transformer/formula_transformer.rb +4 -6
  342. data/lib/metanorma/iso/sts/transformer/front_transformer.rb +10 -12
  343. data/lib/metanorma/iso/sts/transformer/id_generator.rb +10 -10
  344. data/lib/metanorma/iso/sts/transformer/inline_transformer.rb +44 -70
  345. data/lib/metanorma/iso/sts/transformer/iso_meta_transformer.rb +158 -169
  346. data/lib/metanorma/iso/sts/transformer/list_transformer.rb +2 -2
  347. data/lib/metanorma/iso/sts/transformer/model_builder.rb +402 -0
  348. data/lib/metanorma/iso/sts/transformer/nbsp_processor.rb +24 -5
  349. data/lib/metanorma/iso/sts/transformer/note_transformer.rb +2 -2
  350. data/lib/metanorma/iso/sts/transformer/paragraph_transformer.rb +1 -1
  351. data/lib/metanorma/iso/sts/transformer/quote_transformer.rb +1 -1
  352. data/lib/metanorma/iso/sts/transformer/reference_transformer.rb +12 -12
  353. data/lib/metanorma/iso/sts/transformer/section_transformer.rb +27 -45
  354. data/lib/metanorma/iso/sts/transformer/source_document.rb +126 -0
  355. data/lib/metanorma/iso/sts/transformer/sourcecode_transformer.rb +1 -1
  356. data/lib/metanorma/iso/sts/transformer/standard.rb +3 -3
  357. data/lib/metanorma/iso/sts/transformer/table_transformer.rb +6 -3
  358. data/lib/metanorma/iso/sts/transformer/term_transformer.rb +11 -16
  359. data/lib/metanorma/iso/sts/transformer.rb +2 -0
  360. data/lib/metanorma/iso/sts.rb +60 -3
  361. data/lib/metanorma/iso/themes/iso/assets/iso-logo.svg +1 -0
  362. data/lib/metanorma/iso/themes/iso/assets/registry.css +276 -0
  363. data/lib/metanorma/iso/themes/iso/templates/index.html.liquid +141 -0
  364. data/lib/metanorma/iso/themes/iso/theme.yaml +40 -0
  365. data/lib/metanorma/iso/validate.rb +304 -81
  366. data/lib/metanorma/iso/validation/context.rb +12 -0
  367. data/lib/metanorma/iso/validation/converter_state.rb +16 -0
  368. data/lib/metanorma/iso/validation/issue.rb +73 -0
  369. data/lib/metanorma/iso/validation/issue_translator.rb +86 -0
  370. data/lib/metanorma/iso/validation/model_validator.rb +100 -0
  371. data/lib/metanorma/iso/validation/profile.rb +63 -0
  372. data/lib/metanorma/iso/validation/report.rb +47 -0
  373. data/lib/metanorma/iso/validation/reporter/base.rb +18 -0
  374. data/lib/metanorma/iso/validation/reporter/json.rb +16 -0
  375. data/lib/metanorma/iso/validation/reporter/text.rb +35 -0
  376. data/lib/metanorma/iso/validation/reporter/yaml.rb +16 -0
  377. data/lib/metanorma/iso/validation/reporter.rb +19 -0
  378. data/lib/metanorma/iso/validation/rule_registry.rb +33 -0
  379. data/lib/metanorma/iso/validation/rules/base.rb +152 -0
  380. data/lib/metanorma/iso/validation/rules/broken_xref_rule.rb +49 -0
  381. data/lib/metanorma/iso/validation/rules/doctype_rule.rb +45 -0
  382. data/lib/metanorma/iso/validation/rules/foreword_presence_rule.rb +33 -0
  383. data/lib/metanorma/iso/validation/rules/foreword_structure_rule.rb +42 -0
  384. data/lib/metanorma/iso/validation/rules/iteration_rule.rb +34 -0
  385. data/lib/metanorma/iso/validation/rules/list_count_rule.rb +60 -0
  386. data/lib/metanorma/iso/validation/rules/list_depth_rule.rb +80 -0
  387. data/lib/metanorma/iso/validation/rules/list_punctuation_rule.rb +110 -0
  388. data/lib/metanorma/iso/validation/rules/locality_erefs_rule.rb +46 -0
  389. data/lib/metanorma/iso/validation/rules/modal_in_clause_rule.rb +69 -0
  390. data/lib/metanorma/iso/validation/rules/normative_bibitem_rule.rb +105 -0
  391. data/lib/metanorma/iso/validation/rules/normative_references_presence_rule.rb +40 -0
  392. data/lib/metanorma/iso/validation/rules/only_child_clause_rule.rb +63 -0
  393. data/lib/metanorma/iso/validation/rules/scope_presence_rule.rb +32 -0
  394. data/lib/metanorma/iso/validation/rules/scope_subclauses_rule.rb +42 -0
  395. data/lib/metanorma/iso/validation/rules/section_sequence_rule.rb +249 -0
  396. data/lib/metanorma/iso/validation/rules/see_xrefs_rule.rb +154 -0
  397. data/lib/metanorma/iso/validation/rules/style_ambig_words_rule.rb +42 -0
  398. data/lib/metanorma/iso/validation/rules/style_number_rule.rb +30 -0
  399. data/lib/metanorma/iso/validation/rules/style_rule.rb +78 -0
  400. data/lib/metanorma/iso/validation/rules/style_units_rule.rb +27 -0
  401. data/lib/metanorma/iso/validation/rules/subcommittee_type_rule.rb +41 -0
  402. data/lib/metanorma/iso/validation/rules/subpart_iec_rule.rb +46 -0
  403. data/lib/metanorma/iso/validation/rules/symbols_in_annex_rule.rb +37 -0
  404. data/lib/metanorma/iso/validation/rules/symbols_section_content_rule.rb +48 -0
  405. data/lib/metanorma/iso/validation/rules/symbols_section_count_rule.rb +35 -0
  406. data/lib/metanorma/iso/validation/rules/technical_committee_type_rule.rb +41 -0
  407. data/lib/metanorma/iso/validation/rules/term_xrefs_rule.rb +106 -0
  408. data/lib/metanorma/iso/validation/rules/termdef_style_rule.rb +93 -0
  409. data/lib/metanorma/iso/validation/rules/terms_presence_rule.rb +26 -0
  410. data/lib/metanorma/iso/validation/rules/title_first_level_rule.rb +76 -0
  411. data/lib/metanorma/iso/validation/rules/title_names_doctype_rule.rb +69 -0
  412. data/lib/metanorma/iso/validation/rules/title_pairing_rule.rb +108 -0
  413. data/lib/metanorma/iso/validation/rules/title_siblings_consistency_rule.rb +92 -0
  414. data/lib/metanorma/iso/validation/rules/tree_traversal.rb +479 -0
  415. data/lib/metanorma/iso/validation/rules/unique_id_rule.rb +128 -0
  416. data/lib/metanorma/iso/validation/rules/unreferenced_assets_rule.rb +87 -0
  417. data/lib/metanorma/iso/validation/rules/vocab_terms_titles_rule.rb +102 -0
  418. data/lib/metanorma/iso/validation/rules.rb +87 -0
  419. data/lib/metanorma/iso/validation/shared_state.rb +25 -0
  420. data/lib/metanorma/iso/validation/state_extractor.rb +87 -0
  421. data/lib/metanorma/iso/validation.rb +31 -0
  422. data/lib/metanorma/iso/version.rb +1 -1
  423. data/lib/metanorma/iso.rb +8 -1
  424. data/lib/metanorma/requirements/modspec.rb +7 -5
  425. data/lib/metanorma/requirements/requirements.rb +3 -3
  426. data/lib/metanorma-iso.rb +1 -0
  427. data/metanorma-iso.gemspec +9 -7
  428. data/scripts/migrate-flavor-document-model.sh +215 -0
  429. data/scripts/rice-sts-demo +45 -0
  430. metadata +406 -51
  431. data/lib/isodoc/iso/html/htmlstyle.css +0 -50
  432. data/lib/isodoc/iso/html/isodoc-dis.css +0 -4794
  433. data/lib/isodoc/iso/html/isodoc.css +0 -1456
  434. data/lib/isodoc/iso/html/style-human.css +0 -1510
  435. data/lib/isodoc/iso/html/style-iso.css +0 -1563
  436. data/lib/isodoc/iso/html/wordstyle-dis.css +0 -2565
  437. data/lib/isodoc/iso/html/wordstyle.css +0 -1980
  438. data/lib/metanorma/iso/basicdoc.rng +0 -2197
  439. data/lib/metanorma/iso/biblio-standoc.rng +0 -286
  440. data/lib/metanorma/iso/biblio.rng +0 -2125
  441. data/lib/metanorma/iso/isodoc.rng +0 -3027
  442. data/lib/metanorma/iso/isostandard-amd.rng +0 -48
  443. data/lib/metanorma/iso/isostandard-compile.rng +0 -6
  444. data/lib/metanorma/iso/isostandard.rng +0 -165
  445. data/lib/metanorma/iso/mathml4-content.rng +0 -1568
  446. data/lib/metanorma/iso/mathml4-presentation.rng +0 -1448
  447. data/lib/metanorma/iso/mathml4-strict-content.rng +0 -289
  448. data/lib/metanorma/iso/metanorma-mathml.rng +0 -59
  449. data/lib/metanorma/iso/relaton-iso.rng +0 -167
  450. data/lib/metanorma/iso/reqt.rng +0 -269
  451. data/lib/metanorma/iso/validate_list.rb +0 -153
  452. data/lib/metanorma/iso/validate_numeric.rb +0 -128
  453. data/lib/metanorma/iso/validate_requirements.rb +0 -137
  454. data/lib/metanorma/iso/validate_section.rb +0 -219
  455. data/lib/metanorma/iso/validate_style.rb +0 -167
  456. data/lib/metanorma/iso/validate_title.rb +0 -115
  457. data/lib/metanorma/iso/validate_xref.rb +0 -120
  458. data/lib/relaton/render/config.yml +0 -97
  459. data/lib/relaton/render/general.rb +0 -20
  460. data/lib/relaton/render/parse.rb +0 -20
  461. data/lib/relaton/render/selective_capitalize.rb +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5501567d5415dbfdda1f7df0172740145120e3a8d7b3e2272e90e76d7055ad56
4
- data.tar.gz: 7ca71114dea838da163abe25c848ae4efb1a232402f6c43119953273d39d0249
3
+ metadata.gz: 782d8eb5c9b0ec2897054e4bad1048c79dd28c35603abf057fdaf593b1dcf880
4
+ data.tar.gz: f1ccae4c9c4987d616ca6ef31754de76f99900989f91d4c9eff37be13447bd05
5
5
  SHA512:
6
- metadata.gz: 04cc7bb21c95eccc9b3dc262562c01b0b215461707bfaa33e848ebad1868681a75f7e90028cb2175a32f32b52e79685e55f74865d3574a0c6863230ddb939633
7
- data.tar.gz: 9d0d729fd10bfa3514bb296fb426ad080ecf60d4357e66deea6ddb86f50a5738bf7bc205883009c649d5d8054fc26c2c1fa30c037fc94f2f8b4d921ee5f5c62b
6
+ metadata.gz: d64d63d56cd73d9a695e8c11bdbe99ca28b7a6c9550b2c96be987c9e900b4a2c5f5b549f6e5d57809440d5f8b400f1636be3b0f88065f0eb1a84f6055d9a74f9
7
+ data.tar.gz: 4c7f05a98cea2fb8f2bcc846bfec32b2e2c674a1536a2ceb0934b53eab11725d252765090f72ace9b3f5c87c795c69ae0f1fb21673fd5cf991ade23da0cb132e
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --tag ~slow
3
+ --tag ~rice_e2e
data/.rubocop.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  # Auto-generated by Cimas: Do not edit it manually!
2
2
  # See https://github.com/metanorma/cimas
3
3
  inherit_from:
4
+ - .rubocop_todo.yml
4
5
  - https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
5
6
  # .rubocop_todo.yml MUST be the last entry. inherit_from is last-wins:
6
7
  # if listed before oss-guides, the shared config's stricter Metrics/