metanorma-cli 1.3.3.1 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (950) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +62 -69
  3. data/gems/ruby/2.6.0/gems/fontist-1.2.0/Gemfile +4 -0
  4. data/gems/ruby/2.6.0/gems/fontist-1.2.0/LICENSE.txt +26 -0
  5. data/gems/ruby/2.6.0/gems/fontist-1.2.0/README.md +179 -0
  6. data/gems/ruby/2.6.0/gems/fontist-1.2.0/Rakefile +6 -0
  7. data/gems/ruby/2.6.0/gems/fontist-1.2.0/bin/console +11 -0
  8. data/gems/ruby/2.6.0/gems/fontist-1.2.0/bin/rspec +29 -0
  9. data/gems/ruby/2.6.0/gems/fontist-1.2.0/bin/setup +7 -0
  10. data/gems/ruby/2.6.0/gems/fontist-1.2.0/fontist.gemspec +32 -0
  11. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist.rb +48 -0
  12. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/errors.rb +10 -0
  13. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/font.rb +78 -0
  14. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/font_formula.rb +123 -0
  15. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formula.rb +90 -0
  16. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas.rb +15 -0
  17. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/andale_font.rb +79 -0
  18. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/arial_black_font.rb +78 -0
  19. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/cleartype_fonts.rb +226 -0
  20. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/comic_font.rb +77 -0
  21. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/courier_font.rb +80 -0
  22. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/euphemia_font.rb +85 -0
  23. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/georgia_font.rb +79 -0
  24. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/impact_font.rb +77 -0
  25. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/montserrat_font.rb +132 -0
  26. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/ms_truetype_fonts.rb +124 -0
  27. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/open_sans_fonts.rb +263 -0
  28. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/overpass_font.rb +73 -0
  29. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/source_fonts.rb +109 -0
  30. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/stix_fonts.rb +108 -0
  31. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/tahoma_font.rb +146 -0
  32. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/webding_font.rb +77 -0
  33. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/registry.rb +42 -0
  34. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/system.yml +17 -0
  35. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/system_font.rb +72 -0
  36. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils.rb +9 -0
  37. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/downloader.rb +74 -0
  38. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/dsl.rb +77 -0
  39. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/exe_extractor.rb +72 -0
  40. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/zip_extractor.rb +38 -0
  41. data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/version.rb +3 -0
  42. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fixtures/fonts/DejaVuSerif.ttf +0 -0
  43. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/font_formula_spec.rb +67 -0
  44. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/font_spec.rb +87 -0
  45. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formula_spec.rb +67 -0
  46. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/andale_font_spec.rb +29 -0
  47. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/arial_black_font_spec.rb +29 -0
  48. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/cleartype_fonts_spec.rb +38 -0
  49. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/comic_font_spec.rb +29 -0
  50. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/courier_font_spec.rb +29 -0
  51. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/euphemia_font_spec.rb +29 -0
  52. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/georgia_font_spec.rb +29 -0
  53. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/impact_font_spec.rb +29 -0
  54. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/montserrat_font_spec.rb +29 -0
  55. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/ms_truetype_fonts_spec.rb +29 -0
  56. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/open_sans_fonts_spec.rb +29 -0
  57. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/overpass_font_spec.rb +29 -0
  58. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/source_fonts_spec.rb +31 -0
  59. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/stix_fonts_spec.rb +29 -0
  60. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/tahoma_font_spec.rb +29 -0
  61. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/webding_font_spec.rb +29 -0
  62. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/registry_spec.rb +47 -0
  63. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/system_font_spec.rb +44 -0
  64. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/utils/downloader_spec.rb +35 -0
  65. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist_spec.rb +5 -0
  66. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/spec_helper.rb +22 -0
  67. data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/support/fontist_helper.rb +10 -0
  68. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/CODE_OF_CONDUCT.md +46 -0
  69. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/Gemfile +11 -0
  70. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/LICENSE +25 -0
  71. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/Rakefile +8 -0
  72. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/bin/rspec +18 -0
  73. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/isodoc.gemspec +51 -0
  74. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc-yaml/i18n-en.yaml +98 -0
  75. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc-yaml/i18n-fr.yaml +91 -0
  76. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc-yaml/i18n-zh-Hans.yaml +92 -0
  77. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc.rb +30 -0
  78. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/all.css +207 -0
  79. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/all.scss +6 -0
  80. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/bands.scss +79 -0
  81. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/blocks.css +0 -0
  82. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/blocks.scss +128 -0
  83. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/coverpage.css +0 -0
  84. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/coverpage.scss +7 -0
  85. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/defaults.css +0 -0
  86. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/defaults.scss +26 -0
  87. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/metanorma_word.css +34 -0
  88. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/metanorma_word.scss +30 -0
  89. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/nav.css +0 -0
  90. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/nav.scss +180 -0
  91. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/reset.css +105 -0
  92. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/reset.scss +129 -0
  93. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/typography.css +0 -0
  94. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/typography.scss +67 -0
  95. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/class_utils.rb +30 -0
  96. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/common.rb +29 -0
  97. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/convert.rb +250 -0
  98. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function.rb +4 -0
  99. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/blocks.rb +208 -0
  100. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/blocks_example_note.rb +107 -0
  101. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/cleanup.rb +218 -0
  102. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/inline.rb +155 -0
  103. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/inline_simple.rb +72 -0
  104. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/lists.rb +94 -0
  105. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/references.rb +214 -0
  106. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/reqt.rb +115 -0
  107. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/section.rb +228 -0
  108. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/table.rb +108 -0
  109. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/terms.rb +78 -0
  110. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/to_word_html.rb +230 -0
  111. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/utils.rb +190 -0
  112. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/gem_tasks.rb +133 -0
  113. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/headlesshtml_convert.rb +45 -0
  114. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_convert.rb +30 -0
  115. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function.rb +4 -0
  116. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/comments.rb +144 -0
  117. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/footnotes.rb +83 -0
  118. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/html.rb +115 -0
  119. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/postprocess.rb +243 -0
  120. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/i18n.rb +122 -0
  121. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/metadata.rb +235 -0
  122. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/metadata_date.rb +39 -0
  123. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/pdf_convert.rb +50 -0
  124. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_function/block.rb +138 -0
  125. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_function/inline.rb +131 -0
  126. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_function/section.rb +46 -0
  127. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_xml_convert.rb +62 -0
  128. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/sassc_importer.rb +11 -0
  129. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/version.rb +3 -0
  130. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_convert.rb +45 -0
  131. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function.rb +4 -0
  132. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/body.rb +214 -0
  133. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/comments.rb +145 -0
  134. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/footnotes.rb +105 -0
  135. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/inline.rb +77 -0
  136. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/postprocess.rb +247 -0
  137. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/postprocess_cover.rb +79 -0
  138. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/table.rb +60 -0
  139. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref.rb +61 -0
  140. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_anchor.rb +56 -0
  141. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_counter.rb +74 -0
  142. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_gen.rb +117 -0
  143. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_gen_seq.rb +163 -0
  144. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_sect_gen.rb +151 -0
  145. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xslfo_convert.rb +46 -0
  146. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/html.scss +6 -0
  147. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/i18n.yaml +16 -0
  148. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/odf.emf +0 -0
  149. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/odf.svg +4 -0
  150. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/odf1.svg +4 -0
  151. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/rice_image1 +0 -0
  152. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/std.css +2 -0
  153. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/word.css +2 -0
  154. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/blocks_spec.rb +2643 -0
  155. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/cleanup_spec.rb +1188 -0
  156. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/footnotes_spec.rb +280 -0
  157. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/i18n_spec.rb +1131 -0
  158. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/inline_spec.rb +995 -0
  159. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/lists_spec.rb +346 -0
  160. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/metadata_spec.rb +342 -0
  161. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/postproc_spec.rb +1536 -0
  162. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/presentation_xml_spec.rb +20 -0
  163. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/ref_spec.rb +427 -0
  164. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/section_spec.rb +993 -0
  165. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/table_spec.rb +454 -0
  166. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/terms_spec.rb +268 -0
  167. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/xref_spec.rb +2764 -0
  168. data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/spec_helper.rb +74 -0
  169. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/CODE_OF_CONDUCT.md +74 -0
  170. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/Gemfile +11 -0
  171. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/LICENSE +25 -0
  172. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/Rakefile +8 -0
  173. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/bin/console +14 -0
  174. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/bin/rspec +18 -0
  175. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/bin/setup +8 -0
  176. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc.rb +5 -0
  177. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/basicdoc.rng +1059 -0
  178. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/biblio.rng +1237 -0
  179. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/cc.rng +116 -0
  180. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/converter.rb +72 -0
  181. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/front.rb +93 -0
  182. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/isodoc.rng +1510 -0
  183. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/reqt.rng +194 -0
  184. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/validate.rb +29 -0
  185. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/validate_section.rb +124 -0
  186. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/base_convert.rb +21 -0
  187. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/csd.standard.xsl +3371 -0
  188. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/_coverpage.css +307 -0
  189. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/_coverpage.scss +130 -0
  190. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/cc.css +801 -0
  191. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/cc.scss +763 -0
  192. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/htmlstyle.css +1013 -0
  193. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/htmlstyle.scss +409 -0
  194. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/wordstyle.css +1253 -0
  195. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/wordstyle.scss +1156 -0
  196. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html_convert.rb +53 -0
  197. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/i18n-en.yaml +2 -0
  198. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/i18n.rb +10 -0
  199. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/init.rb +23 -0
  200. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/metadata.rb +61 -0
  201. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/pdf_convert.rb +21 -0
  202. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/presentation_xml_convert.rb +19 -0
  203. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/word_convert.rb +40 -0
  204. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/xref.rb +6 -0
  205. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma-cc.rb +11 -0
  206. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma/cc.rb +29 -0
  207. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma/cc/processor.rb +49 -0
  208. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma/cc/version.rb +5 -0
  209. data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/metanorma-cc.gemspec +44 -0
  210. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/CODE_OF_CONDUCT.md +74 -0
  211. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/Gemfile +11 -0
  212. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/LICENSE +25 -0
  213. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/Rakefile +8 -0
  214. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/bin/console +14 -0
  215. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/bin/rspec +18 -0
  216. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/bin/setup +8 -0
  217. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa.rb +5 -0
  218. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/basicdoc.rng +1059 -0
  219. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/biblio.rng +1237 -0
  220. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/converter.rb +139 -0
  221. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/csa.rng +115 -0
  222. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/isodoc.rng +1510 -0
  223. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/reqt.rng +194 -0
  224. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/validate.rb +22 -0
  225. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/base_convert.rb +23 -0
  226. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/csa.standard.xsl +3387 -0
  227. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/csa.css +801 -0
  228. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/csa.scss +763 -0
  229. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/htmlstyle.css +1070 -0
  230. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/htmlstyle.scss +806 -0
  231. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/wordstyle.css +1253 -0
  232. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/wordstyle.scss +1157 -0
  233. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html_convert.rb +60 -0
  234. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/i18n-en.yaml +2 -0
  235. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/i18n.rb +10 -0
  236. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/init.rb +24 -0
  237. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/metadata.rb +51 -0
  238. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/pdf_convert.rb +22 -0
  239. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/presentation_xml_convert.rb +19 -0
  240. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/word_convert.rb +42 -0
  241. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/xref.rb +6 -0
  242. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma-csa.rb +11 -0
  243. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma/csa.rb +7 -0
  244. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma/csa/processor.rb +52 -0
  245. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma/csa/version.rb +7 -0
  246. data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/metanorma-csa.gemspec +52 -0
  247. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/CODE_OF_CONDUCT.md +74 -0
  248. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/Gemfile +10 -0
  249. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/LICENSE +25 -0
  250. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/Rakefile +23 -0
  251. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/asciidoctor-gb.gemspec.old +47 -0
  252. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/bin/console +14 -0
  253. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/bin/rspec +18 -0
  254. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/bin/setup +8 -0
  255. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb.rb +5 -0
  256. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/basicdoc.rng +1059 -0
  257. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/biblio.rng +1237 -0
  258. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/cleanup.rb +130 -0
  259. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/converter.rb +146 -0
  260. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/front.rb +242 -0
  261. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/front_id.rb +57 -0
  262. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/gbstandard.rng +300 -0
  263. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/isodoc.rng +1510 -0
  264. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/isostandard.rng +533 -0
  265. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/reqt.rng +194 -0
  266. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/section_input.rb +42 -0
  267. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/validate.rb +132 -0
  268. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/base_convert.rb +211 -0
  269. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/cleanup.rb +79 -0
  270. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/common.rb +72 -0
  271. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/gb.recommendation.xsl +3739 -0
  272. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/_coverpage.css +193 -0
  273. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/_coverpage.scss +249 -0
  274. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-issuer-default.svg +980 -0
  275. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-db.svg +1 -0
  276. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-gb.svg +1 -0
  277. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-gjb.svg +1 -0
  278. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-gm.svg +1 -0
  279. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-jjf.svg +1 -0
  280. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-zb.svg +13 -0
  281. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb.css +657 -0
  282. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb.scss +617 -0
  283. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlcompliantstyle.css +1303 -0
  284. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlcompliantstyle.scss +1004 -0
  285. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlstyle.css +844 -0
  286. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlstyle.scss +414 -0
  287. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/wordstyle.css +2932 -0
  288. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/wordstyle.scss +2750 -0
  289. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html_convert.rb +70 -0
  290. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/i18n-en.yaml +11 -0
  291. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/i18n-zh-Hans.yaml +11 -0
  292. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/i18n.rb +16 -0
  293. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/init.rb +29 -0
  294. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/metadata.rb +225 -0
  295. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/pdf_convert.rb +21 -0
  296. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/presentation_xml_convert.rb +26 -0
  297. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/word_convert.rb +126 -0
  298. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/xref.rb +6 -0
  299. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma-gb.rb +12 -0
  300. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma/gb.rb +7 -0
  301. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma/gb/processor.rb +73 -0
  302. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma/gb/version.rb +5 -0
  303. data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/metanorma-gb.gemspec +49 -0
  304. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/CODE_OF_CONDUCT.md +74 -0
  305. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/Gemfile +11 -0
  306. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/LICENSE +25 -0
  307. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/Rakefile +6 -0
  308. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/bin/console +14 -0
  309. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/bin/rspec +17 -0
  310. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/bin/setup +8 -0
  311. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic.rb +7 -0
  312. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/basicdoc.rng +1059 -0
  313. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/biblio.rng +1237 -0
  314. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/converter.rb +219 -0
  315. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/generic.rng +79 -0
  316. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/isodoc.rng +1510 -0
  317. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/reqt.rng +194 -0
  318. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/rsd.rng +225 -0
  319. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic.rb +11 -0
  320. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/base_convert.rb +43 -0
  321. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html/generic.scss +766 -0
  322. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html/htmlstyle.scss +710 -0
  323. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html/wordstyle.scss +1157 -0
  324. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html_convert.rb +65 -0
  325. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/init.rb +27 -0
  326. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/metadata.rb +59 -0
  327. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/pdf_convert.rb +66 -0
  328. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/presentation_xml_convert.rb +19 -0
  329. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/word_convert.rb +60 -0
  330. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/xref.rb +6 -0
  331. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma-generic.rb +8 -0
  332. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma/generic.rb +108 -0
  333. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma/generic/processor.rb +88 -0
  334. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma/generic/version.rb +5 -0
  335. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/metanorma-generic.gemspec +44 -0
  336. data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/metanorma.yml.example +61 -0
  337. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/CODE_OF_CONDUCT.md +74 -0
  338. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/Gemfile +7 -0
  339. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/LICENSE +25 -0
  340. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/Rakefile +8 -0
  341. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/bin/rspec +18 -0
  342. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/basicdoc.rng +1059 -0
  343. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/biblio.rng +1237 -0
  344. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/converter.rb +80 -0
  345. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/front.rb +220 -0
  346. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/iec.rng +43 -0
  347. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/isodoc.rng +1510 -0
  348. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/isostandard.rng +533 -0
  349. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/reqt.rng +194 -0
  350. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/base_convert.rb +147 -0
  351. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/htmlstyle.css +962 -0
  352. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/htmlstyle.scss +703 -0
  353. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/isodoc.css +845 -0
  354. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/isodoc.scss +836 -0
  355. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/wordstyle.css +2013 -0
  356. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/wordstyle.scss +1854 -0
  357. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html_convert.rb +43 -0
  358. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n-en.yaml +18 -0
  359. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n-fr.yaml +18 -0
  360. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n-zh-Hans.yaml +14 -0
  361. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n.rb +19 -0
  362. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/iec.international-standard.xsl +4782 -0
  363. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/init.rb +29 -0
  364. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/metadata.rb +28 -0
  365. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/pdf_convert.rb +21 -0
  366. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/presentation_xml_convert.rb +35 -0
  367. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/word_convert.rb +188 -0
  368. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/xref.rb +45 -0
  369. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma-iec.rb +15 -0
  370. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma/iec.rb +8 -0
  371. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma/iec/processor.rb +49 -0
  372. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma/iec/version.rb +6 -0
  373. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/metanorma-iec.gemspec +45 -0
  374. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/base_spec.rb +602 -0
  375. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/blocks_spec.rb +481 -0
  376. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/cleanup_spec.rb +440 -0
  377. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/iev_spec.rb +234 -0
  378. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/inline_spec.rb +164 -0
  379. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/lists_spec.rb +190 -0
  380. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/section_spec.rb +369 -0
  381. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/validate_spec.rb +20 -0
  382. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/assets/html.css +2 -0
  383. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/assets/word.css +2 -0
  384. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/blocks_spec.rb +219 -0
  385. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/i18n_spec.rb +648 -0
  386. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/iev_spec.rb +564 -0
  387. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/inline_spec.rb +287 -0
  388. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/iso_spec.rb +217 -0
  389. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/metadata_spec.rb +242 -0
  390. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/postproc_spec.rb +299 -0
  391. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/ref_spec.rb +376 -0
  392. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/section_spec.rb +541 -0
  393. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/terms_spec.rb +193 -0
  394. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/metanorma/processor_spec.rb +76 -0
  395. data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/spec_helper.rb +296 -0
  396. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/CODE_OF_CONDUCT.md +74 -0
  397. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/Gemfile +13 -0
  398. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/Guardfile +22 -0
  399. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/LICENSE +25 -0
  400. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/Rakefile +6 -0
  401. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/asciidoctor-rfc2 +14 -0
  402. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/asciidoctor-rfc2.bat +2 -0
  403. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/asciidoctor-rfc3 +14 -0
  404. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/console +14 -0
  405. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/rspec +17 -0
  406. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/setup +8 -0
  407. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/docs/installation.md +21 -0
  408. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/docs/navigation.md +7 -0
  409. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/docs/overview.md +5 -0
  410. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/basicdoc.rng +1059 -0
  411. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/biblio.rng +1237 -0
  412. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/blocks.rb +78 -0
  413. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/converter.rb +201 -0
  414. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/front.rb +144 -0
  415. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/ietf.rng +888 -0
  416. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/isodoc.rng +1510 -0
  417. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/reqt.rng +194 -0
  418. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/validate.rb +84 -0
  419. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/blocks.rb +227 -0
  420. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/cleanup.rb +230 -0
  421. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/footnotes.rb +70 -0
  422. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/front.rb +236 -0
  423. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/inline.rb +167 -0
  424. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/metadata.rb +54 -0
  425. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/references.rb +148 -0
  426. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/reqt.rb +79 -0
  427. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/rfc_convert.rb +82 -0
  428. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/section.rb +175 -0
  429. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/table.rb +43 -0
  430. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/terms.rb +52 -0
  431. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/xref.rb +20 -0
  432. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma-ietf.rb +8 -0
  433. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma/ietf.rb +8 -0
  434. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma/ietf/processor.rb +103 -0
  435. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma/ietf/version.rb +5 -0
  436. data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/metanorma-ietf.gemspec +53 -0
  437. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/CODE_OF_CONDUCT.md +74 -0
  438. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/Gemfile +11 -0
  439. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/LICENSE +25 -0
  440. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/Rakefile +8 -0
  441. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/bin/console +14 -0
  442. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/bin/rspec +18 -0
  443. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/bin/setup +8 -0
  444. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho.rb +4 -0
  445. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/basicdoc.rng +1059 -0
  446. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/biblio.rng +1237 -0
  447. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/converter.rb +105 -0
  448. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/iho.rng +144 -0
  449. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/isodoc.rng +1510 -0
  450. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/reqt.rng +194 -0
  451. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/base_convert.rb +20 -0
  452. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/htmlstyle.css +1007 -0
  453. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/htmlstyle.scss +757 -0
  454. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/iho.css +798 -0
  455. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/iho.scss +759 -0
  456. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/logo.svg +555 -0
  457. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/wordstyle.css +1252 -0
  458. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/wordstyle.scss +1155 -0
  459. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html_convert.rb +34 -0
  460. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/iho.specification.xsl +3501 -0
  461. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/iho.standard.xsl +3501 -0
  462. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/init.rb +23 -0
  463. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/metadata.rb +26 -0
  464. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/pdf_convert.rb +23 -0
  465. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/presentation_xml_convert.rb +12 -0
  466. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/word_convert.rb +47 -0
  467. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/xref.rb +64 -0
  468. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma-iho.rb +13 -0
  469. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma/iho.rb +32 -0
  470. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma/iho/processor.rb +46 -0
  471. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma/iho/version.rb +5 -0
  472. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/metanorma-iho.gemspec +44 -0
  473. data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/metanorma.yml +56 -0
  474. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/CODE_OF_CONDUCT.md +46 -0
  475. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/Gemfile +14 -0
  476. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/LICENSE +25 -0
  477. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/Makefile +39 -0
  478. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/Rakefile +8 -0
  479. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/bin/rspec +18 -0
  480. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/base.rb +67 -0
  481. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/basicdoc.rng +1059 -0
  482. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/biblio.rng +1237 -0
  483. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/cleanup.rb +129 -0
  484. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/converter.rb +18 -0
  485. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/front.rb +138 -0
  486. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/front_id.rb +196 -0
  487. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isodoc.rng +1510 -0
  488. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isostandard-amd.rng +98 -0
  489. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isostandard.rnc +176 -0
  490. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isostandard.rng +533 -0
  491. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/macros.rb +21 -0
  492. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/reqt.rng +194 -0
  493. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/section.rb +46 -0
  494. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/term_lookup_cleanup.rb +86 -0
  495. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate.rb +194 -0
  496. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_requirements.rb +105 -0
  497. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_section.rb +185 -0
  498. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_style.rb +150 -0
  499. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_title.rb +99 -0
  500. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/base_convert.rb +156 -0
  501. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/htmlstyle.css +47 -0
  502. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/htmlstyle.scss +45 -0
  503. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/isodoc.css +862 -0
  504. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/isodoc.scss +851 -0
  505. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-human.css +968 -0
  506. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-human.scss +695 -0
  507. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-iso.css +996 -0
  508. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-iso.scss +712 -0
  509. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/wordstyle.css +1515 -0
  510. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/wordstyle.scss +1393 -0
  511. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html_convert.rb +55 -0
  512. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n-en.yaml +11 -0
  513. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n-fr.yaml +10 -0
  514. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n-zh-Hans.yaml +8 -0
  515. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n.rb +19 -0
  516. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/init.rb +33 -0
  517. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/iso.amendment.xsl +4638 -0
  518. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/iso.international-standard.xsl +4638 -0
  519. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/metadata.rb +217 -0
  520. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/pdf_convert.rb +26 -0
  521. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/presentation_xml_convert.rb +111 -0
  522. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/sections.rb +61 -0
  523. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/sts_convert.rb +31 -0
  524. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/word_convert.rb +127 -0
  525. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/xref.rb +113 -0
  526. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma-iso.rb +14 -0
  527. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma/iso.rb +7 -0
  528. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma/iso/processor.rb +62 -0
  529. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma/iso/version.rb +5 -0
  530. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/metanorma-iso.gemspec +50 -0
  531. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/amd_spec.rb +726 -0
  532. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/base_spec.rb +593 -0
  533. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/blocks_spec.rb +482 -0
  534. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/cleanup_spec.rb +995 -0
  535. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/inline_spec.rb +164 -0
  536. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/lists_spec.rb +190 -0
  537. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/macros_spec.rb +310 -0
  538. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/refs_spec.rb +286 -0
  539. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/section_spec.rb +357 -0
  540. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/table_spec.rb +307 -0
  541. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/validate_spec.rb +1127 -0
  542. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/html.css +2 -0
  543. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/i18n.yaml +2 -0
  544. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/std.css +2 -0
  545. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/word.css +2 -0
  546. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/examples/english.yaml +69 -0
  547. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/examples/rice.sh +4 -0
  548. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/amd_spec.rb +808 -0
  549. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/blocks_spec.rb +534 -0
  550. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/i18n_spec.rb +954 -0
  551. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/inline_spec.rb +331 -0
  552. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/iso_spec.rb +384 -0
  553. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/metadata_spec.rb +248 -0
  554. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/postproc_spec.rb +708 -0
  555. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/ref_spec.rb +346 -0
  556. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/section_spec.rb +555 -0
  557. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/table_spec.rb +426 -0
  558. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/terms_spec.rb +202 -0
  559. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/xref_spec.rb +1477 -0
  560. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/metanorma/processor_spec.rb +61 -0
  561. data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/spec_helper.rb +267 -0
  562. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/CODE_OF_CONDUCT.md +74 -0
  563. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/Gemfile +11 -0
  564. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/LICENSE +25 -0
  565. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/Rakefile +8 -0
  566. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/bin/console +14 -0
  567. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/bin/rspec +18 -0
  568. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/bin/setup +8 -0
  569. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu.rb +7 -0
  570. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/basicdoc.rng +1059 -0
  571. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/biblio.rng +1237 -0
  572. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/cleanup.rb +205 -0
  573. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/converter.rb +143 -0
  574. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/front.rb +216 -0
  575. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/isodoc.rng +1510 -0
  576. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/itu.rng +264 -0
  577. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/macros.rb +27 -0
  578. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/reqt.rng +194 -0
  579. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/validate.rb +145 -0
  580. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu.rb +12 -0
  581. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/base_convert.rb +196 -0
  582. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/International_Telecommunication_Union_Logo.svg +1 -0
  583. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/_coverpage.css +349 -0
  584. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/_coverpage.scss +183 -0
  585. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/htmlstyle.css +1159 -0
  586. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/htmlstyle.scss +601 -0
  587. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/itu.css +1138 -0
  588. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/itu.scss +1097 -0
  589. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/wordstyle.css +1808 -0
  590. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/wordstyle.scss +1679 -0
  591. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html_convert.rb +73 -0
  592. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/i18n-en.yaml +41 -0
  593. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/i18n.rb +14 -0
  594. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/init.rb +29 -0
  595. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/itu.recommendation-annex.xsl +3798 -0
  596. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/itu.recommendation.xsl +3798 -0
  597. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/itu.resolution.xsl +3798 -0
  598. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/metadata.rb +96 -0
  599. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/pdf_convert.rb +25 -0
  600. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/presentation_xml_convert.rb +55 -0
  601. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/ref.rb +130 -0
  602. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/terms.rb +64 -0
  603. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/word_convert.rb +238 -0
  604. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/xref.rb +175 -0
  605. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma-itu.rb +8 -0
  606. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma/itu.rb +9 -0
  607. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma/itu/processor.rb +53 -0
  608. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma/itu/version.rb +5 -0
  609. data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/metanorma-itu.gemspec +44 -0
  610. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/CODE_OF_CONDUCT.md +74 -0
  611. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/Gemfile +11 -0
  612. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/LICENSE +25 -0
  613. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/Rakefile +8 -0
  614. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/bin/console +14 -0
  615. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/bin/rspec +18 -0
  616. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/bin/setup +8 -0
  617. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg.rb +5 -0
  618. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/basicdoc.rng +1059 -0
  619. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/biblio.rng +1237 -0
  620. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/converter.rb +142 -0
  621. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/isodoc.rng +1510 -0
  622. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/m3d.rng +109 -0
  623. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/reqt.rng +194 -0
  624. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/validate.rb +22 -0
  625. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/base_convert.rb +22 -0
  626. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/htmlstyle.css +1030 -0
  627. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/htmlstyle.scss +733 -0
  628. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/m3d.css +758 -0
  629. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/m3d.scss +742 -0
  630. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/wordstyle.css +1278 -0
  631. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/wordstyle.scss +1174 -0
  632. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html_convert.rb +65 -0
  633. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/i18n-en.yaml +1 -0
  634. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/i18n.rb +10 -0
  635. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/init.rb +27 -0
  636. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/m3d.report.xsl +3408 -0
  637. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/metadata.rb +53 -0
  638. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/pdf_convert.rb +22 -0
  639. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/presentation_xml_convert.rb +19 -0
  640. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/word_convert.rb +63 -0
  641. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/xref.rb +6 -0
  642. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma-m3aawg.rb +12 -0
  643. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma/m3aawg.rb +7 -0
  644. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma/m3aawg/processor.rb +50 -0
  645. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma/m3aawg/version.rb +5 -0
  646. data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/metanorma-m3d.gemspec +47 -0
  647. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/CODE_OF_CONDUCT.md +74 -0
  648. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/Gemfile +11 -0
  649. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/LICENSE +25 -0
  650. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/Rakefile +8 -0
  651. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/bin/console +14 -0
  652. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/bin/rspec +18 -0
  653. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/bin/setup +8 -0
  654. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist.rb +5 -0
  655. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/basicdoc.rng +1059 -0
  656. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/biblio.rng +1237 -0
  657. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/boilerplate.rb +107 -0
  658. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/cleanup.rb +206 -0
  659. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/converter.rb +218 -0
  660. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/front.rb +259 -0
  661. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/front_id.rb +124 -0
  662. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/isodoc.rng +1510 -0
  663. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/nist.rng +186 -0
  664. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/reqt.rng +194 -0
  665. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/validate.rb +95 -0
  666. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/base_convert.rb +185 -0
  667. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/common.xsl +1246 -0
  668. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/_coverpage.css +243 -0
  669. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/_coverpage.scss +328 -0
  670. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/htmlstyle.css +955 -0
  671. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/htmlstyle.scss +463 -0
  672. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist.css +1055 -0
  673. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist.scss +1010 -0
  674. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist_cswp.css +996 -0
  675. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist_cswp.scss +955 -0
  676. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle.css +1440 -0
  677. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle.scss +1348 -0
  678. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle_cswp.css +1119 -0
  679. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle_cswp.scss +1026 -0
  680. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html_convert.rb +137 -0
  681. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/i18n-en.yaml +13 -0
  682. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/i18n.rb +10 -0
  683. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/init.rb +37 -0
  684. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/metadata.rb +236 -0
  685. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/metadata_id.rb +125 -0
  686. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/nist.cswp.xsl +3645 -0
  687. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/nist.sp.xsl +4726 -0
  688. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/pdf_convert.rb +22 -0
  689. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/presentation_xml_convert.rb +80 -0
  690. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/refs.rb +89 -0
  691. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/render.rb +255 -0
  692. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/render_contributors.rb +80 -0
  693. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/render_dates.rb +42 -0
  694. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/section.rb +58 -0
  695. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/word_convert.rb +173 -0
  696. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/word_convert_toc.rb +86 -0
  697. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/xref.rb +61 -0
  698. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma-nist.rb +14 -0
  699. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma/nist.rb +7 -0
  700. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma/nist/processor.rb +48 -0
  701. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma/nist/version.rb +5 -0
  702. data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/metanorma-nist.gemspec +47 -0
  703. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/CODE_OF_CONDUCT.md +74 -0
  704. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/Gemfile +11 -0
  705. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/LICENSE +25 -0
  706. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/README.adoc.old +187 -0
  707. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/Rakefile +8 -0
  708. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/bin/console +14 -0
  709. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/bin/rspec +17 -0
  710. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/bin/setup +8 -0
  711. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc.rb +7 -0
  712. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/basicdoc.rng +1059 -0
  713. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/biblio.rng +1237 -0
  714. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/converter.rb +134 -0
  715. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/front.rb +195 -0
  716. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/isodoc.rng +1510 -0
  717. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/ogc.rng +124 -0
  718. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/reqt.rng +194 -0
  719. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/validate.rb +108 -0
  720. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc.rb +12 -0
  721. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/base_convert.rb +79 -0
  722. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/biblio.rb +120 -0
  723. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/_coverpage.css +195 -0
  724. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/_coverpage.scss +247 -0
  725. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/htmlstyle.css +1084 -0
  726. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/htmlstyle.scss +599 -0
  727. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/ogc.css +835 -0
  728. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/ogc.scss +792 -0
  729. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/wordstyle.css +1253 -0
  730. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/wordstyle.scss +1155 -0
  731. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html_convert.rb +89 -0
  732. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/i18n-en.yaml +11 -0
  733. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/i18n.rb +10 -0
  734. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/init.rb +32 -0
  735. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/metadata.rb +111 -0
  736. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +3802 -0
  737. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.best-practice.xsl +3802 -0
  738. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +3802 -0
  739. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.community-practice.xsl +3802 -0
  740. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.community-standard.xsl +3802 -0
  741. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.discussion-paper.xsl +3802 -0
  742. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.engineering-report.xsl +3802 -0
  743. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.other.xsl +3802 -0
  744. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.policy.xsl +3802 -0
  745. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.reference-model.xsl +3802 -0
  746. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.release-notes.xsl +3802 -0
  747. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.standard.xsl +3802 -0
  748. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.test-suite.xsl +3802 -0
  749. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.user-guide.xsl +3802 -0
  750. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.white-paper.xsl +3554 -0
  751. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/pdf_convert.rb +24 -0
  752. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/presentation_xml_convert.rb +137 -0
  753. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/reqt.rb +168 -0
  754. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/sections.rb +66 -0
  755. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/word_convert.rb +189 -0
  756. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/xref.rb +156 -0
  757. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma-ogc.rb +8 -0
  758. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma/ogc.rb +12 -0
  759. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma/ogc/processor.rb +49 -0
  760. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma/ogc/version.rb +5 -0
  761. data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/metanorma-ogc.gemspec +41 -0
  762. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/CODE_OF_CONDUCT.md +46 -0
  763. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/Gemfile +11 -0
  764. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/LICENSE +25 -0
  765. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/Makefile +39 -0
  766. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/Rakefile +8 -0
  767. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/bin/rspec +18 -0
  768. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/base.rb +242 -0
  769. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/basicdoc.rng +1059 -0
  770. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/biblio.rng +1237 -0
  771. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/blocks.rb +191 -0
  772. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/blocks_notes.rb +89 -0
  773. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup.rb +177 -0
  774. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_block.rb +183 -0
  775. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_boilerplate.rb +100 -0
  776. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_footnotes.rb +87 -0
  777. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_inline.rb +134 -0
  778. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_ref.rb +247 -0
  779. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_section.rb +221 -0
  780. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_terms.rb +144 -0
  781. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/converter.rb +86 -0
  782. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/datamodel/attributes_table_preprocessor.rb +57 -0
  783. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/datamodel/diagram_preprocessor.rb +102 -0
  784. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/datamodel/plantuml_renderer.rb +408 -0
  785. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/front.rb +210 -0
  786. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/front_contributor.rb +99 -0
  787. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/inline.rb +233 -0
  788. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/isodoc.rng +1510 -0
  789. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/lists.rb +115 -0
  790. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/log.rb +50 -0
  791. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/macros.rb +179 -0
  792. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/macros_plantuml.rb +100 -0
  793. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/macros_yaml2text.rb +165 -0
  794. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/ref.rb +257 -0
  795. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/ref_sect.rb +124 -0
  796. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/reqt.rb +73 -0
  797. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/reqt.rng +194 -0
  798. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/section.rb +244 -0
  799. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/table.rb +70 -0
  800. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/utils.rb +194 -0
  801. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/validate.rb +97 -0
  802. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/validate_section.rb +51 -0
  803. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/views/datamodel/model_representation.adoc.erb +30 -0
  804. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/views/datamodel/plantuml_representation.adoc.erb +20 -0
  805. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma-standoc.rb +10 -0
  806. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc.rb +11 -0
  807. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/latexml_requirement.rb +62 -0
  808. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/processor.rb +38 -0
  809. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/requirement.rb +13 -0
  810. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/version.rb +5 -0
  811. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/metanorma-standoc.gemspec +56 -0
  812. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/base_spec.rb +519 -0
  813. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/blocks_spec.rb +1271 -0
  814. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/cleanup_spec.rb +3224 -0
  815. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/datamodel/attributes_table_preprocessor_spec.rb +111 -0
  816. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/datamodel/diagram_preprocessor_spec.rb +72 -0
  817. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/inline_spec.rb +308 -0
  818. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/isobib_cache_spec.rb +705 -0
  819. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/lists_spec.rb +205 -0
  820. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/macros_spec.rb +538 -0
  821. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/macros_yaml2text_spec.rb +565 -0
  822. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/refs_dl_spec.rb +850 -0
  823. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/refs_spec.rb +1648 -0
  824. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/section_spec.rb +983 -0
  825. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/table_spec.rb +307 -0
  826. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/validate_spec.rb +328 -0
  827. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/codes.yml +695 -0
  828. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/html.scss +13 -0
  829. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/i18n.yaml +17 -0
  830. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/iso123.rxl +107 -0
  831. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/std.css +2 -0
  832. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/word.scss +13 -0
  833. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressClassProfile.yml +90 -0
  834. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressComponentProfile.yml +63 -0
  835. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressComponentSpecification.yml +15 -0
  836. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressProfile.yml +36 -0
  837. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AttributeProfile.yml +32 -0
  838. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/InterchangeAddressClassProfile.yml +79 -0
  839. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Localization copy.yml +23 -0
  840. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Localization.yml +23 -0
  841. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/ProfileCompliantAddress.yml +36 -0
  842. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml +15 -0
  843. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Signature.yml +20 -0
  844. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/SignatureBlankDefinition.yml +20 -0
  845. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/TextDirectionCode copy.yml +16 -0
  846. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/TextDirectionCode.yml +16 -0
  847. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Validity.yml +14 -0
  848. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/iso19160-1/Address.yml +22 -0
  849. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/iso19160-1/AddressComponent.yml +2 -0
  850. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/style.uml.inc +37 -0
  851. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/views/CommonModels.yml +9 -0
  852. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/views/TopDown.yml +62 -0
  853. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/english.yaml +69 -0
  854. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/rice.sh +4 -0
  855. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/metanorma/processor_spec.rb +92 -0
  856. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/spec_helper.rb +249 -0
  857. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +719 -0
  858. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_123.yml +182 -0
  859. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_123_1.yml +361 -0
  860. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_123_2001.yml +182 -0
  861. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_124.yml +182 -0
  862. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +109 -0
  863. data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +436 -0
  864. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/CODE_OF_CONDUCT.md +74 -0
  865. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/Gemfile +11 -0
  866. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/LICENSE +25 -0
  867. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/Rakefile +8 -0
  868. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/bin/console +14 -0
  869. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/bin/rspec +17 -0
  870. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/bin/setup +8 -0
  871. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un.rb +7 -0
  872. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/basicdoc.rng +1059 -0
  873. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/biblio.rng +1237 -0
  874. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/converter.rb +253 -0
  875. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/isodoc.rng +1510 -0
  876. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/reqt.rng +194 -0
  877. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/un.rng +356 -0
  878. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/validate.rb +23 -0
  879. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un.rb +11 -0
  880. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/base_convert.rb +35 -0
  881. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/htmlstyle.css +1096 -0
  882. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/htmlstyle.scss +881 -0
  883. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/unece.css +818 -0
  884. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/unece.scss +801 -0
  885. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/wordstyle.css +1237 -0
  886. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/wordstyle.scss +1140 -0
  887. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html_convert.rb +112 -0
  888. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/i18n-en.yaml +2 -0
  889. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/i18n.rb +11 -0
  890. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/init.rb +29 -0
  891. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/metadata.rb +102 -0
  892. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/pdf_convert.rb +28 -0
  893. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/presentation_xml_convert.rb +53 -0
  894. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/un.plenary-attachment.xsl +3618 -0
  895. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/un.plenary.xsl +3618 -0
  896. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/un.recommendation.xsl +3605 -0
  897. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/word_convert.rb +174 -0
  898. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/xref.rb +185 -0
  899. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma-un.rb +8 -0
  900. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un.rb +12 -0
  901. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/UN_emblem_blue.svg +193 -0
  902. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/input.rb +18 -0
  903. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/processor.rb +49 -0
  904. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/version.rb +5 -0
  905. data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/metanorma-unece.gemspec +46 -0
  906. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/CHANGELOG.md +6 -0
  907. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/Gemfile +8 -0
  908. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/LICENSE +25 -0
  909. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/Rakefile +6 -0
  910. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/bin/console +11 -0
  911. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/bin/rspec +29 -0
  912. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/bin/setup +8 -0
  913. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/exe/relaton +21 -0
  914. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/i18n.yaml +1 -0
  915. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton-cli.rb +10 -0
  916. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/bibcollection.rb +120 -0
  917. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/bibdata.rb +90 -0
  918. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli.rb +55 -0
  919. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/base_convertor.rb +141 -0
  920. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/command.rb +115 -0
  921. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/relaton_file.rb +276 -0
  922. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/version.rb +5 -0
  923. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/xml_convertor.rb +47 -0
  924. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/xml_to_html_renderer.rb +116 -0
  925. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/yaml_convertor.rb +99 -0
  926. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/element_finder.rb +25 -0
  927. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/relaton-cli.gemspec +40 -0
  928. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/templates/_document.liquid +92 -0
  929. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/templates/_index.liquid +53 -0
  930. data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/templates/index-style.css +1017 -0
  931. data/gems/ruby/2.6.0/specifications/fontist-1.2.0.gemspec +51 -0
  932. data/gems/ruby/2.6.0/specifications/isodoc-1.2.1.gemspec +87 -0
  933. data/gems/ruby/2.6.0/specifications/metanorma-cc-1.5.0.gemspec +67 -0
  934. data/gems/ruby/2.6.0/specifications/metanorma-csa-1.6.0.gemspec +85 -0
  935. data/gems/ruby/2.6.0/specifications/metanorma-gb-1.5.1.gemspec +79 -0
  936. data/gems/ruby/2.6.0/specifications/metanorma-generic-1.6.0.gemspec +73 -0
  937. data/gems/ruby/2.6.0/specifications/metanorma-iec-1.2.1.gemspec +72 -0
  938. data/gems/ruby/2.6.0/specifications/metanorma-ietf-2.2.0.gemspec +73 -0
  939. data/gems/ruby/2.6.0/specifications/metanorma-iho-0.2.0.gemspec +73 -0
  940. data/gems/ruby/2.6.0/specifications/metanorma-iso-1.5.1.gemspec +81 -0
  941. data/gems/ruby/2.6.0/specifications/metanorma-itu-1.2.0.gemspec +79 -0
  942. data/gems/ruby/2.6.0/specifications/metanorma-m3aawg-1.5.0.gemspec +73 -0
  943. data/gems/ruby/2.6.0/specifications/metanorma-nist-1.2.0.gemspec +82 -0
  944. data/gems/ruby/2.6.0/specifications/metanorma-ogc-1.2.0.gemspec +70 -0
  945. data/gems/ruby/2.6.0/specifications/metanorma-standoc-1.5.0.gemspec +99 -0
  946. data/gems/ruby/2.6.0/specifications/metanorma-un-0.5.0.gemspec +76 -0
  947. data/gems/ruby/2.6.0/specifications/relaton-cli-1.2.1.gemspec +73 -0
  948. data/lib/metanorma/cli/version.rb +1 -1
  949. data/metanorma-cli.gemspec +18 -18
  950. metadata +981 -34
@@ -0,0 +1,163 @@
1
+ module IsoDoc::XrefGen
2
+ module Blocks
3
+ def hiersep
4
+ "."
5
+ end
6
+
7
+ def hierfigsep
8
+ "-"
9
+ end
10
+
11
+ def subfigure_increment(j, c, t)
12
+ if t.parent.name == "figure" then j += 1
13
+ else
14
+ j = 0
15
+ c.increment(t)
16
+ end
17
+ j
18
+ end
19
+
20
+ def sequential_figure_names(clause)
21
+ c = Counter.new
22
+ j = 0
23
+ clause.xpath(ns(".//figure | .//sourcecode[not(ancestor::example)]")).
24
+ each do |t|
25
+ j = subfigure_increment(j, c, t)
26
+ label = c.print + (j.zero? ? "" : "-#{j}")
27
+ next if t["id"].nil? || t["id"].empty?
28
+ @anchors[t["id"]] =
29
+ anchor_struct(label, nil, @labels["figure"], "figure", t["unnumbered"])
30
+ end
31
+ end
32
+
33
+ def sequential_table_names(clause)
34
+ c = Counter.new
35
+ clause.xpath(ns(".//table")).each do |t|
36
+ next if t["id"].nil? || t["id"].empty?
37
+ @anchors[t["id"]] = anchor_struct(c.increment(t).print, nil,
38
+ @labels["table"], "table", t["unnumbered"])
39
+ end
40
+ end
41
+
42
+ def sequential_formula_names(clause)
43
+ c = Counter.new
44
+ clause.xpath(ns(".//formula")).each do |t|
45
+ next if t["id"].nil? || t["id"].empty?
46
+ @anchors[t["id"]] =
47
+ anchor_struct(c.increment(t).print, t,
48
+ t["inequality"] ? @labels["inequality"] : @labels["formula"],
49
+ "formula", t["unnumbered"])
50
+ end
51
+ end
52
+
53
+ FIRST_LVL_REQ = "[not(ancestor::permission or ancestor::requirement or "\
54
+ "ancestor::recommendation)]".freeze
55
+
56
+ def sequential_permission_names(clause, klass, label)
57
+ c = Counter.new
58
+ clause.xpath(ns(".//#{klass}#{FIRST_LVL_REQ}")).each do |t|
59
+ next if t["id"].nil? || t["id"].empty?
60
+ id = c.increment(t).print
61
+ @anchors[t["id"]] = anchor_struct(id, t, label, klass, t["unnumbered"])
62
+ sequential_permission_names2(t, id)
63
+ end
64
+ end
65
+
66
+ def sequential_permission_names2(t, id)
67
+ sequential_permission_names1(t, id, "permission", @labels["permission"])
68
+ sequential_permission_names1(t, id, "requirement", @labels["requirement"])
69
+ sequential_permission_names1(t, id, "recommendation", @labels["recommendation"])
70
+ end
71
+
72
+ def sequential_permission_names1(block, lbl, klass, label)
73
+ c = Counter.new
74
+ block.xpath(ns("./#{klass}")).each do |t|
75
+ next if t["id"].nil? || t["id"].empty?
76
+ id = "#{lbl}#{hierfigsep}#{c.increment(t).print}"
77
+ @anchors[t["id"]] = anchor_struct(id, t, label, klass, t["unnumbered"])
78
+ sequential_permission_names2(t, id)
79
+ end
80
+ end
81
+
82
+ def sequential_asset_names(clause)
83
+ sequential_table_names(clause)
84
+ sequential_figure_names(clause)
85
+ sequential_formula_names(clause)
86
+ sequential_permission_names(clause, "permission", @labels["permission"])
87
+ sequential_permission_names(clause, "requirement", @labels["requirement"])
88
+ sequential_permission_names(clause, "recommendation", @labels["recommendation"])
89
+ end
90
+
91
+ def hierarchical_figure_names(clause, num)
92
+ c = Counter.new
93
+ j = 0
94
+ clause.xpath(ns(".//figure | .//sourcecode[not(ancestor::example)]")).
95
+ each do |t|
96
+ j = subfigure_increment(j, c, t)
97
+ label = "#{num}#{hiersep}#{c.print}" +
98
+ (j.zero? ? "" : "#{hierfigsep}#{j}")
99
+ next if t["id"].nil? || t["id"].empty?
100
+ @anchors[t["id"]] = anchor_struct(label, nil, @labels["figure"], "figure",
101
+ t["unnumbered"])
102
+ end
103
+ end
104
+
105
+ def hierarchical_table_names(clause, num)
106
+ c = Counter.new
107
+ clause.xpath(ns(".//table")).each do |t|
108
+ next if t["id"].nil? || t["id"].empty?
109
+ @anchors[t["id"]] =
110
+ anchor_struct("#{num}#{hiersep}#{c.increment(t).print}",
111
+ nil, @labels["table"], "table", t["unnumbered"])
112
+ end
113
+ end
114
+
115
+ def hierarchical_asset_names(clause, num)
116
+ hierarchical_table_names(clause, num)
117
+ hierarchical_figure_names(clause, num)
118
+ hierarchical_formula_names(clause, num)
119
+ hierarchical_permission_names(clause, num, "permission", @labels["permission"])
120
+ hierarchical_permission_names(clause, num, "requirement",
121
+ @labels["requirement"])
122
+ hierarchical_permission_names(clause, num, "recommendation",
123
+ @labels["recommendation"])
124
+ end
125
+
126
+ def hierarchical_formula_names(clause, num)
127
+ c = Counter.new
128
+ clause.xpath(ns(".//formula")).each do |t|
129
+ next if t["id"].nil? || t["id"].empty?
130
+ @anchors[t["id"]] =
131
+ anchor_struct("#{num}#{hiersep}#{c.increment(t).print}", nil,
132
+ t["inequality"] ? @labels["inequality"] : @labels["formula"],
133
+ "formula", t["unnumbered"])
134
+ end
135
+ end
136
+
137
+ def hierarchical_permission_names(clause, num, klass, label)
138
+ c = Counter.new
139
+ clause.xpath(ns(".//#{klass}#{FIRST_LVL_REQ}")).each do |t|
140
+ next if t["id"].nil? || t["id"].empty?
141
+ id = "#{num}#{hiersep}#{c.increment(t).print}"
142
+ @anchors[t["id"]] = anchor_struct(id, nil, label, klass, t["unnumbered"])
143
+ hierarchical_permission_names2(t, id)
144
+ end
145
+ end
146
+
147
+ def hierarchical_permission_names2(t, id)
148
+ hierarchical_permission_names1(t, id, "permission", @labels["permission"])
149
+ hierarchical_permission_names1(t, id, "requirement", @labels["requirement"])
150
+ hierarchical_permission_names1(t, id, "recommendation", @labels["recommendation"])
151
+ end
152
+
153
+ def hierarchical_permission_names1(block, lbl, klass, label)
154
+ c = Counter.new
155
+ block.xpath(ns("./#{klass}")).each do |t|
156
+ next if t["id"].nil? || t["id"].empty?
157
+ id = "#{lbl}#{hierfigsep}#{c.increment(t).print}"
158
+ @anchors[t["id"]] = anchor_struct(id, nil, label, klass, t["unnumbered"])
159
+ hierarchical_permission_names2(t, id)
160
+ end
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,151 @@
1
+ module IsoDoc::XrefGen
2
+ module Sections
3
+ def back_anchor_names(docxml)
4
+ docxml.xpath(ns("//annex")).each_with_index do |c, i|
5
+ annex_names(c, (65 + i).chr.to_s)
6
+ end
7
+ docxml.xpath(
8
+ ns(@klass.bibliography_xpath)).each do |b|
9
+ preface_names(b)
10
+ end
11
+ docxml.xpath(ns("//bibitem[not(ancestor::bibitem)]")).each do |ref|
12
+ reference_names(ref)
13
+ end
14
+ end
15
+
16
+ def initial_anchor_names(d)
17
+ d.xpath(ns("//preface/*")).each { |c| c.element? and preface_names(c) }
18
+ # potentially overridden in middle_section_asset_names()
19
+ sequential_asset_names(d.xpath(ns("//preface/*")))
20
+ n = section_names(d.at(ns("//clause[@type = 'scope']")), 0, 1)
21
+ n = section_names(d.at(ns(@klass.norm_ref_xpath)), n, 1)
22
+ n = section_names(d.at(ns("//sections/terms | "\
23
+ "//sections/clause[descendant::terms]")), n, 1)
24
+ n = section_names(d.at(ns("//sections/definitions")), n, 1)
25
+ clause_names(d, n)
26
+ middle_section_asset_names(d)
27
+ termnote_anchor_names(d)
28
+ termexample_anchor_names(d)
29
+ end
30
+
31
+ def preface_clause_name(c)
32
+ ret = c.at(ns("./title"))&.text || c.name.capitalize
33
+ ret
34
+ end
35
+
36
+ SUBCLAUSES =
37
+ "./clause | ./references | ./term | ./terms | ./definitions".freeze
38
+
39
+ # in StanDoc, prefaces have no numbering; they are referenced only by title
40
+ def preface_names(clause)
41
+ return if clause.nil?
42
+ @anchors[clause["id"]] =
43
+ { label: nil, level: 1, xref: preface_clause_name(clause),
44
+ type: "clause" }
45
+ clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
46
+ preface_names1(c, c.at(ns("./title"))&.text,
47
+ "#{preface_clause_name(clause)}, #{i+1}", 2)
48
+ end
49
+ end
50
+
51
+ def preface_names1(clause, title, parent_title, level)
52
+ label = title || parent_title
53
+ @anchors[clause["id"]] =
54
+ { label: nil, level: level, xref: label, type: "clause" }
55
+ clause.xpath(ns(SUBCLAUSES)).
56
+ each_with_index do |c, i|
57
+ preface_names1(c, c.at(ns("./title"))&.text, "#{label} #{i+1}",
58
+ level + 1)
59
+ end
60
+ end
61
+
62
+ def middle_section_asset_names(d)
63
+ middle_sections = "//clause[@type = 'scope'] | "\
64
+ "#{@klass.norm_ref_xpath} | "\
65
+ "//sections/terms | //preface/* | "\
66
+ "//sections/definitions | //clause[parent::sections]"
67
+ sequential_asset_names(d.xpath(ns(middle_sections)))
68
+ end
69
+
70
+ def clause_names(docxml, sect_num)
71
+ docxml.xpath(ns(@klass.middle_clause)).each_with_index do |c, i|
72
+ section_names(c, (i + sect_num), 1)
73
+ end
74
+ end
75
+
76
+ def section_names(clause, num, lvl)
77
+ return num if clause.nil?
78
+ num = num + 1
79
+ @anchors[clause["id"]] =
80
+ { label: num.to_s, xref: l10n("#{@labels["clause"]} #{num}"), level: lvl,
81
+ type: "clause" }
82
+ clause.xpath(ns(SUBCLAUSES)).
83
+ each_with_index do |c, i|
84
+ section_names1(c, "#{num}.#{i + 1}", lvl + 1)
85
+ end
86
+ num
87
+ end
88
+
89
+ def section_names1(clause, num, level)
90
+ @anchors[clause["id"]] =
91
+ { label: num, level: level, xref: l10n("#{@labels["clause"]} #{num}"),
92
+ type: "clause" }
93
+ clause.xpath(ns(SUBCLAUSES)).
94
+ each_with_index do |c, i|
95
+ section_names1(c, "#{num}.#{i + 1}", level + 1)
96
+ end
97
+ end
98
+
99
+ def annex_name_lbl(clause, num)
100
+ obl = l10n("(#{@labels["inform_annex"]})")
101
+ obl = l10n("(#{@labels["norm_annex"]})") if clause["obligation"] == "normative"
102
+ l10n("<strong>#{@labels["annex"]} #{num}</strong><br/>#{obl}")
103
+ end
104
+
105
+ def single_annex_special_section(clause)
106
+ a = clause.xpath(ns("./references | ./terms | ./definitions"))
107
+ a.size == 1 or return nil
108
+ clause.xpath(ns("./clause | ./p | ./table | ./ol | ./ul | ./dl | "\
109
+ "./note | ./admonition | ./figure")).size == 0 or
110
+ return nil
111
+ a[0]
112
+ end
113
+
114
+ def annex_names(clause, num)
115
+ @anchors[clause["id"]] = { label: annex_name_lbl(clause, num),
116
+ type: "clause",
117
+ xref: "#{@labels["annex"]} #{num}", level: 1 }
118
+ if a = single_annex_special_section(clause)
119
+ annex_names1(a, "#{num}", 1)
120
+ else
121
+ clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
122
+ annex_names1(c, "#{num}.#{i + 1}", 2)
123
+ end
124
+ end
125
+ hierarchical_asset_names(clause, num)
126
+ end
127
+
128
+ def annex_names1(clause, num, level)
129
+ @anchors[clause["id"]] = { label: num, xref: "#{@labels["annex"]} #{num}",
130
+ level: level, type: "clause" }
131
+ clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
132
+ annex_names1(c, "#{num}.#{i + 1}", level + 1)
133
+ end
134
+ end
135
+
136
+ ISO_PUBLISHER_XPATH =
137
+ "./contributor[xmlns:role/@type = 'publisher']/"\
138
+ "organization[abbreviation = 'ISO' or xmlns:abbreviation = 'IEC' or "\
139
+ "xmlns:name = 'International Organization for Standardization' or "\
140
+ "xmlns:name = 'International Electrotechnical Commission']".freeze
141
+
142
+ def reference_names(ref)
143
+ isopub = ref.at(ns(ISO_PUBLISHER_XPATH))
144
+ ids = @klass.bibitem_ref_code(ref)
145
+ identifiers = @klass.render_identifier(ids)
146
+ date = ref.at(ns("./date[@type = 'published']"))
147
+ reference = @klass.docid_l10n(identifiers[0] || identifiers[1])
148
+ @anchors[ref["id"]] = { xref: reference }
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,46 @@
1
+ require "metanorma"
2
+
3
+ module IsoDoc
4
+ class XslfoPdfConvert < ::IsoDoc::Convert
5
+
6
+ def initialize(options)
7
+ super
8
+ @maxwidth = 500
9
+ @maxheight = 800
10
+ end
11
+
12
+ def tmpimagedir_suffix
13
+ "_pdfimages"
14
+ end
15
+
16
+ def initialize(options)
17
+ @format = :pdf
18
+ @suffix = "pdf"
19
+ super
20
+ end
21
+
22
+ def pdf_stylesheet(docxml)
23
+ nil
24
+ end
25
+
26
+ def convert(input_filename, file = nil, debug = false, output_filename = nil)
27
+ file = File.read(input_filename, encoding: "utf-8") if file.nil?
28
+ docxml, filename, dir = convert_init(file, input_filename, debug)
29
+ /\.xml$/.match(input_filename) or
30
+ input_filename = Tempfile.open([filename, ".xml"], encoding: "utf-8") do |f|
31
+ f.write file
32
+ f.path
33
+ end
34
+ FileUtils.rm_rf dir
35
+ ::Metanorma::Output::XslfoPdf.new.convert(input_filename,
36
+ output_filename || "#{filename}.#{@suffix}",
37
+ File.join(@libdir, pdf_stylesheet(docxml)))
38
+ end
39
+
40
+ def xref_parse(node, out)
41
+ target = /#/.match(node["target"]) ? node["target"].sub(/#/, ".pdf#") :
42
+ "##{node["target"]}"
43
+ out.a(**{ "href": target }) { |l| l << get_linkend(node) }
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,6 @@
1
+
2
+ /* another empty stylesheet */
3
+
4
+ p {
5
+ font-family: $bodyfont;
6
+ }
@@ -0,0 +1,16 @@
1
+ foreword: Antaŭparolo
2
+ introduction: Enkonduko
3
+ clause: klaŭzo
4
+ table: Tabelo
5
+ source: SOURCE
6
+ modified: modified
7
+ scope: Amplekso
8
+ symbols: Simboloj kai mallongigitaj terminoj
9
+ annex: Aldono
10
+ normref: Normaj citaĵoj
11
+ bibliography: Bibliografio
12
+ inform_annex: informa
13
+ all_parts: ĉiuj partoj
14
+ locality: {
15
+ table: Tabelo
16
+ }
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
2
+ <circle fill="#009" r="45" cx="50" cy="50"/>
3
+ <path d="M33,26H78A37,37,0,0,1,33,83V57H59V43H33Z" fill="#FFF"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
2
+ <circle fill="#009" r="45" cx="50" cy="50"/>
3
+ <path d="M33,26H78A37,37,0,0,1,33,83V57H59V43H33Z" fill="#FFF"/>
4
+ </svg>
@@ -0,0 +1,2 @@
1
+
2
+ /* a third empty stylesheet */
@@ -0,0 +1,2 @@
1
+
2
+ /* one empty stylesheet */
@@ -0,0 +1,2643 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe IsoDoc do
4
+ it "processes unlabelled notes (Presentation XML)" do
5
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
6
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
7
+ <preface><foreword>
8
+ <note id="A" keep-with-next="true" keep-lines-together="true">
9
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
10
+ </note>
11
+ </foreword></preface>
12
+ </iso-standard>
13
+ INPUT
14
+ <?xml version='1.0'?>
15
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
16
+ <preface>
17
+ <foreword>
18
+ <note id='A' keep-with-next='true' keep-lines-together='true'>
19
+ <name>NOTE</name>
20
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
21
+ These results are based on a study carried out on three different
22
+ types of kernel.
23
+ </p>
24
+ </note>
25
+ </foreword>
26
+ </preface>
27
+ </iso-standard>
28
+ OUTPUT
29
+ end
30
+
31
+ it "processes unlabelled notes (HTML)" do
32
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
33
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
34
+ <preface>
35
+ <foreword>
36
+ <note id='A' keep-with-next='true' keep-lines-together='true'>
37
+ <name>NOTE</name>
38
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
39
+ These results are based on a study carried out on three different
40
+ types of kernel.
41
+ </p>
42
+ </note>
43
+ </foreword>
44
+ </preface>
45
+ </iso-standard>
46
+ INPUT
47
+ #{HTML_HDR}
48
+ <br/>
49
+ <div>
50
+ <h1 class="ForewordTitle">Foreword</h1>
51
+ <div id="A" class="Note" style="page-break-after: avoid;page-break-inside: avoid;">
52
+ <p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
53
+ </div>
54
+ </div>
55
+ <p class="zzSTDTitle1"/>
56
+ </div>
57
+ </body>
58
+ </html>
59
+ OUTPUT
60
+ end
61
+
62
+ it "processes unlabelled notes (Word)" do
63
+ expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
64
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
65
+ <preface>
66
+ <foreword>
67
+ <note id='A' keep-with-next='true' keep-lines-together='true'>
68
+ <name>NOTE</name>
69
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
70
+ These results are based on a study carried out on three different
71
+ types of kernel.
72
+ </p>
73
+ </note>
74
+ </foreword>
75
+ </preface>
76
+ </iso-standard>
77
+ INPUT
78
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
79
+ <head><style/></head>
80
+ <body lang="EN-US" link="blue" vlink="#954F72">
81
+ <div class="WordSection1">
82
+ <p>&#160;</p>
83
+ </div>
84
+ <p><br clear="all" class="section"/></p>
85
+ <div class="WordSection2">
86
+ <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
87
+ <div>
88
+ <h1 class="ForewordTitle">Foreword</h1>
89
+ <div id="A" class="Note" style='page-break-after: avoid;page-break-inside: avoid;'>
90
+ <p class="Note"><span class="note_label">NOTE</span><span style="mso-tab-count:1">&#160; </span>These results are based on a study carried out on three different types of kernel.</p>
91
+ </div>
92
+ </div>
93
+ <p>&#160;</p>
94
+ </div>
95
+ <p><br clear="all" class="section"/></p>
96
+ <div class="WordSection3">
97
+ <p class="zzSTDTitle1"/>
98
+ </div>
99
+ </body>
100
+ </html>
101
+ OUTPUT
102
+ end
103
+
104
+ it "processes sequences of notes (Presentation XML)" do
105
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
106
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
107
+ <preface><foreword>
108
+ <note id="note1">
109
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
110
+ </note>
111
+ <note id="note2">
112
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a">These results are based on a study carried out on three different types of kernel.</p>
113
+ </note>
114
+ </foreword></preface>
115
+ </iso-standard>
116
+ INPUT
117
+ <?xml version='1.0'?>
118
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
119
+ <preface>
120
+ <foreword>
121
+ <note id='note1'>
122
+ <name>NOTE 1</name>
123
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
124
+ These results are based on a study carried out on three different
125
+ types of kernel.
126
+ </p>
127
+ </note>
128
+ <note id='note2'>
129
+ <name>NOTE 2</name>
130
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a'>
131
+ These results are based on a study carried out on three different
132
+ types of kernel.
133
+ </p>
134
+ </note>
135
+ </foreword>
136
+ </preface>
137
+ </iso-standard>
138
+ OUTPUT
139
+ end
140
+
141
+ it "processes sequences of notes (HTML)" do
142
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
143
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
144
+ <preface>
145
+ <foreword>
146
+ <note id='note1'>
147
+ <name>NOTE 1</name>
148
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f'>
149
+ These results are based on a study carried out on three different
150
+ types of kernel.
151
+ </p>
152
+ </note>
153
+ <note id='note2'>
154
+ <name>NOTE 2</name>
155
+ <p id='_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a'>
156
+ These results are based on a study carried out on three different
157
+ types of kernel.
158
+ </p>
159
+ </note>
160
+ </foreword>
161
+ </preface>
162
+ </iso-standard>
163
+ INPUT
164
+ #{HTML_HDR}
165
+ <br/>
166
+ <div>
167
+ <h1 class="ForewordTitle">Foreword</h1>
168
+ <div id="note1" class="Note">
169
+ <p><span class="note_label">NOTE 1</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
170
+ </div>
171
+ <div id="note2" class="Note">
172
+ <p><span class="note_label">NOTE 2</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
173
+ </div>
174
+ </div>
175
+ <p class="zzSTDTitle1"/>
176
+ </div>
177
+ </body>
178
+ </html>
179
+ OUTPUT
180
+ end
181
+
182
+ it "processes multi-para notes" do
183
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
184
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
185
+ <preface><foreword>
186
+ <note>
187
+ <name>NOTE</name>
188
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83f">These results are based on a study carried out on three different types of kernel.</p>
189
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a">These results are based on a study carried out on three different types of kernel.</p>
190
+ </note>
191
+ </foreword></preface>
192
+ </iso-standard>
193
+ INPUT
194
+ #{HTML_HDR}
195
+ <br/>
196
+ <div>
197
+ <h1 class="ForewordTitle">Foreword</h1>
198
+ <div class="Note">
199
+ <p><span class="note_label">NOTE</span>&#160; These results are based on a study carried out on three different types of kernel.</p>
200
+ <p id="_f06fd0d1-a203-4f3d-a515-0bdba0f8d83a">These results are based on a study carried out on three different types of kernel.</p>
201
+ </div>
202
+ </div>
203
+ <p class="zzSTDTitle1"/>
204
+ </div>
205
+ </body>
206
+ </html>
207
+ OUTPUT
208
+ end
209
+
210
+ it "processes non-para notes" do
211
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
212
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
213
+ <preface><foreword>
214
+ <note id="A"><name>NOTE</name>
215
+ <dl>
216
+ <dt>A</dt>
217
+ <dd><p>B</p></dd>
218
+ </dl>
219
+ <ul>
220
+ <li>C</li></ul>
221
+ </note>
222
+ </foreword></preface>
223
+ </iso-standard>
224
+ INPUT
225
+ #{HTML_HDR}
226
+ <br/>
227
+ <div>
228
+ <h1 class="ForewordTitle">Foreword</h1>
229
+ <div id="A" class="Note"><p><span class="note_label">NOTE</span>&#160; </p>
230
+ <dl><dt><p>A</p></dt><dd><p>B</p></dd></dl>
231
+ <ul>
232
+ <li>C</li></ul>
233
+ </div>
234
+ </div>
235
+ <p class="zzSTDTitle1"/>
236
+ </div>
237
+ </body>
238
+ </html>
239
+
240
+ OUTPUT
241
+ end
242
+
243
+ it "processes non-para notes (Word)" do
244
+ expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
245
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
246
+ <preface><foreword>
247
+ <note id="A"><name>NOTE</name>
248
+ <dl>
249
+ <dt>A</dt>
250
+ <dd><p>B</p></dd>
251
+ </dl>
252
+ <ul>
253
+ <li>C</li></ul>
254
+ </note>
255
+ </foreword></preface>
256
+ </iso-standard>
257
+ INPUT
258
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
259
+ <head><style/></head>
260
+ <body lang="EN-US" link="blue" vlink="#954F72">
261
+ <div class="WordSection1">
262
+ <p>&#160;</p>
263
+ </div>
264
+ <p><br clear="all" class="section"/></p>
265
+ <div class="WordSection2">
266
+ <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
267
+ <div>
268
+ <h1 class="ForewordTitle">Foreword</h1>
269
+ <div id="A" class="Note"><p class="Note"><span class="note_label">NOTE</span><span style="mso-tab-count:1">&#160; </span></p>
270
+ <table class="dl"><tr><td valign="top" align="left"><p align="left" style="margin-left:0pt;text-align:left;">A</p></td><td valign="top"><p class="Note">B</p></td></tr></table>
271
+ <ul>
272
+ <li>C</li></ul>
273
+ </div>
274
+ </div>
275
+ <p>&#160;</p>
276
+ </div>
277
+ <p><br clear="all" class="section"/></p>
278
+ <div class="WordSection3">
279
+ <p class="zzSTDTitle1"/>
280
+ </div>
281
+ </body>
282
+ </html>
283
+ OUTPUT
284
+ end
285
+
286
+ it "processes paragraphs containing notes" do
287
+ expect(xmlpp(strip_guid(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
288
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
289
+ <preface><foreword>
290
+ <p id="A">ABC <note id="B"><name>NOTE 1</name><p id="C">XYZ</p></note>
291
+ <note id="B1"><name>NOTE 2</name><p id="C1">XYZ1</p></note></p>
292
+ </foreword></preface>
293
+ </iso-standard>
294
+ INPUT
295
+ #{HTML_HDR}
296
+ <br/>
297
+ <div>
298
+ <h1 class='ForewordTitle'>Foreword</h1>
299
+ <p id='A'>
300
+ ABC
301
+ <div id='B' class='Note'>
302
+ <p>
303
+ <span class='note_label'>NOTE 1</span>
304
+ &#160; XYZ
305
+ </p>
306
+ </div>
307
+ <div id='B1' class='Note'>
308
+ <p>
309
+ <span class='note_label'>NOTE 2</span>
310
+ &#160; XYZ1
311
+ </p>
312
+ </div>
313
+ </p>
314
+ </div>
315
+ <p class='zzSTDTitle1'/>
316
+ </div>
317
+ </body>
318
+ </html>
319
+ OUTPUT
320
+ end
321
+
322
+ it "processes paragraphs containing notes (Word)" do
323
+ expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
324
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
325
+ <preface><foreword>
326
+ <p id="A">ABC <note id="B"><name>NOTE 1</name><p id="C">XYZ</p></note>
327
+ <note id="B1"><name>NOTE 2</name><p id="C1">XYZ1</p></note></p>
328
+ </foreword></preface>
329
+ </iso-standard>
330
+ INPUT
331
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
332
+ <head>
333
+ <style/>
334
+ </head>
335
+ <body lang='EN-US' link='blue' vlink='#954F72'>
336
+ <div class='WordSection1'>
337
+ <p>&#160;</p>
338
+ </div>
339
+ <p>
340
+ <br clear='all' class='section'/>
341
+ </p>
342
+ <div class='WordSection2'>
343
+ <p>
344
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
345
+ </p>
346
+ <div>
347
+ <h1 class='ForewordTitle'>Foreword</h1>
348
+ <p id='A'>ABC </p>
349
+ <div id='B' class='Note'>
350
+ <p class='Note'>
351
+ <span class='note_label'>NOTE 1</span>
352
+ <span style='mso-tab-count:1'>&#160; </span>
353
+ XYZ
354
+ </p>
355
+ </div>
356
+ <div id='B1' class='Note'>
357
+ <p class='Note'>
358
+ <span class='note_label'>NOTE 2</span>
359
+ <span style='mso-tab-count:1'>&#160; </span>
360
+ XYZ1
361
+ </p>
362
+ </div>
363
+ </div>
364
+ <p>&#160;</p>
365
+ </div>
366
+ <p>
367
+ <br clear='all' class='section'/>
368
+ </p>
369
+ <div class='WordSection3'>
370
+ <p class='zzSTDTitle1'/>
371
+ </div>
372
+ </body>
373
+ </html>
374
+ OUTPUT
375
+ end
376
+
377
+ it "processes figures (Presentation XML)" do
378
+ expect(xmlpp((IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
379
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
380
+ <preface><foreword>
381
+ <figure id="figureA-1" keep-with-next="true" keep-lines-together="true">
382
+ <name>Split-it-right <em>sample</em> divider<fn reference="1"><p>X</p></fn></name>
383
+ <image src="rice_images/rice_image1.png" height="20" width="30" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png" alt="alttext" title="titletxt"/>
384
+ <image src="rice_images/rice_image1.png" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f1" mimetype="image/png"/>
385
+ <image src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f2" mimetype="image/png"/>
386
+ <fn reference="a">
387
+ <p id="_ef2c85b8-5a5a-4ecd-a1e6-92acefaaa852">The time <stem type="AsciiMath">t_90</stem> was estimated to be 18,2 min for this example.</p>
388
+ </fn>
389
+ <dl>
390
+ <dt>A</dt>
391
+ <dd><p>B</p></dd>
392
+ </dl>
393
+ </figure>
394
+ <figure id="figure-B">
395
+ <pre alt="A B">A &lt;
396
+ B</pre>
397
+ </figure>
398
+ <figure id="figure-C" unnumbered="true">
399
+ <pre>A &lt;
400
+ B</pre>
401
+ </figure>
402
+ </foreword></preface>
403
+ </iso-standard>
404
+ INPUT
405
+ <?xml version='1.0'?>
406
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
407
+ <preface><foreword>
408
+ <figure id="figureA-1" keep-with-next="true" keep-lines-together="true">
409
+ <name>Figure 1&#xA0;&#x2014; Split-it-right <em>sample</em> divider<fn reference="1"><p>X</p></fn></name>
410
+ <image src="rice_images/rice_image1.png" height="20" width="30" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png" alt="alttext" title="titletxt"/>
411
+ <image src="rice_images/rice_image1.png" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f1" mimetype="image/png"/>
412
+ <image src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f2" mimetype="image/png"/>
413
+ <fn reference="a">
414
+ <p id="_ef2c85b8-5a5a-4ecd-a1e6-92acefaaa852">The time <stem type="AsciiMath">t_90</stem> was estimated to be 18,2 min for this example.</p>
415
+ </fn>
416
+ <dl>
417
+ <dt>A</dt>
418
+ <dd><p>B</p></dd>
419
+ </dl>
420
+ </figure>
421
+ <figure id="figure-B">
422
+ <name>Figure 2</name>
423
+ <pre alt="A B">A &lt;
424
+ B</pre>
425
+ </figure>
426
+ <figure id="figure-C" unnumbered="true">
427
+ <pre>A &lt;
428
+ B</pre>
429
+ </figure>
430
+ </foreword></preface>
431
+ </iso-standard>
432
+ OUTPUT
433
+ end
434
+
435
+ it "processes figures (HTML)" do
436
+ expect(xmlpp(strip_guid(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
437
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
438
+ <preface><foreword>
439
+ <figure id="figureA-1" keep-with-next="true" keep-lines-together="true">
440
+ <name>Figure 1&#xA0;&#x2014; Split-it-right <em>sample</em> divider<fn reference="1"><p>X</p></fn></name>
441
+ <image src="rice_images/rice_image1.png" height="20" width="30" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png" alt="alttext" title="titletxt"/>
442
+ <image src="rice_images/rice_image1.png" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f1" mimetype="image/png"/>
443
+ <image src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f2" mimetype="image/png"/>
444
+ <fn reference="a">
445
+ <p id="_ef2c85b8-5a5a-4ecd-a1e6-92acefaaa852">The time <stem type="AsciiMath">t_90</stem> was estimated to be 18,2 min for this example.</p>
446
+ </fn>
447
+ <dl>
448
+ <dt>A</dt>
449
+ <dd><p>B</p></dd>
450
+ </dl>
451
+ </figure>
452
+ <figure id="figure-B">
453
+ <name>Figure 2</name>
454
+ <pre alt="A B">A &lt;
455
+ B</pre>
456
+ </figure>
457
+ <figure id="figure-C" unnumbered="true">
458
+ <pre>A &lt;
459
+ B</pre>
460
+ </figure>
461
+ </foreword></preface>
462
+ </iso-standard>
463
+ INPUT
464
+ #{HTML_HDR}
465
+ <br/>
466
+ <div>
467
+ <h1 class="ForewordTitle">Foreword</h1>
468
+ <div id="figureA-1" class="figure" style='page-break-after: avoid;page-break-inside: avoid;'>
469
+
470
+ <img src="rice_images/rice_image1.png" height="20" width="30" alt="alttext" title="titletxt"/>
471
+ <img src="rice_images/rice_image1.png" height="20" width="auto"/>
472
+ <img src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" height="20" width="auto"/>
473
+ <a href="#_" class="TableFootnoteRef">a</a><aside class="footnote"><div id="fn:_"><span><span id="_" class="TableFootnoteRef">a</span>&#160; </span>
474
+ <p id="_">The time <span class="stem">(#(t_90)#)</span> was estimated to be 18,2 min for this example.</p>
475
+ </div></aside>
476
+ <p style='page-break-after:avoid;'><b>Key</b></p><dl><dt><p>A</p></dt><dd><p>B</p></dd></dl>
477
+ <p class="FigureTitle" style="text-align:center;">Figure 1&#160;&#8212; Split-it-right <i>sample</i> divider
478
+ <a class='FootnoteRef' href='#fn:1'>
479
+ <sup>1</sup>
480
+ </a>
481
+ </p></div>
482
+ <div class="figure" id="figure-B">
483
+ <pre>A &lt;
484
+ B</pre>
485
+ <p class="FigureTitle" style="text-align:center;">Figure 2</p>
486
+ </div>
487
+ <div class="figure" id="figure-C">
488
+ <pre>A &lt;
489
+ B</pre>
490
+ </div>
491
+ </div>
492
+ <p class="zzSTDTitle1"/>
493
+ <aside id='fn:1' class='footnote'>
494
+ <p>X</p>
495
+ </aside>
496
+ </div>
497
+ </body>
498
+ </html>
499
+ OUTPUT
500
+ end
501
+
502
+ it "processes figures (Word)" do
503
+ FileUtils.rm_rf "spec/assets/odf1.emf"
504
+ expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true).sub(/['"][^'".]+\.gif['"]/, "'_.gif'").gsub(/mso-bookmark:_Ref\d+/, "mso-bookmark:_Ref")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
505
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
506
+ <preface><foreword>
507
+ <figure id="figureA-1" keep-with-next="true" keep-lines-together="true">
508
+ <name>Figure 1&#xA0;&#x2014; Split-it-right <em>sample</em> divider<fn reference="1"><p>X</p></fn></name>
509
+ <image src="rice_images/rice_image1.png" height="20" width="30" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png" alt="alttext" title="titletxt"/>
510
+ <image src="rice_images/rice_image1.png" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f1" mimetype="image/png"/>
511
+ <image src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" height="20" width="auto" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f2" mimetype="image/png"/>
512
+ <fn reference="a">
513
+ <p id="_ef2c85b8-5a5a-4ecd-a1e6-92acefaaa852">The time <stem type="AsciiMath">t_90</stem> was estimated to be 18,2 min for this example.</p>
514
+ </fn>
515
+ <dl>
516
+ <dt>A</dt>
517
+ <dd><p>B</p></dd>
518
+ </dl>
519
+ </figure>
520
+ <figure id="figure-B">
521
+ <name>Figure 2</name>
522
+ <pre alt="A B">A &lt;
523
+ B</pre>
524
+ </figure>
525
+ <figure id="figure-C" unnumbered="true">
526
+ <pre>A &lt;
527
+ B</pre>
528
+ </figure>
529
+ </foreword></preface>
530
+ </iso-standard>
531
+ INPUT
532
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
533
+ <head><style/></head>
534
+ <body lang="EN-US" link="blue" vlink="#954F72">
535
+ <div class="WordSection1">
536
+ <p>&#160;</p>
537
+ </div>
538
+ <p><br clear="all" class="section"/></p>
539
+ <div class="WordSection2">
540
+ <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
541
+ <div>
542
+ <h1 class="ForewordTitle">Foreword</h1>
543
+ <div id="figureA-1" class="figure" style='page-break-after: avoid;page-break-inside: avoid;'>
544
+ <img src="rice_images/rice_image1.png" height="20" width="30" alt="alttext" title="titletxt"/>
545
+ <img src="rice_images/rice_image1.png" height='20' width='auto'/>
546
+ <img src='_.gif' height='20' width='auto'/>
547
+ <a href="#_" class="TableFootnoteRef">a</a><aside><div id="ftn_"><span><span id="_" class="TableFootnoteRef">a</span><span style="mso-tab-count:1">&#160; </span></span>
548
+ <p id="_">The time <span class="stem">(#(t_90)#)</span> was estimated to be 18,2 min for this example.</p>
549
+ </div></aside>
550
+ <p style='page-break-after:avoid;'><b>Key</b></p><table class="dl"><tr><td valign="top" align="left"><p align="left" style="margin-left:0pt;text-align:left;">A</p></td><td valign="top"><p>B</p></td></tr></table>
551
+ <p class='FigureTitle' style='text-align:center;'>
552
+ Figure 1&#160;&#8212; Split-it-right <i>sample</i> divider
553
+ <span style='mso-bookmark:_Ref'>
554
+ <a href='#ftn1' epub:type='footnote' class='FootnoteRef'>
555
+ <sup>1</sup>
556
+ </a>
557
+ </span>
558
+ </p>
559
+ </div>
560
+ <div class="figure" id="figure-B">
561
+ <pre>A &lt;
562
+ B</pre>
563
+ <p class="FigureTitle" style="text-align:center;">Figure 2</p>
564
+ </div>
565
+ <div id='figure-C' class='figure'>
566
+ <pre>A &lt; B</pre>
567
+ </div>
568
+ </div>
569
+ <p>&#160;</p>
570
+ </div>
571
+ <p><br clear="all" class="section"/></p>
572
+ <div class="WordSection3">
573
+ <p class="zzSTDTitle1"/>
574
+ <aside id='ftn1'>
575
+ <p>X</p>
576
+ </aside>
577
+ </div>
578
+ </body>
579
+ </html>
580
+ OUTPUT
581
+ end
582
+
583
+ it "converts SVG (Word)" do
584
+ FileUtils.rm_rf "spec/assets/odf1.emf"
585
+ expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true).gsub(/['"][^'".]+(?<!odf1)(?<!odf)\.emf['"]/, "'_.emf'").gsub(/mso-bookmark:_Ref\d+/, "mso-bookmark:_Ref")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
586
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
587
+ <preface><foreword>
588
+ <figure id="figureA-1">
589
+ <image src="spec/assets/odf.svg" mimetype="image/svg+xml"/>
590
+ <image src="spec/assets/odf1.svg" mimetype="image/svg+xml"/>
591
+ <image src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8Y2lyY2xlIGZpbGw9IiMwMDkiIHI9IjQ1IiBjeD0iNTAiIGN5PSI1MCIvPgogIDxwYXRoIGQ9Ik0zMywyNkg3OEEzNywzNywwLDAsMSwzMyw4M1Y1N0g1OVY0M0gzM1oiIGZpbGw9IiNGRkYiLz4KPC9zdmc+Cg==" id="_d3731866-1a07-435a-a6c2-1acd41023a4e" mimetype="image/svg+xml" height="auto" width="auto"/>
592
+ </figure>
593
+ </foreword></preface>
594
+ </iso-standard>
595
+ INPUT
596
+ <html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
597
+ <head>
598
+ <style>
599
+ </style>
600
+ </head>
601
+ <body lang='EN-US' link='blue' vlink='#954F72'>
602
+ <div class='WordSection1'>
603
+ <p>&#160;</p>
604
+ </div>
605
+ <p>
606
+ <br clear='all' class='section'/>
607
+ </p>
608
+ <div class='WordSection2'>
609
+ <p>
610
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
611
+ </p>
612
+ <div>
613
+ <h1 class='ForewordTitle'>Foreword</h1>
614
+ <div id='figureA-1' class='figure'>
615
+ <img src='spec/assets/odf.emf'/>
616
+ <img src='spec/assets/odf1.emf'/>
617
+ <img src='_.emf' height='auto' width='auto'/>
618
+ </div>
619
+ </div>
620
+ <p>&#160;</p>
621
+ </div>
622
+ <p>
623
+ <br clear='all' class='section'/>
624
+ </p>
625
+ <div class='WordSection3'>
626
+ <p class='zzSTDTitle1'/>
627
+ </div>
628
+ </body>
629
+ </html>
630
+
631
+ OUTPUT
632
+ end
633
+
634
+ context "disable inkscape" do
635
+
636
+ it "converts SVG (Word) with inkscape disabled" do
637
+ FileUtils.rm_rf "spec/assets/odf1.emf"
638
+ allow(IsoDoc::WordFunction::Body).to receive(:inkscape_installed?).and_return(nil)
639
+ allow_any_instance_of(IsoDoc::WordFunction::Body).to receive(:inkscape_installed?)
640
+
641
+ expect(xmlpp(strip_guid(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true).gsub(/['"][^'".]+(?<!odf1)(?<!odf)\.svg['"]/, "'_.svg'").gsub(/mso-bookmark:_Ref\d+/, "mso-bookmark:_Ref")))).to be_equivalent_to xmlpp(<<~"OUTPUT")
642
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
643
+ <preface><foreword>
644
+ <figure id="figureA-1">
645
+ <image src="spec/assets/odf.svg" mimetype="image/svg+xml"/>
646
+ <image src="spec/assets/odf1.svg" mimetype="image/svg+xml"/>
647
+ <image src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8Y2lyY2xlIGZpbGw9IiMwMDkiIHI9IjQ1IiBjeD0iNTAiIGN5PSI1MCIvPgogIDxwYXRoIGQ9Ik0zMywyNkg3OEEzNywzNywwLDAsMSwzMyw4M1Y1N0g1OVY0M0gzM1oiIGZpbGw9IiNGRkYiLz4KPC9zdmc+Cg==" id="_d3731866-1a07-435a-a6c2-1acd41023a4e" mimetype="image/svg+xml" height="auto" width="auto"/>
648
+ </figure>
649
+ </foreword></preface>
650
+ </iso-standard>
651
+ INPUT
652
+ <html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
653
+ <head>
654
+ <style>
655
+ </style>
656
+ </head>
657
+ <body lang='EN-US' link='blue' vlink='#954F72'>
658
+ <div class='WordSection1'>
659
+ <p>&#160;</p>
660
+ </div>
661
+ <p>
662
+ <br clear='all' class='section'/>
663
+ </p>
664
+ <div class='WordSection2'>
665
+ <p>
666
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
667
+ </p>
668
+ <div>
669
+ <h1 class='ForewordTitle'>Foreword</h1>
670
+ <div id='figureA-1' class='figure'>
671
+ <img src='spec/assets/odf.emf'/>
672
+ <img src='spec/assets/odf1.svg'/>
673
+ <img src='_.svg' height='auto' width='auto'/>
674
+ </div>
675
+ </div>
676
+ <p>&#160;</p>
677
+ </div>
678
+ <p>
679
+ <br clear='all' class='section'/>
680
+ </p>
681
+ <div class='WordSection3'>
682
+ <p class='zzSTDTitle1'/>
683
+ </div>
684
+ </body>
685
+ </html>
686
+
687
+ OUTPUT
688
+ end
689
+ end
690
+
691
+ it "processes examples (Presentation XML)" do
692
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
693
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
694
+ <preface><foreword>
695
+ <example id="samplecode" keep-with-next="true" keep-lines-together="true">
696
+ <name>Title</name>
697
+ <p>Hello</p>
698
+ <sourcecode id="X">
699
+ <name>Sample</name>
700
+ </sourcecode>
701
+ </example>
702
+ </foreword></preface>
703
+ </iso-standard>
704
+ INPUT
705
+ <?xml version='1.0'?>
706
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
707
+ <preface>
708
+ <foreword>
709
+ <example id='samplecode' keep-with-next='true' keep-lines-together='true'>
710
+ <name>EXAMPLE&#xA0;&#x2014; Title</name>
711
+ <p>Hello</p>
712
+ <sourcecode id='X'>
713
+ <name>Sample</name>
714
+ </sourcecode>
715
+ </example>
716
+ </foreword>
717
+ </preface>
718
+ </iso-standard>
719
+ OUTPUT
720
+ end
721
+
722
+ it "processes examples (HTML)" do
723
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
724
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
725
+ <preface>
726
+ <foreword>
727
+ <example id='samplecode' keep-with-next='true' keep-lines-together='true'>
728
+ <name>EXAMPLE&#xA0;&#x2014; Title</name>
729
+ <p>Hello</p>
730
+ <sourcecode id='X'><name>Sample</name></sourcecode>
731
+ </example>
732
+ </foreword>
733
+ </preface>
734
+ </iso-standard>
735
+ INPUT
736
+ #{HTML_HDR}
737
+ <br/>
738
+ <div>
739
+ <h1 class="ForewordTitle">Foreword</h1>
740
+ <div id="samplecode" class="example" style="page-break-after: avoid;page-break-inside: avoid;">
741
+ <p class="example-title">EXAMPLE&#160;&#8212; Title</p>
742
+ <p>Hello</p>
743
+ <pre id='X' class='prettyprint '/>
744
+ <p class='SourceTitle' style='text-align:center;'>Sample</p>
745
+ </div>
746
+ </div>
747
+ <p class="zzSTDTitle1"/>
748
+ </div>
749
+ </body>
750
+ </html>
751
+ OUTPUT
752
+ end
753
+
754
+ it "processes examples (Word)" do
755
+ expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
756
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
757
+ <preface>
758
+ <foreword>
759
+ <example id='samplecode' keep-with-next='true' keep-lines-together='true'>
760
+ <name>EXAMPLE&#xA0;&#x2014; Title</name>
761
+ <p>Hello</p>
762
+ <sourcecode id='X'><name>Sample</name></sourcecode>
763
+ </example>
764
+ </foreword>
765
+ </preface>
766
+ </iso-standard>
767
+ INPUT
768
+ <html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'><head><style>
769
+ </style>
770
+ </head>
771
+ <body lang='EN-US' link='blue' vlink='#954F72'>
772
+ <div class='WordSection1'>
773
+ <p>&#160;</p>
774
+ </div>
775
+ <p>
776
+ <br clear='all' class='section'/>
777
+ </p>
778
+ <div class='WordSection2'>
779
+ <p>
780
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
781
+ </p>
782
+ <div>
783
+ <h1 class='ForewordTitle'>Foreword</h1>
784
+ <div id='samplecode' class='example' style='page-break-after: avoid;page-break-inside: avoid;'>
785
+ <p class='example-title'>EXAMPLE&#160;&#8212; Title</p>
786
+ <p>Hello</p>
787
+ <p id='X' class='Sourcecode'/>
788
+ <p class='SourceTitle' style='text-align:center;'>Sample</p>
789
+ </div>
790
+ </div>
791
+ <p>&#160;</p>
792
+ </div>
793
+ <p>
794
+ <br clear='all' class='section'/>
795
+ </p>
796
+ <div class='WordSection3'>
797
+ <p class='zzSTDTitle1'/>
798
+ </div>
799
+ </body>
800
+ </html>
801
+ OUTPUT
802
+ end
803
+
804
+ it "processes sequences of examples" do
805
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
806
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
807
+ <preface><foreword>
808
+ <example id="samplecode">
809
+ <p>Hello</p>
810
+ </example>
811
+ <example id="samplecode2">
812
+ <name>Title</name>
813
+ <p>Hello</p>
814
+ </example>
815
+ <example id="samplecode3" unnumbered="true">
816
+ <p>Hello</p>
817
+ </example>
818
+ </foreword></preface>
819
+ </iso-standard>
820
+ INPUT
821
+ <?xml version='1.0'?>
822
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
823
+ <preface>
824
+ <foreword>
825
+ <example id='samplecode'>
826
+ <name>EXAMPLE 1</name>
827
+ <p>Hello</p>
828
+ </example>
829
+ <example id='samplecode2'>
830
+ <name>EXAMPLE 2&#xA0;&#x2014; Title</name>
831
+ <p>Hello</p>
832
+ </example>
833
+ <example id='samplecode3' unnumbered='true'>
834
+ <name>EXAMPLE</name>
835
+ <p>Hello</p>
836
+ </example>
837
+ </foreword>
838
+ </preface>
839
+ </iso-standard>
840
+ OUTPUT
841
+ end
842
+
843
+ it "processes sourcecode (Presentation XML)" do
844
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
845
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
846
+ <preface><foreword>
847
+ <sourcecode lang="ruby" id="samplecode">
848
+ <name>Ruby <em>code</em></name>
849
+ puts x
850
+ </sourcecode>
851
+ <sourcecode unnumbered="true">
852
+ Que?
853
+ </sourcecode>
854
+ </foreword></preface>
855
+ </iso-standard>
856
+ INPUT
857
+ <?xml version='1.0'?>
858
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
859
+ <preface>
860
+ <foreword>
861
+ <sourcecode lang='ruby' id='samplecode'>
862
+ <name>
863
+ Figure 1&#xA0;&#x2014; Ruby
864
+ <em>code</em>
865
+ </name>
866
+ puts x
867
+ </sourcecode>
868
+ <sourcecode unnumbered='true'> Que? </sourcecode>
869
+ </foreword>
870
+ </preface>
871
+ </iso-standard>
872
+ OUTPUT
873
+ end
874
+
875
+ it "processes sourcecode (HTML)" do
876
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
877
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
878
+ <preface>
879
+ <foreword>
880
+ <sourcecode lang='ruby' id='samplecode'>
881
+ <name>
882
+ Figure 1&#xA0;&#x2014; Ruby
883
+ <em>code</em>
884
+ </name>
885
+ puts x
886
+ </sourcecode>
887
+ <sourcecode unnumbered='true'>
888
+ Que?
889
+ </sourcecode>
890
+ </foreword>
891
+ </preface>
892
+ </iso-standard>
893
+ INPUT
894
+ #{HTML_HDR}
895
+ <br/>
896
+ <div>
897
+ <h1 class="ForewordTitle">Foreword</h1>
898
+ <pre id="samplecode" class="prettyprint lang-rb"><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br/>&#160; puts x<br/></pre>
899
+ <p class="SourceTitle" style="text-align:center;">Figure 1&#160;&#8212; Ruby <i>code</i></p>
900
+ <pre class='prettyprint '>
901
+ <br/>
902
+ Que?
903
+ <br/>
904
+ </pre>
905
+ </div>
906
+ <p class="zzSTDTitle1"/>
907
+ </div>
908
+ </body>
909
+ </html>
910
+ OUTPUT
911
+ end
912
+
913
+ it "processes sourcecode (Word)" do
914
+ expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
915
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
916
+ <preface>
917
+ <foreword>
918
+ <sourcecode lang='ruby' id='samplecode'>
919
+ <name>
920
+ Figure 1&#xA0;&#x2014; Ruby
921
+ <em>code</em>
922
+ </name>
923
+ puts x
924
+ </sourcecode>
925
+ <sourcecode unnumbered='true'>
926
+ Que?
927
+ </sourcecode>
928
+ </foreword>
929
+ </preface>
930
+ </iso-standard>
931
+ INPUT
932
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
933
+ <head><style/></head>
934
+ <body lang="EN-US" link="blue" vlink="#954F72">
935
+ <div class="WordSection1">
936
+ <p>&#160;</p>
937
+ </div>
938
+ <p>
939
+ <br clear="all" class="section"/>
940
+ </p>
941
+ <div class="WordSection2">
942
+ <p>
943
+ <br clear="all" style="mso-special-character:line-break;page-break-before:always"/>
944
+ </p>
945
+ <div>
946
+ <h1 class="ForewordTitle">Foreword</h1>
947
+ <p id="samplecode" class="Sourcecode"><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br/>&#160; puts x<br/></p><p class="SourceTitle" style="text-align:center;">Figure 1&#160;&#8212; Ruby <i>code</i></p>
948
+ <p class='Sourcecode'>
949
+ <br/>
950
+ Que?
951
+ <br/>
952
+ </p>
953
+ </div>
954
+ <p>&#160;</p>
955
+ </div>
956
+ <p>
957
+ <br clear="all" class="section"/>
958
+ </p>
959
+ <div class="WordSection3">
960
+ <p class="zzSTDTitle1"/>
961
+ </div>
962
+ </body>
963
+ </html>
964
+ OUTPUT
965
+ end
966
+
967
+ it "processes sourcecode with escapes preserved" do
968
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
969
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
970
+ <preface><foreword>
971
+ <sourcecode id="samplecode">
972
+ <name>XML code</name>
973
+ &lt;xml&gt;
974
+ </sourcecode>
975
+ </foreword></preface>
976
+ </iso-standard>
977
+ INPUT
978
+ #{HTML_HDR}
979
+ <br/>
980
+ <div>
981
+ <h1 class="ForewordTitle">Foreword</h1>
982
+ <pre id="samplecode" class="prettyprint "><br/>&#160;&#160;&#160; <br/>&#160; &lt;xml&gt;<br/></pre>
983
+ <p class="SourceTitle" style="text-align:center;">XML code</p>
984
+ </div>
985
+ <p class="zzSTDTitle1"/>
986
+ </div>
987
+ </body>
988
+ </html>
989
+ OUTPUT
990
+ end
991
+
992
+ it "processes sourcecode with annotations" do
993
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
994
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
995
+ <preface><foreword>
996
+ <sourcecode id="_">puts "Hello, world." <callout target="A">1</callout>
997
+ %w{a b c}.each do |x|
998
+ puts x <callout target="B">2</callout>
999
+ end<annotation id="A">
1000
+ <p id="_">This is <em>one</em> callout</p>
1001
+ </annotation><annotation id="B">
1002
+ <p id="_">This is another callout</p>
1003
+ </annotation></sourcecode>
1004
+ </foreword></preface>
1005
+ </iso-standard>
1006
+ INPUT
1007
+ #{HTML_HDR}
1008
+ <br/>
1009
+ <div>
1010
+ <h1 class="ForewordTitle">Foreword</h1>
1011
+ <pre id="_" class="prettyprint ">puts "Hello, world." &lt;1&gt;<br/>&#160;&#160; %w{a b c}.each do |x|<br/>&#160;&#160;&#160;&#160; puts x &lt;2&gt;<br/>&#160;&#160; end<br/><br/>&lt;1&gt; This is one callout<br/>&lt;2&gt; This is another callout</pre>
1012
+ </div>
1013
+ <p class="zzSTDTitle1"/>
1014
+ </div>
1015
+ </body>
1016
+ </html>
1017
+ OUTPUT
1018
+ end
1019
+
1020
+ it "processes admonitions" do
1021
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1022
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1023
+ <preface><foreword>
1024
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution" keep-with-next="true" keep-lines-together="true">
1025
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1026
+ </admonition>
1027
+ </foreword></preface>
1028
+ </iso-standard>
1029
+ INPUT
1030
+ #{HTML_HDR}
1031
+ <br/>
1032
+ <div>
1033
+ <h1 class="ForewordTitle">Foreword</h1>
1034
+ <div class="Admonition" id='_70234f78-64e5-4dfc-8b6f-f3f037348b6a' style='page-break-after: avoid;page-break-inside: avoid;'><p class="AdmonitionTitle" style="text-align:center;">CAUTION</p>
1035
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1036
+ </div>
1037
+ </div>
1038
+ <p class="zzSTDTitle1"/>
1039
+ </div>
1040
+ </body>
1041
+ </html>
1042
+ OUTPUT
1043
+ end
1044
+
1045
+ it "processes admonitions with titles" do
1046
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1047
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1048
+ <preface><foreword>
1049
+ <admonition id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a" type="caution">
1050
+ <name>Title</name>
1051
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1052
+ </admonition>
1053
+ </foreword></preface>
1054
+ </iso-standard>
1055
+ INPUT
1056
+ #{HTML_HDR}
1057
+ <br/>
1058
+ <div>
1059
+ <h1 class="ForewordTitle">Foreword</h1>
1060
+ <div class="Admonition" id="_70234f78-64e5-4dfc-8b6f-f3f037348b6a"><p class="AdmonitionTitle" style="text-align:center;">Title</p>
1061
+ <p id="_e94663cc-2473-4ccc-9a72-983a74d989f2">Only use paddy or parboiled rice for the determination of husked rice yield.</p>
1062
+ </div>
1063
+ </div>
1064
+ <p class="zzSTDTitle1"/>
1065
+ </div>
1066
+ </body>
1067
+ </html>
1068
+ OUTPUT
1069
+ end
1070
+
1071
+ it "processes formulae (PresentationXML)" do
1072
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1073
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1074
+ <preface><foreword>
1075
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181934" unnumbered="true" keep-with-next="true" keep-lines-together="true">
1076
+ <stem type="AsciiMath">r = 1 %</stem>
1077
+ <dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d">
1078
+ <dt>
1079
+ <stem type="AsciiMath">r</stem>
1080
+ </dt>
1081
+ <dd>
1082
+ <p id="_1b99995d-ff03-40f5-8f2e-ab9665a69b77">is the repeatability limit.</p>
1083
+ </dd>
1084
+ </dl>
1085
+ <note id="_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0">
1086
+ <p id="_511aaa98-4116-42af-8e5b-c87cdf5bfdc8">[durationUnits] is essentially a duration statement without the "P" prefix. "P" is unnecessary because between "G" and "U" duration is always expressed.</p>
1087
+ </note>
1088
+ </formula>
1089
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181935">
1090
+ <stem type="AsciiMath">r = 1 %</stem>
1091
+ </formula>
1092
+ </foreword></preface>
1093
+ </iso-standard>
1094
+ INPUT
1095
+ <?xml version='1.0'?>
1096
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
1097
+ <preface>
1098
+ <foreword>
1099
+ <formula id='_be9158af-7e93-4ee2-90c5-26d31c181934' unnumbered='true' keep-with-next='true' keep-lines-together='true'>
1100
+ <stem type='AsciiMath'>r = 1 %</stem>
1101
+ <dl id='_e4fe94fe-1cde-49d9-b1ad-743293b7e21d'>
1102
+ <dt>
1103
+ <stem type='AsciiMath'>r</stem>
1104
+ </dt>
1105
+ <dd>
1106
+ <p id='_1b99995d-ff03-40f5-8f2e-ab9665a69b77'>is the repeatability limit.</p>
1107
+ </dd>
1108
+ </dl>
1109
+ <note id='_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0'>
1110
+ <name>NOTE</name>
1111
+ <p id='_511aaa98-4116-42af-8e5b-c87cdf5bfdc8'>
1112
+ [durationUnits] is essentially a duration statement without the "P"
1113
+ prefix. "P" is unnecessary because between "G" and "U" duration is
1114
+ always expressed.
1115
+ </p>
1116
+ </note>
1117
+ </formula>
1118
+ <formula id='_be9158af-7e93-4ee2-90c5-26d31c181935'>
1119
+ <name>1</name>
1120
+ <stem type='AsciiMath'>r = 1 %</stem>
1121
+ </formula>
1122
+ </foreword>
1123
+ </preface>
1124
+ </iso-standard>
1125
+ OUTPUT
1126
+ end
1127
+
1128
+ it "processes formulae (HTML)" do
1129
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1130
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1131
+ <preface><foreword>
1132
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181934" unnumbered="true" keep-with-next="true" keep-lines-together="true">
1133
+ <stem type="AsciiMath">r = 1 %</stem>
1134
+ <dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d">
1135
+ <dt>
1136
+ <stem type="AsciiMath">r</stem>
1137
+ </dt>
1138
+ <dd>
1139
+ <p id="_1b99995d-ff03-40f5-8f2e-ab9665a69b77">is the repeatability limit.</p>
1140
+ </dd>
1141
+ </dl>
1142
+ <note id="_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0">
1143
+ <name>NOTE</name>
1144
+ <p id="_511aaa98-4116-42af-8e5b-c87cdf5bfdc8">[durationUnits] is essentially a duration statement without the "P" prefix. "P" is unnecessary because between "G" and "U" duration is always expressed.</p>
1145
+ </note>
1146
+ </formula>
1147
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181935"><name>1</name>
1148
+ <stem type="AsciiMath">r = 1 %</stem>
1149
+ </formula>
1150
+ </foreword></preface>
1151
+ </iso-standard>
1152
+ INPUT
1153
+ #{HTML_HDR}
1154
+ <br/>
1155
+ <div>
1156
+ <h1 class="ForewordTitle">Foreword</h1>
1157
+ <div id="_be9158af-7e93-4ee2-90c5-26d31c181934" style='page-break-after: avoid;page-break-inside: avoid;'><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div><p style='page-break-after:avoid;'>where</p><dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d" class="formula_dl"><dt>
1158
+ <span class="stem">(#(r)#)</span>
1159
+ </dt><dd>
1160
+ <p id="_1b99995d-ff03-40f5-8f2e-ab9665a69b77">is the repeatability limit.</p>
1161
+ </dd></dl>
1162
+
1163
+
1164
+ <div id="_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0" class="Note"><p><span class="note_label">NOTE</span>&#160; [durationUnits] is essentially a duration statement without the "P" prefix. "P" is unnecessary because between "G" and "U" duration is always expressed.</p></div></div>
1165
+
1166
+ <div id="_be9158af-7e93-4ee2-90c5-26d31c181935"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div></div>
1167
+ </div>
1168
+ <p class="zzSTDTitle1"/>
1169
+ </div>
1170
+ </body>
1171
+ </html>
1172
+ OUTPUT
1173
+ end
1174
+
1175
+ it "processes formulae (Word)" do
1176
+ expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1177
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1178
+ <preface><foreword>
1179
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181934" unnumbered="true" keep-with-next="true" keep-lines-together="true">
1180
+ <stem type="AsciiMath">r = 1 %</stem>
1181
+ <dl id="_e4fe94fe-1cde-49d9-b1ad-743293b7e21d">
1182
+ <dt>
1183
+ <stem type="AsciiMath">r</stem>
1184
+ </dt>
1185
+ <dd>
1186
+ <p id="_1b99995d-ff03-40f5-8f2e-ab9665a69b77">is the repeatability limit.</p>
1187
+ </dd>
1188
+ </dl>
1189
+ <note id="_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0">
1190
+ <name>NOTE</name>
1191
+ <p id="_511aaa98-4116-42af-8e5b-c87cdf5bfdc8">[durationUnits] is essentially a duration statement without the "P" prefix. "P" is unnecessary because between "G" and "U" duration is always expressed.</p>
1192
+ </note>
1193
+ </formula>
1194
+ <formula id="_be9158af-7e93-4ee2-90c5-26d31c181935"><name>1</name>
1195
+ <stem type="AsciiMath">r = 1 %</stem>
1196
+ </formula>
1197
+ </foreword></preface>
1198
+ </iso-standard>
1199
+ INPUT
1200
+ <html xmlns:epub='http://www.idpf.org/2007/ops' lang='en'>
1201
+ <head>
1202
+ <style>
1203
+ </style>
1204
+ </head>
1205
+ <body lang='EN-US' link='blue' vlink='#954F72'>
1206
+ <div class='WordSection1'>
1207
+ <p>&#160;</p>
1208
+ </div>
1209
+ <p>
1210
+ <br clear='all' class='section'/>
1211
+ </p>
1212
+ <div class='WordSection2'>
1213
+ <p>
1214
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
1215
+ </p>
1216
+ <div>
1217
+ <h1 class='ForewordTitle'>Foreword</h1>
1218
+ <div id='_be9158af-7e93-4ee2-90c5-26d31c181934' style='page-break-after: avoid;page-break-inside: avoid;'><div class='formula'>
1219
+ <p>
1220
+ <span class='stem'>(#(r = 1 %)#)</span>
1221
+ </p>
1222
+ </div>
1223
+ <p>where</p>
1224
+ <table class='formula_dl'>
1225
+ <tr>
1226
+ <td valign='top' align='left'>
1227
+ <p align='left' style='margin-left:0pt;text-align:left;'>
1228
+ <span class='stem'>(#(r)#)</span>
1229
+ </p>
1230
+ </td>
1231
+ <td valign='top'>
1232
+ <p id='_1b99995d-ff03-40f5-8f2e-ab9665a69b77'>is the repeatability limit.</p>
1233
+ </td>
1234
+ </tr>
1235
+ </table>
1236
+ <div id='_83083c7a-6c85-43db-a9fa-4d8edd0c9fc0' class='Note'>
1237
+ <p class='Note'>
1238
+ <span class='note_label'>NOTE</span>
1239
+ <span style='mso-tab-count:1'>&#160; </span>
1240
+ [durationUnits] is essentially a duration statement without the "P"
1241
+ prefix. "P" is unnecessary because between "G" and "U" duration is
1242
+ always expressed.
1243
+ </p>
1244
+ </div>
1245
+ </div>
1246
+ <div id='_be9158af-7e93-4ee2-90c5-26d31c181935'><div class='formula'>
1247
+ <p>
1248
+ <span class='stem'>(#(r = 1 %)#)</span>
1249
+ <span style='mso-tab-count:1'>&#160; </span>
1250
+ (1)
1251
+ </p>
1252
+ </div>
1253
+ </div>
1254
+ </div>
1255
+ <p>&#160;</p>
1256
+ </div>
1257
+ <p>
1258
+ <br clear='all' class='section'/>
1259
+ </p>
1260
+ <div class='WordSection3'>
1261
+ <p class='zzSTDTitle1'/>
1262
+ </div>
1263
+ </body>
1264
+ </html>
1265
+ OUTPUT
1266
+ end
1267
+
1268
+ it "processes paragraph attributes" do
1269
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1270
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1271
+ <preface><foreword>
1272
+ <p align="left" id="_08bfe952-d57f-4150-9c95-5d52098cc2a8">Vache Equipment<br/>
1273
+ Fictitious<br/>
1274
+ World</p>
1275
+ <p align="justify" keep-with-next="true" keep-lines-together="true">Justify</p>
1276
+ </foreword></preface>
1277
+ </iso-standard>
1278
+ INPUT
1279
+ #{HTML_HDR}
1280
+ <br/>
1281
+ <div>
1282
+ <h1 class="ForewordTitle">Foreword</h1>
1283
+ <p id="_08bfe952-d57f-4150-9c95-5d52098cc2a8" style="text-align:left;">Vache Equipment<br/>
1284
+ Fictitious<br/>
1285
+ World
1286
+ </p>
1287
+ <p style="text-align:justify;page-break-after: avoid;page-break-inside: avoid;">Justify</p>
1288
+ </div>
1289
+ <p class="zzSTDTitle1"/>
1290
+ </div>
1291
+ </body>
1292
+ </html>
1293
+ OUTPUT
1294
+ end
1295
+
1296
+ it "processes paragraph attributes (Word)" do
1297
+ expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1298
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1299
+ <preface><foreword>
1300
+ <p align="left" id="_08bfe952-d57f-4150-9c95-5d52098cc2a8">Vache Equipment<br/>
1301
+ Fictitious<br/>
1302
+ World</p>
1303
+ <p align="justify" keep-with-next="true" keep-lines-together="true">Justify</p>
1304
+ </foreword></preface>
1305
+ </iso-standard>
1306
+ INPUT
1307
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
1308
+ <head><style/></head>
1309
+ <body lang="EN-US" link="blue" vlink="#954F72">
1310
+ <div class="WordSection1">
1311
+ <p>&#160;</p>
1312
+ </div>
1313
+ <p><br clear="all" class="section"/></p>
1314
+ <div class="WordSection2">
1315
+ <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
1316
+ <div>
1317
+ <h1 class="ForewordTitle">Foreword</h1>
1318
+ <p id="_08bfe952-d57f-4150-9c95-5d52098cc2a8" align="left" style="text-align:left;">Vache Equipment<br/>
1319
+ Fictitious<br/>
1320
+ World
1321
+ </p>
1322
+ <p style="text-align:justify;page-break-after: avoid;page-break-inside: avoid;">Justify</p>
1323
+ </div>
1324
+ <p>&#160;</p>
1325
+ </div>
1326
+ <p><br clear="all" class="section"/></p>
1327
+ <div class="WordSection3">
1328
+ <p class="zzSTDTitle1"/>
1329
+ </div>
1330
+ </body>
1331
+ </html>
1332
+ OUTPUT
1333
+ end
1334
+
1335
+ it "processes blockquotes (Presentation XML)" do
1336
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1337
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1338
+ <preface><foreword>
1339
+ <quote id="_044bd364-c832-4b78-8fea-92242402a1d1">
1340
+ <source type="inline" bibitemid="ISO7301" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>1</referenceFrom></locality></source>
1341
+ <author>ISO</author>
1342
+ <p id="_d4fd0a61-f300-4285-abe6-602707590e53">This International Standard gives the minimum specifications for rice (<em>Oryza sativa</em> L.) which is subject to international trade. It is applicable to the following types: husked rice and milled rice, parboiled or not, intended for direct human consumption. It is neither applicable to other products derived from rice, nor to waxy rice (glutinous rice).</p>
1343
+ </quote>
1344
+
1345
+ </foreword></preface>
1346
+ </iso-standard>
1347
+ INPUT
1348
+ <?xml version='1.0'?>
1349
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
1350
+ <preface>
1351
+ <foreword>
1352
+ <quote id='_044bd364-c832-4b78-8fea-92242402a1d1'>
1353
+ <source type='inline' bibitemid='ISO7301' citeas='ISO 7301:2011'>
1354
+ <locality type='clause'>
1355
+ <referenceFrom>1</referenceFrom>
1356
+ </locality>ISO 7301:2011, Clause 1
1357
+ </source>
1358
+ <author>ISO</author>
1359
+ <p id='_d4fd0a61-f300-4285-abe6-602707590e53'>
1360
+ This International Standard gives the minimum specifications for rice
1361
+ (
1362
+ <em>Oryza sativa</em>
1363
+ L.) which is subject to international trade. It is applicable to the
1364
+ following types: husked rice and milled rice, parboiled or not,
1365
+ intended for direct human consumption. It is neither applicable to
1366
+ other products derived from rice, nor to waxy rice (glutinous rice).
1367
+ </p>
1368
+ </quote>
1369
+ </foreword>
1370
+ </preface>
1371
+ </iso-standard>
1372
+ OUTPUT
1373
+ end
1374
+
1375
+ it "processes blockquotes (HTML)" do
1376
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1377
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1378
+ <preface><foreword>
1379
+ <quote id="_044bd364-c832-4b78-8fea-92242402a1d1">
1380
+ <source type="inline" bibitemid="ISO7301" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>1</referenceFrom></locality>ISO 7301:2011, Clause 1</source>
1381
+ <author>ISO</author>
1382
+ <p id="_d4fd0a61-f300-4285-abe6-602707590e53">This International Standard gives the minimum specifications for rice (<em>Oryza sativa</em> L.) which is subject to international trade. It is applicable to the following types: husked rice and milled rice, parboiled or not, intended for direct human consumption. It is neither applicable to other products derived from rice, nor to waxy rice (glutinous rice).</p>
1383
+ </quote>
1384
+
1385
+ </foreword></preface>
1386
+ </iso-standard>
1387
+ INPUT
1388
+ #{HTML_HDR}
1389
+ <br/>
1390
+ <div>
1391
+ <h1 class="ForewordTitle">Foreword</h1>
1392
+ <div class="Quote" id="_044bd364-c832-4b78-8fea-92242402a1d1">
1393
+
1394
+
1395
+ <p id="_d4fd0a61-f300-4285-abe6-602707590e53">This International Standard gives the minimum specifications for rice (<i>Oryza sativa</i> L.) which is subject to international trade. It is applicable to the following types: husked rice and milled rice, parboiled or not, intended for direct human consumption. It is neither applicable to other products derived from rice, nor to waxy rice (glutinous rice).</p>
1396
+ <p class="QuoteAttribution">&#8212; ISO, <a href="#ISO7301">ISO 7301:2011, Clause 1</a></p></div>
1397
+ </div>
1398
+ <p class="zzSTDTitle1"/>
1399
+ </div>
1400
+ </body>
1401
+ </html>
1402
+ OUTPUT
1403
+ end
1404
+
1405
+ it "processes term domains" do
1406
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1407
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1408
+ <sections>
1409
+ <terms>
1410
+ <term id="_extraneous_matter"><name>1.1.</name><preferred>extraneous matter</preferred><admitted>EM</admitted>
1411
+ <domain>rice</domain>
1412
+ <definition><p id="_318b3939-be09-46c4-a284-93f9826b981e">organic and inorganic components other than whole or broken kernels</p></definition>
1413
+ </term>
1414
+ </terms>
1415
+ </sections>
1416
+ </iso-standard>
1417
+ INPUT
1418
+ #{HTML_HDR}
1419
+ <p class="zzSTDTitle1"/>
1420
+ <div><h1/>
1421
+ <p class="TermNum" id="_extraneous_matter">1.1.</p><p class="Terms" style="text-align:left;">extraneous matter</p><p class="AltTerms" style="text-align:left;">EM</p>
1422
+
1423
+ <p id="_318b3939-be09-46c4-a284-93f9826b981e">&lt;rice&gt; organic and inorganic components other than whole or broken kernels</p>
1424
+ </div>
1425
+ </div>
1426
+ </body>
1427
+ </html>
1428
+ OUTPUT
1429
+ end
1430
+
1431
+ it "processes permissions (Presentation XML)" do
1432
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1433
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1434
+ <preface><foreword>
1435
+ <permission id="_" keep-with-next="true" keep-lines-together="true">
1436
+ <label>/ogc/recommendation/wfs/2</label>
1437
+ <inherit>/ss/584/2015/level/1</inherit>
1438
+ <inherit><eref type="inline" bibitemid="rfc2616" citeas="RFC 2616">RFC 2616 (HTTP/1.1)</eref></inherit>
1439
+ <subject>user</subject>
1440
+ <classification> <tag>control-class</tag> <value>Technical</value> </classification><classification> <tag>priority</tag> <value>P0</value> </classification><classification> <tag>family</tag> <value>System and Communications Protection</value> </classification><classification> <tag>family</tag> <value>System and Communications Protocols</value> </classification>
1441
+ <description>
1442
+ <p id="_">I recommend <em>this</em>.</p>
1443
+ </description>
1444
+ <specification exclude="true" type="tabular">
1445
+ <p id="_">This is the object of the recommendation:</p>
1446
+ <table id="_">
1447
+ <tbody>
1448
+ <tr>
1449
+ <td style="text-align:left;">Object</td>
1450
+ <td style="text-align:left;">Value</td>
1451
+ </tr>
1452
+ <tr>
1453
+ <td style="text-align:left;">Mission</td>
1454
+ <td style="text-align:left;">Accomplished</td>
1455
+ </tr>
1456
+ </tbody>
1457
+ </table>
1458
+ </specification>
1459
+ <description>
1460
+ <p id="_">As for the measurement targets,</p>
1461
+ </description>
1462
+ <measurement-target exclude="false">
1463
+ <p id="_">The measurement target shall be measured as:</p>
1464
+ <formula id="_">
1465
+ <stem type="AsciiMath">r/1 = 0</stem>
1466
+ </formula>
1467
+ </measurement-target>
1468
+ <verification exclude="false">
1469
+ <p id="_">The following code will be run for verification:</p>
1470
+ <sourcecode id="_">CoreRoot(success): HttpResponse
1471
+ if (success)
1472
+ recommendation(label: success-response)
1473
+ end
1474
+ </sourcecode>
1475
+ </verification>
1476
+ <import exclude="true">
1477
+ <sourcecode id="_">success-response()</sourcecode>
1478
+ </import>
1479
+ </permission>
1480
+ </foreword></preface>
1481
+ <bibliography><references id="_bibliography" obligation="informative" normative="false">
1482
+ <title>Bibliography</title>
1483
+ <bibitem id="rfc2616" type="standard"> <fetched>2020-03-27</fetched> <title format="text/plain" language="en" script="Latn">Hypertext Transfer Protocol — HTTP/1.1</title> <uri type="xml">https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2616.xml</uri> <uri type="src">https://www.rfc-editor.org/info/rfc2616</uri> <docidentifier type="IETF">RFC 2616</docidentifier> <docidentifier type="rfc-anchor">RFC2616</docidentifier> <docidentifier type="DOI">10.17487/RFC2616</docidentifier> <date type="published"> <on>1999-06</on> </date> <contributor> <role type="author"/> <person> <name> <completename language="en">R. Fielding</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">J. Gettys</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">J. Mogul</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">H. Frystyk</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">L. Masinter</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">P. Leach</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">T. Berners-Lee</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <language>en</language> <script>Latn</script> <abstract format="text/plain" language="en" script="Latn">HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”, and is an update to RFC 2068. [STANDARDS-TRACK]</abstract> <series type="main"> <title format="text/plain" language="en" script="Latn">RFC</title> <number>2616</number> </series> <place>Fremont, CA</place></bibitem>
1484
+ </references></bibliography>
1485
+ </iso-standard>
1486
+ INPUT
1487
+ <?xml version='1.0'?>
1488
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
1489
+ <preface>
1490
+ <foreword>
1491
+ <permission id='_' keep-with-next='true' keep-lines-together='true'>
1492
+ <name>Permission 1</name>
1493
+ <label>/ogc/recommendation/wfs/2</label>
1494
+ <inherit>/ss/584/2015/level/1</inherit>
1495
+ <inherit>
1496
+ <eref type='inline' bibitemid='rfc2616' citeas='RFC 2616'>RFC 2616 (HTTP/1.1)</eref>
1497
+ </inherit>
1498
+ <subject>user</subject>
1499
+ <classification>
1500
+ <tag>control-class</tag>
1501
+ <value>Technical</value>
1502
+ </classification>
1503
+ <classification>
1504
+ <tag>priority</tag>
1505
+ <value>P0</value>
1506
+ </classification>
1507
+ <classification>
1508
+ <tag>family</tag>
1509
+ <value>System and Communications Protection</value>
1510
+ </classification>
1511
+ <classification>
1512
+ <tag>family</tag>
1513
+ <value>System and Communications Protocols</value>
1514
+ </classification>
1515
+ <description>
1516
+ <p id='_'>
1517
+ I recommend
1518
+ <em>this</em>
1519
+ .
1520
+ </p>
1521
+ </description>
1522
+ <specification exclude='true' type='tabular'>
1523
+ <p id='_'>This is the object of the recommendation:</p>
1524
+ <table id='_'>
1525
+ <tbody>
1526
+ <tr>
1527
+ <td style='text-align:left;'>Object</td>
1528
+ <td style='text-align:left;'>Value</td>
1529
+ </tr>
1530
+ <tr>
1531
+ <td style='text-align:left;'>Mission</td>
1532
+ <td style='text-align:left;'>Accomplished</td>
1533
+ </tr>
1534
+ </tbody>
1535
+ </table>
1536
+ </specification>
1537
+ <description>
1538
+ <p id='_'>As for the measurement targets,</p>
1539
+ </description>
1540
+ <measurement-target exclude='false'>
1541
+ <p id='_'>The measurement target shall be measured as:</p>
1542
+ <formula id='_'>
1543
+ <name>1</name>
1544
+ <stem type='AsciiMath'>r/1 = 0</stem>
1545
+ </formula>
1546
+ </measurement-target>
1547
+ <verification exclude='false'>
1548
+ <p id='_'>The following code will be run for verification:</p>
1549
+ <sourcecode id='_'>
1550
+ CoreRoot(success): HttpResponse if (success) recommendation(label:
1551
+ success-response) end
1552
+ </sourcecode>
1553
+ </verification>
1554
+ <import exclude='true'>
1555
+ <sourcecode id='_'>success-response()</sourcecode>
1556
+ </import>
1557
+ </permission>
1558
+ </foreword>
1559
+ </preface>
1560
+ <bibliography>
1561
+ <references id='_bibliography' obligation='informative' normative='false'>
1562
+ <title depth="1">Bibliography</title>
1563
+ <bibitem id='rfc2616' type='standard'>
1564
+ <fetched>2020-03-27</fetched>
1565
+ <title format='text/plain' language='en' script='Latn'>Hypertext Transfer Protocol&#x2009;&#x2014;&#x2009;HTTP/1.1</title>
1566
+ <uri type='xml'>https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2616.xml</uri>
1567
+ <uri type='src'>https://www.rfc-editor.org/info/rfc2616</uri>
1568
+ <docidentifier type='IETF'>RFC 2616</docidentifier>
1569
+ <docidentifier type='rfc-anchor'>RFC2616</docidentifier>
1570
+ <docidentifier type='DOI'>10.17487/RFC2616</docidentifier>
1571
+ <date type='published'>
1572
+ <on>1999-06</on>
1573
+ </date>
1574
+ <contributor>
1575
+ <role type='author'/>
1576
+ <person>
1577
+ <name>
1578
+ <completename language='en'>R. Fielding</completename>
1579
+ </name>
1580
+ <affiliation>
1581
+ <organization>
1582
+ <name>IETF</name>
1583
+ <abbreviation>IETF</abbreviation>
1584
+ </organization>
1585
+ </affiliation>
1586
+ </person>
1587
+ </contributor>
1588
+ <contributor>
1589
+ <role type='author'/>
1590
+ <person>
1591
+ <name>
1592
+ <completename language='en'>J. Gettys</completename>
1593
+ </name>
1594
+ <affiliation>
1595
+ <organization>
1596
+ <name>IETF</name>
1597
+ <abbreviation>IETF</abbreviation>
1598
+ </organization>
1599
+ </affiliation>
1600
+ </person>
1601
+ </contributor>
1602
+ <contributor>
1603
+ <role type='author'/>
1604
+ <person>
1605
+ <name>
1606
+ <completename language='en'>J. Mogul</completename>
1607
+ </name>
1608
+ <affiliation>
1609
+ <organization>
1610
+ <name>IETF</name>
1611
+ <abbreviation>IETF</abbreviation>
1612
+ </organization>
1613
+ </affiliation>
1614
+ </person>
1615
+ </contributor>
1616
+ <contributor>
1617
+ <role type='author'/>
1618
+ <person>
1619
+ <name>
1620
+ <completename language='en'>H. Frystyk</completename>
1621
+ </name>
1622
+ <affiliation>
1623
+ <organization>
1624
+ <name>IETF</name>
1625
+ <abbreviation>IETF</abbreviation>
1626
+ </organization>
1627
+ </affiliation>
1628
+ </person>
1629
+ </contributor>
1630
+ <contributor>
1631
+ <role type='author'/>
1632
+ <person>
1633
+ <name>
1634
+ <completename language='en'>L. Masinter</completename>
1635
+ </name>
1636
+ <affiliation>
1637
+ <organization>
1638
+ <name>IETF</name>
1639
+ <abbreviation>IETF</abbreviation>
1640
+ </organization>
1641
+ </affiliation>
1642
+ </person>
1643
+ </contributor>
1644
+ <contributor>
1645
+ <role type='author'/>
1646
+ <person>
1647
+ <name>
1648
+ <completename language='en'>P. Leach</completename>
1649
+ </name>
1650
+ <affiliation>
1651
+ <organization>
1652
+ <name>IETF</name>
1653
+ <abbreviation>IETF</abbreviation>
1654
+ </organization>
1655
+ </affiliation>
1656
+ </person>
1657
+ </contributor>
1658
+ <contributor>
1659
+ <role type='author'/>
1660
+ <person>
1661
+ <name>
1662
+ <completename language='en'>T. Berners-Lee</completename>
1663
+ </name>
1664
+ <affiliation>
1665
+ <organization>
1666
+ <name>IETF</name>
1667
+ <abbreviation>IETF</abbreviation>
1668
+ </organization>
1669
+ </affiliation>
1670
+ </person>
1671
+ </contributor>
1672
+ <language>en</language>
1673
+ <script>Latn</script>
1674
+ <abstract format='text/plain' language='en' script='Latn'>
1675
+ HTTP has been in use by the World-Wide Web global information
1676
+ initiative since 1990. This specification defines the protocol
1677
+ referred to as &#x201C;HTTP/1.1&#x201D;, and is an update to RFC 2068.
1678
+ [STANDARDS-TRACK]
1679
+ </abstract>
1680
+ <series type='main'>
1681
+ <title format='text/plain' language='en' script='Latn'>RFC</title>
1682
+ <number>2616</number>
1683
+ </series>
1684
+ <place>Fremont, CA</place>
1685
+ </bibitem>
1686
+ </references>
1687
+ </bibliography>
1688
+ </iso-standard>
1689
+ OUTPUT
1690
+ end
1691
+
1692
+ it "processes permissions (HTML)" do
1693
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1694
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1695
+ <preface><foreword>
1696
+ <permission id="_" keep-with-next="true" keep-lines-together="true">
1697
+ <name>Permission 1</name>
1698
+ <label>/ogc/recommendation/wfs/2</label>
1699
+ <inherit>/ss/584/2015/level/1</inherit>
1700
+ <inherit><eref type="inline" bibitemid="rfc2616" citeas="RFC 2616">RFC 2616 (HTTP/1.1)</eref></inherit>
1701
+ <subject>user</subject>
1702
+ <classification> <tag>control-class</tag> <value>Technical</value> </classification><classification> <tag>priority</tag> <value>P0</value> </classification><classification> <tag>family</tag> <value>System and Communications Protection</value> </classification><classification> <tag>family</tag> <value>System and Communications Protocols</value> </classification>
1703
+ <description>
1704
+ <p id="_">I recommend <em>this</em>.</p>
1705
+ </description>
1706
+ <specification exclude="true" type="tabular">
1707
+ <p id="_">This is the object of the recommendation:</p>
1708
+ <table id="_">
1709
+ <tbody>
1710
+ <tr>
1711
+ <td style="text-align:left;">Object</td>
1712
+ <td style="text-align:left;">Value</td>
1713
+ </tr>
1714
+ <tr>
1715
+ <td style="text-align:left;">Mission</td>
1716
+ <td style="text-align:left;">Accomplished</td>
1717
+ </tr>
1718
+ </tbody>
1719
+ </table>
1720
+ </specification>
1721
+ <description>
1722
+ <p id="_">As for the measurement targets,</p>
1723
+ </description>
1724
+ <measurement-target exclude="false">
1725
+ <p id="_">The measurement target shall be measured as:</p>
1726
+ <formula id="_">
1727
+ <stem type="AsciiMath">r/1 = 0</stem>
1728
+ </formula>
1729
+ </measurement-target>
1730
+ <verification exclude="false">
1731
+ <p id="_">The following code will be run for verification:</p>
1732
+ <sourcecode id="_">CoreRoot(success): HttpResponse
1733
+ if (success)
1734
+ recommendation(label: success-response)
1735
+ end
1736
+ </sourcecode>
1737
+ </verification>
1738
+ <import exclude="true">
1739
+ <sourcecode id="_">success-response()</sourcecode>
1740
+ </import>
1741
+ </permission>
1742
+ </foreword></preface>
1743
+ <bibliography><references id="_bibliography" obligation="informative" normative="false">
1744
+ <title>Bibliography</title>
1745
+ <bibitem id="rfc2616" type="standard"> <fetched>2020-03-27</fetched> <title format="text/plain" language="en" script="Latn">Hypertext Transfer Protocol — HTTP/1.1</title> <uri type="xml">https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2616.xml</uri> <uri type="src">https://www.rfc-editor.org/info/rfc2616</uri> <docidentifier type="IETF">RFC 2616</docidentifier> <docidentifier type="rfc-anchor">RFC2616</docidentifier> <docidentifier type="DOI">10.17487/RFC2616</docidentifier> <date type="published"> <on>1999-06</on> </date> <contributor> <role type="author"/> <person> <name> <completename language="en">R. Fielding</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">J. Gettys</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">J. Mogul</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">H. Frystyk</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">L. Masinter</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">P. Leach</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <contributor> <role type="author"/> <person> <name> <completename language="en">T. Berners-Lee</completename> </name> <affiliation> <organization> <name>IETF</name> <abbreviation>IETF</abbreviation> </organization> </affiliation> </person> </contributor> <language>en</language> <script>Latn</script> <abstract format="text/plain" language="en" script="Latn">HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”, and is an update to RFC 2068. [STANDARDS-TRACK]</abstract> <series type="main"> <title format="text/plain" language="en" script="Latn">RFC</title> <number>2616</number> </series> <place>Fremont, CA</place></bibitem>
1746
+ </references></bibliography>
1747
+ </iso-standard>
1748
+ INPUT
1749
+ #{HTML_HDR}
1750
+ <br/>
1751
+ <div>
1752
+ <h1 class="ForewordTitle">Foreword</h1>
1753
+ <div class="permission" id='_' style='page-break-after: avoid;page-break-inside: avoid;'>
1754
+ <p class="RecommendationTitle">Permission 1:<br/>/ogc/recommendation/wfs/2</p>
1755
+ <p><i>Subject: user<br/>
1756
+ Inherits: /ss/584/2015/level/1
1757
+ <br/>
1758
+ Inherits: <a href='#rfc2616'>RFC 2616 (HTTP/1.1)</a>
1759
+ <br/>Control-class: Technical<br/>Priority: P0<br/>Family: System and Communications Protection<br/>Family: System and Communications Protocols</i></p>
1760
+
1761
+ <div class="requirement-description">
1762
+ <p id="_">I recommend <i>this</i>.</p>
1763
+ </div>
1764
+
1765
+ <div class="requirement-description">
1766
+ <p id="_">As for the measurement targets,</p>
1767
+ </div>
1768
+ <div class="requirement-measurement-target">
1769
+ <p id="_">The measurement target shall be measured as:</p>
1770
+ <div id="_"><div class="formula"><p><span class="stem">(#(r/1 = 0)#)</span></p></div></div>
1771
+
1772
+
1773
+ </div>
1774
+ <div class="requirement-verification">
1775
+ <p id="_">The following code will be run for verification:</p>
1776
+ <pre id="_" class="prettyprint ">CoreRoot(success): HttpResponse<br/>&#160;&#160;&#160;&#160;&#160; if (success)<br/>&#160;&#160;&#160;&#160;&#160; recommendation(label: success-response)<br/>&#160;&#160;&#160;&#160;&#160; end<br/>&#160;&#160;&#160; </pre>
1777
+ </div>
1778
+
1779
+ </div>
1780
+ </div>
1781
+ <p class="zzSTDTitle1"/>
1782
+ <br/>
1783
+ <div>
1784
+ <h1 class='Section3'>Bibliography</h1>
1785
+ <p id='rfc2616' class='Biblio'>
1786
+ [1]&#160; IETF RFC 2616,
1787
+ <i>Hypertext Transfer Protocol&#8201;&#8212;&#8201;HTTP/1.1</i>
1788
+ </p>
1789
+ </div>
1790
+ </div>
1791
+ </body>
1792
+ </html>
1793
+ OUTPUT
1794
+ end
1795
+
1796
+ it "processes requirements (Presentation XML)" do
1797
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1798
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1799
+ <preface><foreword>
1800
+ <requirement id="A" unnumbered="true" keep-with-next="true" keep-lines-together="true">
1801
+ <title>A New Requirement</title>
1802
+ <label>/ogc/recommendation/wfs/2</label>
1803
+ <inherit>/ss/584/2015/level/1</inherit>
1804
+ <subject>user</subject>
1805
+ <description>
1806
+ <p id="_">I recommend <em>this</em>.</p>
1807
+ </description>
1808
+ <specification exclude="true" type="tabular">
1809
+ <p id="_">This is the object of the recommendation:</p>
1810
+ <table id="_">
1811
+ <tbody>
1812
+ <tr>
1813
+ <td style="text-align:left;">Object</td>
1814
+ <td style="text-align:left;">Value</td>
1815
+ </tr>
1816
+ <tr>
1817
+ <td style="text-align:left;">Mission</td>
1818
+ <td style="text-align:left;">Accomplished</td>
1819
+ </tr>
1820
+ </tbody>
1821
+ </table>
1822
+ </specification>
1823
+ <description>
1824
+ <p id="_">As for the measurement targets,</p>
1825
+ </description>
1826
+ <measurement-target exclude="false" keep-with-next="true" keep-lines-together="true">
1827
+ <p id="_">The measurement target shall be measured as:</p>
1828
+ <formula id="B">
1829
+ <stem type="AsciiMath">r/1 = 0</stem>
1830
+ </formula>
1831
+ </measurement-target>
1832
+ <verification exclude="false">
1833
+ <p id="_">The following code will be run for verification:</p>
1834
+ <sourcecode id="_">CoreRoot(success): HttpResponse
1835
+ if (success)
1836
+ recommendation(label: success-response)
1837
+ end
1838
+ </sourcecode>
1839
+ </verification>
1840
+ <import exclude="true">
1841
+ <sourcecode id="_">success-response()</sourcecode>
1842
+ </import>
1843
+ </requirement>
1844
+ </foreword></preface>
1845
+ </iso-standard>
1846
+ INPUT
1847
+ <?xml version='1.0'?>
1848
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
1849
+ <preface>
1850
+ <foreword>
1851
+ <requirement id='A' unnumbered='true' keep-with-next='true' keep-lines-together='true'>
1852
+ <name>Requirement</name>
1853
+ <title>A New Requirement</title>
1854
+ <label>/ogc/recommendation/wfs/2</label>
1855
+ <inherit>/ss/584/2015/level/1</inherit>
1856
+ <subject>user</subject>
1857
+ <description>
1858
+ <p id='_'>
1859
+ I recommend
1860
+ <em>this</em>
1861
+ .
1862
+ </p>
1863
+ </description>
1864
+ <specification exclude='true' type='tabular'>
1865
+ <p id='_'>This is the object of the recommendation:</p>
1866
+ <table id='_'>
1867
+ <tbody>
1868
+ <tr>
1869
+ <td style='text-align:left;'>Object</td>
1870
+ <td style='text-align:left;'>Value</td>
1871
+ </tr>
1872
+ <tr>
1873
+ <td style='text-align:left;'>Mission</td>
1874
+ <td style='text-align:left;'>Accomplished</td>
1875
+ </tr>
1876
+ </tbody>
1877
+ </table>
1878
+ </specification>
1879
+ <description>
1880
+ <p id='_'>As for the measurement targets,</p>
1881
+ </description>
1882
+ <measurement-target exclude='false' keep-with-next='true' keep-lines-together='true'>
1883
+ <p id='_'>The measurement target shall be measured as:</p>
1884
+ <formula id='B'>
1885
+ <name>1</name>
1886
+ <stem type='AsciiMath'>r/1 = 0</stem>
1887
+ </formula>
1888
+ </measurement-target>
1889
+ <verification exclude='false'>
1890
+ <p id='_'>The following code will be run for verification:</p>
1891
+ <sourcecode id='_'>
1892
+ CoreRoot(success): HttpResponse if (success) recommendation(label:
1893
+ success-response) end
1894
+ </sourcecode>
1895
+ </verification>
1896
+ <import exclude='true'>
1897
+ <sourcecode id='_'>success-response()</sourcecode>
1898
+ </import>
1899
+ </requirement>
1900
+ </foreword>
1901
+ </preface>
1902
+ </iso-standard>
1903
+ OUTPUT
1904
+ end
1905
+
1906
+ it "processes requirements (HTML)" do
1907
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1908
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1909
+ <preface><foreword>
1910
+ <requirement id="A" unnumbered="true" keep-with-next="true" keep-lines-together="true">
1911
+ <name>Requirement</name>
1912
+ <title>A New Requirement</title>
1913
+ <label>/ogc/recommendation/wfs/2</label>
1914
+ <inherit>/ss/584/2015/level/1</inherit>
1915
+ <subject>user</subject>
1916
+ <description>
1917
+ <p id="_">I recommend <em>this</em>.</p>
1918
+ </description>
1919
+ <specification exclude="true" type="tabular">
1920
+ <p id="_">This is the object of the recommendation:</p>
1921
+ <table id="_">
1922
+ <tbody>
1923
+ <tr>
1924
+ <td style="text-align:left;">Object</td>
1925
+ <td style="text-align:left;">Value</td>
1926
+ </tr>
1927
+ <tr>
1928
+ <td style="text-align:left;">Mission</td>
1929
+ <td style="text-align:left;">Accomplished</td>
1930
+ </tr>
1931
+ </tbody>
1932
+ </table>
1933
+ </specification>
1934
+ <description>
1935
+ <p id="_">As for the measurement targets,</p>
1936
+ </description>
1937
+ <measurement-target exclude="false" keep-with-next="true" keep-lines-together="true">
1938
+ <p id="_">The measurement target shall be measured as:</p>
1939
+ <formula id="B">
1940
+ <stem type="AsciiMath">r/1 = 0</stem>
1941
+ </formula>
1942
+ </measurement-target>
1943
+ <verification exclude="false">
1944
+ <p id="_">The following code will be run for verification:</p>
1945
+ <sourcecode id="_">CoreRoot(success): HttpResponse
1946
+ if (success)
1947
+ recommendation(label: success-response)
1948
+ end
1949
+ </sourcecode>
1950
+ </verification>
1951
+ <import exclude="true">
1952
+ <sourcecode id="_">success-response()</sourcecode>
1953
+ </import>
1954
+ </requirement>
1955
+ </foreword></preface>
1956
+ </iso-standard>
1957
+ INPUT
1958
+ #{HTML_HDR}
1959
+ <br/>
1960
+ <div>
1961
+ <h1 class="ForewordTitle">Foreword</h1>
1962
+ <div class="require" id='A' style='page-break-after: avoid;page-break-inside: avoid;'>
1963
+ <p class="RecommendationTitle">Requirement:<br/>/ogc/recommendation/wfs/2. A New Requirement</p><p><i>Subject: user<br/>Inherits: /ss/584/2015/level/1</i></p>
1964
+
1965
+ <div class="requirement-description">
1966
+ <p id="_">I recommend <i>this</i>.</p>
1967
+ </div>
1968
+
1969
+ <div class="requirement-description">
1970
+ <p id="_">As for the measurement targets,</p>
1971
+ </div>
1972
+ <div class="requirement-measurement-target" style='page-break-after: avoid;page-break-inside: avoid;'>
1973
+ <p id="_">The measurement target shall be measured as:</p>
1974
+ <div id="B"><div class="formula"><p><span class="stem">(#(r/1 = 0)#)</span></p></div></div>
1975
+
1976
+
1977
+ </div>
1978
+ <div class="requirement-verification">
1979
+ <p id="_">The following code will be run for verification:</p>
1980
+ <pre id="_" class="prettyprint ">CoreRoot(success): HttpResponse<br/>&#160;&#160;&#160;&#160;&#160; if (success)<br/>&#160;&#160;&#160;&#160;&#160; recommendation(label: success-response)<br/>&#160;&#160;&#160;&#160;&#160; end<br/>&#160;&#160;&#160; </pre>
1981
+ </div>
1982
+
1983
+ </div>
1984
+ </div>
1985
+ <p class="zzSTDTitle1"/>
1986
+ </div>
1987
+ </body>
1988
+ </html>
1989
+ OUTPUT
1990
+ end
1991
+
1992
+ it "processes requirements in French (Presentation XML)" do
1993
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1994
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1995
+ <bibdata>
1996
+ <language>fr</language>
1997
+ <script>Latn</script>
1998
+ </bibdata>
1999
+ <preface><foreword>
2000
+ <requirement id="A" unnumbered="true">
2001
+ <title>A New Requirement</title>
2002
+ <label>/ogc/recommendation/wfs/2</label>
2003
+ <inherit>/ss/584/2015/level/1</inherit>
2004
+ <subject>user</subject>
2005
+ <description>
2006
+ <p id="_">I recommend <em>this</em>.</p>
2007
+ </description>
2008
+ <specification exclude="true" type="tabular">
2009
+ <p id="_">This is the object of the recommendation:</p>
2010
+ <table id="_">
2011
+ <tbody>
2012
+ <tr>
2013
+ <td style="text-align:left;">Object</td>
2014
+ <td style="text-align:left;">Value</td>
2015
+ </tr>
2016
+ <tr>
2017
+ <td style="text-align:left;">Mission</td>
2018
+ <td style="text-align:left;">Accomplished</td>
2019
+ </tr>
2020
+ </tbody>
2021
+ </table>
2022
+ </specification>
2023
+ <description>
2024
+ <p id="_">As for the measurement targets,</p>
2025
+ </description>
2026
+ <measurement-target exclude="false">
2027
+ <p id="_">The measurement target shall be measured as:</p>
2028
+ <formula id="B">
2029
+ <stem type="AsciiMath">r/1 = 0</stem>
2030
+ </formula>
2031
+ </measurement-target>
2032
+ <verification exclude="false">
2033
+ <p id="_">The following code will be run for verification:</p>
2034
+ <sourcecode id="_">CoreRoot(success): HttpResponse
2035
+ if (success)
2036
+ recommendation(label: success-response)
2037
+ end
2038
+ </sourcecode>
2039
+ </verification>
2040
+ <import exclude="true">
2041
+ <sourcecode id="_">success-response()</sourcecode>
2042
+ </import>
2043
+ </requirement>
2044
+ </foreword></preface>
2045
+ </iso-standard>
2046
+ INPUT
2047
+ <?xml version='1.0'?>
2048
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
2049
+ <bibdata>
2050
+ <language>fr</language>
2051
+ <script>Latn</script>
2052
+ </bibdata>
2053
+ <preface>
2054
+ <foreword>
2055
+ <requirement id='A' unnumbered='true'>
2056
+ <name>Exigence</name>
2057
+ <title>A New Requirement</title>
2058
+ <label>/ogc/recommendation/wfs/2</label>
2059
+ <inherit>/ss/584/2015/level/1</inherit>
2060
+ <subject>user</subject>
2061
+ <description>
2062
+ <p id='_'>
2063
+ I recommend
2064
+ <em>this</em>
2065
+ .
2066
+ </p>
2067
+ </description>
2068
+ <specification exclude='true' type='tabular'>
2069
+ <p id='_'>This is the object of the recommendation:</p>
2070
+ <table id='_'>
2071
+ <tbody>
2072
+ <tr>
2073
+ <td style='text-align:left;'>Object</td>
2074
+ <td style='text-align:left;'>Value</td>
2075
+ </tr>
2076
+ <tr>
2077
+ <td style='text-align:left;'>Mission</td>
2078
+ <td style='text-align:left;'>Accomplished</td>
2079
+ </tr>
2080
+ </tbody>
2081
+ </table>
2082
+ </specification>
2083
+ <description>
2084
+ <p id='_'>As for the measurement targets,</p>
2085
+ </description>
2086
+ <measurement-target exclude='false'>
2087
+ <p id='_'>The measurement target shall be measured as:</p>
2088
+ <formula id='B'>
2089
+ <name>1</name>
2090
+ <stem type='AsciiMath'>r/1 = 0</stem>
2091
+ </formula>
2092
+ </measurement-target>
2093
+ <verification exclude='false'>
2094
+ <p id='_'>The following code will be run for verification:</p>
2095
+ <sourcecode id='_'>
2096
+ CoreRoot(success): HttpResponse if (success) recommendation(label:
2097
+ success-response) end
2098
+ </sourcecode>
2099
+ </verification>
2100
+ <import exclude='true'>
2101
+ <sourcecode id='_'>success-response()</sourcecode>
2102
+ </import>
2103
+ </requirement>
2104
+ </foreword>
2105
+ </preface>
2106
+ </iso-standard>
2107
+ OUTPUT
2108
+ end
2109
+
2110
+ it "processes requirements in French (HTML)" do
2111
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2112
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2113
+ <bibdata>
2114
+ <language>fr</language>
2115
+ <script>Latn</script>
2116
+ </bibdata>
2117
+ <preface><foreword>
2118
+ <requirement id="A" unnumbered="true">
2119
+ <name>Exigence</name>
2120
+ <title>A New Requirement</title>
2121
+ <label>/ogc/recommendation/wfs/2</label>
2122
+ <inherit>/ss/584/2015/level/1</inherit>
2123
+ <subject>user</subject>
2124
+ <description>
2125
+ <p id="_">I recommend <em>this</em>.</p>
2126
+ </description>
2127
+ <specification exclude="true" type="tabular">
2128
+ <p id="_">This is the object of the recommendation:</p>
2129
+ <table id="_">
2130
+ <tbody>
2131
+ <tr>
2132
+ <td style="text-align:left;">Object</td>
2133
+ <td style="text-align:left;">Value</td>
2134
+ </tr>
2135
+ <tr>
2136
+ <td style="text-align:left;">Mission</td>
2137
+ <td style="text-align:left;">Accomplished</td>
2138
+ </tr>
2139
+ </tbody>
2140
+ </table>
2141
+ </specification>
2142
+ <description>
2143
+ <p id="_">As for the measurement targets,</p>
2144
+ </description>
2145
+ <measurement-target exclude="false">
2146
+ <p id="_">The measurement target shall be measured as:</p>
2147
+ <formula id="B">
2148
+ <stem type="AsciiMath">r/1 = 0</stem>
2149
+ </formula>
2150
+ </measurement-target>
2151
+ <verification exclude="false">
2152
+ <p id="_">The following code will be run for verification:</p>
2153
+ <sourcecode id="_">CoreRoot(success): HttpResponse
2154
+ if (success)
2155
+ recommendation(label: success-response)
2156
+ end
2157
+ </sourcecode>
2158
+ </verification>
2159
+ <import exclude="true">
2160
+ <sourcecode id="_">success-response()</sourcecode>
2161
+ </import>
2162
+ </requirement>
2163
+ </foreword></preface>
2164
+ </iso-standard>
2165
+ INPUT
2166
+ #{HTML_HDR.gsub(/"en"/, '"fr"')}
2167
+ <br/>
2168
+ <div>
2169
+ <h1 class='ForewordTitle'>Avant-propos</h1>
2170
+ <div class='require' id="A">
2171
+ <p class='RecommendationTitle'>
2172
+ Exigence:
2173
+ <br/>
2174
+ /ogc/recommendation/wfs/2. A New Requirement
2175
+ </p>
2176
+ <p>
2177
+ <i>
2178
+ Sujet: user
2179
+ <br/>
2180
+ H&#233;rite: /ss/584/2015/level/1
2181
+ </i>
2182
+ </p>
2183
+ <div class='requirement-description'>
2184
+ <p id='_'>
2185
+ I recommend
2186
+ <i>this</i>
2187
+ .
2188
+ </p>
2189
+ </div>
2190
+ <div class='requirement-description'>
2191
+ <p id='_'>As for the measurement targets,</p>
2192
+ </div>
2193
+ <div class='requirement-measurement-target'>
2194
+ <p id='_'>The measurement target shall be measured as:</p>
2195
+ <div id='B'><div class='formula'>
2196
+ <p>
2197
+ <span class='stem'>(#(r/1 = 0)#)</span>
2198
+ </p>
2199
+ </div>
2200
+ </div>
2201
+ </div>
2202
+ <div class='requirement-verification'>
2203
+ <p id='_'>The following code will be run for verification:</p>
2204
+ <pre id='_' class='prettyprint '>
2205
+ CoreRoot(success): HttpResponse
2206
+ <br/>
2207
+ &#160;&#160;&#160;&#160;&#160; if (success)
2208
+ <br/>
2209
+ &#160;&#160;&#160;&#160;&#160; recommendation(label:
2210
+ success-response)
2211
+ <br/>
2212
+ &#160;&#160;&#160;&#160;&#160; end
2213
+ <br/>
2214
+ &#160;&#160;&#160;
2215
+ </pre>
2216
+ </div>
2217
+ </div>
2218
+ </div>
2219
+ <p class='zzSTDTitle1'/>
2220
+ </div>
2221
+ </body>
2222
+ </html>
2223
+ OUTPUT
2224
+ end
2225
+
2226
+ it "processes recommendation (Presentation XML)" do
2227
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2228
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2229
+ <preface><foreword>
2230
+ <recommendation id="_" obligation="shall,could" keep-with-next="true" keep-lines-together="true">
2231
+ <label>/ogc/recommendation/wfs/2</label>
2232
+ <inherit>/ss/584/2015/level/1</inherit>
2233
+ <classification><tag>type</tag><value>text</value></classification>
2234
+ <classification><tag>language</tag><value>BASIC</value></classification>
2235
+ <subject>user</subject>
2236
+ <description>
2237
+ <p id="_">I recommend <em>this</em>.</p>
2238
+ </description>
2239
+ <specification exclude="true" type="tabular">
2240
+ <p id="_">This is the object of the recommendation:</p>
2241
+ <table id="_">
2242
+ <tbody>
2243
+ <tr>
2244
+ <td style="text-align:left;">Object</td>
2245
+ <td style="text-align:left;">Value</td>
2246
+ </tr>
2247
+ <tr>
2248
+ <td style="text-align:left;">Mission</td>
2249
+ <td style="text-align:left;">Accomplished</td>
2250
+ </tr>
2251
+ </tbody>
2252
+ </table>
2253
+ </specification>
2254
+ <description>
2255
+ <p id="_">As for the measurement targets,</p>
2256
+ </description>
2257
+ <measurement-target exclude="false">
2258
+ <p id="_">The measurement target shall be measured as:</p>
2259
+ <formula id="_">
2260
+ <stem type="AsciiMath">r/1 = 0</stem>
2261
+ </formula>
2262
+ </measurement-target>
2263
+ <verification exclude="false">
2264
+ <p id="_">The following code will be run for verification:</p>
2265
+ <sourcecode id="_">CoreRoot(success): HttpResponse
2266
+ if (success)
2267
+ recommendation(label: success-response)
2268
+ end
2269
+ </sourcecode>
2270
+ </verification>
2271
+ <import exclude="true">
2272
+ <sourcecode id="_">success-response()</sourcecode>
2273
+ </import>
2274
+ </recommendation>
2275
+ </foreword></preface>
2276
+ </iso-standard>
2277
+ INPUT
2278
+ <?xml version='1.0'?>
2279
+ <iso-standard xmlns='http://riboseinc.com/isoxml'>
2280
+ <preface>
2281
+ <foreword>
2282
+ <recommendation id='_' obligation='shall,could' keep-with-next='true' keep-lines-together='true'>
2283
+ <name>Recommendation 1</name>
2284
+ <label>/ogc/recommendation/wfs/2</label>
2285
+ <inherit>/ss/584/2015/level/1</inherit>
2286
+ <classification>
2287
+ <tag>type</tag>
2288
+ <value>text</value>
2289
+ </classification>
2290
+ <classification>
2291
+ <tag>language</tag>
2292
+ <value>BASIC</value>
2293
+ </classification>
2294
+ <subject>user</subject>
2295
+ <description>
2296
+ <p id='_'>
2297
+ I recommend
2298
+ <em>this</em>
2299
+ .
2300
+ </p>
2301
+ </description>
2302
+ <specification exclude='true' type='tabular'>
2303
+ <p id='_'>This is the object of the recommendation:</p>
2304
+ <table id='_'>
2305
+ <tbody>
2306
+ <tr>
2307
+ <td style='text-align:left;'>Object</td>
2308
+ <td style='text-align:left;'>Value</td>
2309
+ </tr>
2310
+ <tr>
2311
+ <td style='text-align:left;'>Mission</td>
2312
+ <td style='text-align:left;'>Accomplished</td>
2313
+ </tr>
2314
+ </tbody>
2315
+ </table>
2316
+ </specification>
2317
+ <description>
2318
+ <p id='_'>As for the measurement targets,</p>
2319
+ </description>
2320
+ <measurement-target exclude='false'>
2321
+ <p id='_'>The measurement target shall be measured as:</p>
2322
+ <formula id='_'>
2323
+ <name>1</name>
2324
+ <stem type='AsciiMath'>r/1 = 0</stem>
2325
+ </formula>
2326
+ </measurement-target>
2327
+ <verification exclude='false'>
2328
+ <p id='_'>The following code will be run for verification:</p>
2329
+ <sourcecode id='_'>
2330
+ CoreRoot(success): HttpResponse if (success) recommendation(label:
2331
+ success-response) end
2332
+ </sourcecode>
2333
+ </verification>
2334
+ <import exclude='true'>
2335
+ <sourcecode id='_'>success-response()</sourcecode>
2336
+ </import>
2337
+ </recommendation>
2338
+ </foreword>
2339
+ </preface>
2340
+ </iso-standard>
2341
+ OUTPUT
2342
+ end
2343
+
2344
+ it "processes recommendation (HTML)" do
2345
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2346
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2347
+ <preface><foreword>
2348
+ <recommendation id="_" obligation="shall,could" keep-with-next="true" keep-lines-together="true">
2349
+ <name>Recommendation 1</name>
2350
+ <label>/ogc/recommendation/wfs/2</label>
2351
+ <inherit>/ss/584/2015/level/1</inherit>
2352
+ <classification><tag>type</tag><value>text</value></classification>
2353
+ <classification><tag>language</tag><value>BASIC</value></classification>
2354
+ <subject>user</subject>
2355
+ <description>
2356
+ <p id="_">I recommend <em>this</em>.</p>
2357
+ </description>
2358
+ <specification exclude="true" type="tabular">
2359
+ <p id="_">This is the object of the recommendation:</p>
2360
+ <table id="_">
2361
+ <tbody>
2362
+ <tr>
2363
+ <td style="text-align:left;">Object</td>
2364
+ <td style="text-align:left;">Value</td>
2365
+ </tr>
2366
+ <tr>
2367
+ <td style="text-align:left;">Mission</td>
2368
+ <td style="text-align:left;">Accomplished</td>
2369
+ </tr>
2370
+ </tbody>
2371
+ </table>
2372
+ </specification>
2373
+ <description>
2374
+ <p id="_">As for the measurement targets,</p>
2375
+ </description>
2376
+ <measurement-target exclude="false">
2377
+ <p id="_">The measurement target shall be measured as:</p>
2378
+ <formula id="_">
2379
+ <stem type="AsciiMath">r/1 = 0</stem>
2380
+ </formula>
2381
+ </measurement-target>
2382
+ <verification exclude="false">
2383
+ <p id="_">The following code will be run for verification:</p>
2384
+ <sourcecode id="_">CoreRoot(success): HttpResponse
2385
+ if (success)
2386
+ recommendation(label: success-response)
2387
+ end
2388
+ </sourcecode>
2389
+ </verification>
2390
+ <import exclude="true">
2391
+ <sourcecode id="_">success-response()</sourcecode>
2392
+ </import>
2393
+ </recommendation>
2394
+ </foreword></preface>
2395
+ </iso-standard>
2396
+ INPUT
2397
+ #{HTML_HDR}
2398
+ <br/>
2399
+ <div>
2400
+ <h1 class="ForewordTitle">Foreword</h1>
2401
+ <div class="recommend" id='_' style='page-break-after: avoid;page-break-inside: avoid;'>
2402
+ <p class="RecommendationTitle">Recommendation 1:<br/>/ogc/recommendation/wfs/2</p><p><i>Obligation: shall,could<br/>Subject: user<br/>Inherits: /ss/584/2015/level/1<br/>Type: text<br/>Language: BASIC</i></p>
2403
+ <div class="requirement-description">
2404
+ <p id="_">I recommend <i>this</i>.</p>
2405
+ </div>
2406
+
2407
+ <div class="requirement-description">
2408
+ <p id="_">As for the measurement targets,</p>
2409
+ </div>
2410
+ <div class="requirement-measurement-target">
2411
+ <p id="_">The measurement target shall be measured as:</p>
2412
+ <div id="_"><div class="formula"><p><span class="stem">(#(r/1 = 0)#)</span></p></div></div>
2413
+
2414
+
2415
+ </div>
2416
+ <div class="requirement-verification">
2417
+ <p id="_">The following code will be run for verification:</p>
2418
+ <pre id="_" class="prettyprint ">CoreRoot(success): HttpResponse<br/>&#160;&#160;&#160;&#160;&#160; if (success)<br/>&#160;&#160;&#160;&#160;&#160; recommendation(label: success-response)<br/>&#160;&#160;&#160;&#160;&#160; end<br/>&#160;&#160;&#160; </pre>
2419
+ </div>
2420
+
2421
+ </div>
2422
+ </div>
2423
+ <p class="zzSTDTitle1"/>
2424
+ </div>
2425
+ </body>
2426
+ </html>
2427
+ OUTPUT
2428
+ end
2429
+
2430
+ it "processes pseudocode (Presentation XML)" do
2431
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2432
+ <itu-standard xmlns="http://riboseinc.com/isoxml">
2433
+ <bibdata>
2434
+ <language>en</language>
2435
+ </bibdata>
2436
+ <preface><foreword>
2437
+ <figure id="_" class="pseudocode" keep-with-next="true" keep-lines-together="true"><name>Label</name><p id="_">  <strong>A</strong><br/>
2438
+         <smallcap>B</smallcap></p>
2439
+ <p id="_">  <em>C</em></p></figure>
2440
+ </preface></itu-standard>
2441
+ INPUT
2442
+ <?xml version='1.0'?>
2443
+ <itu-standard xmlns='http://riboseinc.com/isoxml'>
2444
+ <bibdata>
2445
+ <language>en</language>
2446
+ </bibdata>
2447
+ <preface>
2448
+ <foreword>
2449
+ <figure id='_' class='pseudocode' keep-with-next='true' keep-lines-together='true'>
2450
+ <name>Figure 1&#xA0;&#x2014; Label</name>
2451
+ <p id='_'>
2452
+ &#xA0;&#xA0;
2453
+ <strong>A</strong>
2454
+ <br/>
2455
+ &#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;
2456
+ <smallcap>B</smallcap>
2457
+ </p>
2458
+ <p id='_'>
2459
+ &#xA0;&#xA0;
2460
+ <em>C</em>
2461
+ </p>
2462
+ </figure>
2463
+ </foreword>
2464
+ </preface>
2465
+ </itu-standard>
2466
+ OUTPUT
2467
+ end
2468
+
2469
+ it "processes pseudocode (HTML)" do
2470
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2471
+ <itu-standard xmlns='http://riboseinc.com/isoxml'>
2472
+ <bibdata>
2473
+ <language>en</language>
2474
+ </bibdata>
2475
+ <preface>
2476
+ <foreword>
2477
+ <figure id='_' class='pseudocode' keep-with-next='true' keep-lines-together='true'>
2478
+ <name>Figure 1&#xA0;&#x2014; Label</name>
2479
+ <p id='_'>
2480
+ &#xA0;&#xA0;
2481
+ <strong>A</strong>
2482
+ <br/>
2483
+ &#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;
2484
+ <smallcap>B</smallcap>
2485
+ </p>
2486
+ <p id='_'>
2487
+ &#xA0;&#xA0;
2488
+ <em>C</em>
2489
+ </p>
2490
+ </figure>
2491
+ </foreword>
2492
+ </preface>
2493
+ </itu-standard>
2494
+ INPUT
2495
+ #{HTML_HDR}
2496
+ <br/>
2497
+ <div>
2498
+ <h1 class="ForewordTitle">Foreword</h1>
2499
+ <div id="_" class="pseudocode" style='page-break-after: avoid;page-break-inside: avoid;'><p id="_">&#160;&#160;<b>A</b><br/>
2500
+ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="font-variant:small-caps;">B</span></p>
2501
+ <p id="_">&#160;&#160;<i>C</i></p><p class="SourceTitle" style="text-align:center;">Figure 1&#xA0;&#x2014; Label</p></div>
2502
+ </div>
2503
+ <p class="zzSTDTitle1"/>
2504
+ </div>
2505
+ </body>
2506
+ </html>
2507
+ OUTPUT
2508
+ end
2509
+
2510
+ it "processes pseudocode (Word)" do
2511
+ FileUtils.rm_f "test.doc"
2512
+ IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", false)
2513
+ <itu-standard xmlns='http://riboseinc.com/isoxml'>
2514
+ <bibdata>
2515
+ <language>en</language>
2516
+ </bibdata>
2517
+ <preface>
2518
+ <foreword>
2519
+ <figure id='_' class='pseudocode' keep-with-next='true' keep-lines-together='true'>
2520
+ <name>Figure 1&#xA0;&#x2014; Label</name>
2521
+ <p id='_'>
2522
+ &#xA0;&#xA0;
2523
+ <strong>A</strong>
2524
+ <br/>
2525
+ &#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;
2526
+ <smallcap>B</smallcap>
2527
+ </p>
2528
+ <p id='_'>
2529
+ &#xA0;&#xA0;
2530
+ <em>C</em>
2531
+ </p>
2532
+ </figure>
2533
+ </foreword>
2534
+ </preface>
2535
+ </itu-standard>
2536
+ INPUT
2537
+ expect(xmlpp( File.read("test.doc").gsub(%r{^.*<h1 class="ForewordTitle">Foreword</h1>}m, "").gsub(%r{</div>.*}m, "</div>"))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2538
+ <div class="pseudocode" style='page-break-after: avoid;page-break-inside: avoid;'><a name="_" id="_"></a><p class="pseudocode"><a name="_" id="_"></a>&#xA0;&#xA0;<b>A</b><br/>
2539
+ &#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;<span style="font-variant:small-caps;">B</span></p>
2540
+ <p class="pseudocode" style="page-break-after:avoid;"><a name="_" id="_"></a>&#xA0;&#xA0;<i>C</i></p><p class="SourceTitle" style="text-align:center;">Figure 1&#xA0;&#x2014; Label</p></div>
2541
+ OUTPUT
2542
+ end
2543
+
2544
+ it "does not label embedded figures, sourcecode" do
2545
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2546
+ <itu-standard xmlns="http://riboseinc.com/isoxml">
2547
+ <bibdata>
2548
+ <language>en</language>
2549
+ </bibdata>
2550
+ <preface><foreword>
2551
+ <example>
2552
+ <sourcecode id="B"><name>Label</name>A B C</sourcecode>
2553
+ <figure id="A" class="pseudocode"><name>Label</name><p id="_">  <strong>A</strong></p></figure>
2554
+ <sourcecode id="B1">A B C</sourcecode>
2555
+ <figure id="A1" class="pseudocode"><p id="_">  <strong>A</strong></p></figure>
2556
+ </example>
2557
+ </preface></itu-standard>
2558
+ INPUT
2559
+ #{HTML_HDR}
2560
+ <br/>
2561
+ <div>
2562
+ <h1 class='ForewordTitle'>Foreword</h1>
2563
+ <div class='example'>
2564
+ <pre id='B' class='prettyprint '>
2565
+ A B C
2566
+ </pre>
2567
+ <p class='SourceTitle' style='text-align:center;'>Label</p>
2568
+ <div id='A' class='pseudocode'>
2569
+ <p id='_'>
2570
+ &#160;&#160;
2571
+ <b>A</b>
2572
+ </p>
2573
+ <p class='SourceTitle' style='text-align:center;'>Label</p>
2574
+ </div>
2575
+ <pre id='B1' class='prettyprint '>A B C</pre>
2576
+ <div id='A1' class='pseudocode'>
2577
+ <p id='_'>
2578
+ &#160;&#160;
2579
+ <b>A</b>
2580
+ </p>
2581
+ </div>
2582
+ </div>
2583
+ </div>
2584
+ <p class='zzSTDTitle1'/>
2585
+ </div>
2586
+ </body>
2587
+ </html>
2588
+ OUTPUT
2589
+ end
2590
+
2591
+ it "processes passthrough with compatible format" do
2592
+ FileUtils.rm_f "test.html"
2593
+ IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", false)
2594
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2595
+ <preface><foreword>
2596
+ <passthrough format="html,rfc">&lt;A&gt;</passthrough><em>Hello</em><passthrough format="html,rfc">&lt;/A&gt;</passthrough>
2597
+ </foreword></preface>
2598
+ </iso-standard>
2599
+ INPUT
2600
+ expect(( File.read("test.html").gsub(%r{^.*<h1 class="ForewordTitle">Foreword</h1>}m, "").gsub(%r{</div>.*}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2601
+ <A><i>Hello</i></A>
2602
+ OUTPUT
2603
+ end
2604
+
2605
+ it "aborts if passthrough results in malformed XML" do
2606
+ FileUtils.rm_f "test.html"
2607
+ FileUtils.rm_f "test.html.err"
2608
+ begin
2609
+ expect { IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", false) }.to raise_error(SystemExit)
2610
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2611
+ <preface><foreword>
2612
+ <passthrough format="html,rfc">&lt;A&gt;</passthrough><em>Hello</em>
2613
+ </foreword></preface>
2614
+ </iso-standard>
2615
+ INPUT
2616
+ rescue SystemExit
2617
+ end
2618
+ expect(File.exist?("test.html.err")).to be true
2619
+ end
2620
+
2621
+ it "ignore passthrough with incompatible format" do
2622
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2623
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2624
+ <preface><foreword>
2625
+ <passthrough format="doc,rfc">&lt;A&gt;</passthrough>
2626
+ </foreword></preface>
2627
+ </iso-standard>
2628
+ INPUT
2629
+ #{HTML_HDR}
2630
+ <br/>
2631
+ <div>
2632
+ <h1 class='ForewordTitle'>Foreword</h1>
2633
+ </div>
2634
+ <p class='zzSTDTitle1'/>
2635
+ </div>
2636
+ </body>
2637
+ </html>
2638
+ OUTPUT
2639
+ end
2640
+
2641
+
2642
+
2643
+ end