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.
- checksums.yaml +4 -4
- data/Gemfile.lock +62 -69
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/Gemfile +4 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/LICENSE.txt +26 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/README.md +179 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/Rakefile +6 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/bin/console +11 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/bin/rspec +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/bin/setup +7 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/fontist.gemspec +32 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist.rb +48 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/errors.rb +10 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/font.rb +78 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/font_formula.rb +123 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formula.rb +90 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas.rb +15 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/andale_font.rb +79 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/arial_black_font.rb +78 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/cleartype_fonts.rb +226 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/comic_font.rb +77 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/courier_font.rb +80 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/euphemia_font.rb +85 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/georgia_font.rb +79 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/impact_font.rb +77 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/montserrat_font.rb +132 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/ms_truetype_fonts.rb +124 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/open_sans_fonts.rb +263 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/overpass_font.rb +73 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/source_fonts.rb +109 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/stix_fonts.rb +108 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/tahoma_font.rb +146 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/formulas/webding_font.rb +77 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/registry.rb +42 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/system.yml +17 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/system_font.rb +72 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils.rb +9 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/downloader.rb +74 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/dsl.rb +77 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/exe_extractor.rb +72 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/utils/zip_extractor.rb +38 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/lib/fontist/version.rb +3 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fixtures/fonts/DejaVuSerif.ttf +0 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/font_formula_spec.rb +67 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/font_spec.rb +87 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formula_spec.rb +67 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/andale_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/arial_black_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/cleartype_fonts_spec.rb +38 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/comic_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/courier_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/euphemia_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/georgia_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/impact_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/montserrat_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/ms_truetype_fonts_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/open_sans_fonts_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/overpass_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/source_fonts_spec.rb +31 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/stix_fonts_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/tahoma_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/formulas/webding_font_spec.rb +29 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/registry_spec.rb +47 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/system_font_spec.rb +44 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist/utils/downloader_spec.rb +35 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/fontist_spec.rb +5 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/spec_helper.rb +22 -0
- data/gems/ruby/2.6.0/gems/fontist-1.2.0/spec/support/fontist_helper.rb +10 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/CODE_OF_CONDUCT.md +46 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/isodoc.gemspec +51 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc-yaml/i18n-en.yaml +98 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc-yaml/i18n-fr.yaml +91 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc-yaml/i18n-zh-Hans.yaml +92 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc.rb +30 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/all.css +207 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/all.scss +6 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/bands.scss +79 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/blocks.css +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/blocks.scss +128 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/coverpage.css +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/coverpage.scss +7 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/defaults.css +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/defaults.scss +26 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/metanorma_word.css +34 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/metanorma_word.scss +30 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/nav.css +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/nav.scss +180 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/reset.css +105 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/reset.scss +129 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/typography.css +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/base_style/typography.scss +67 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/class_utils.rb +30 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/common.rb +29 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/convert.rb +250 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function.rb +4 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/blocks.rb +208 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/blocks_example_note.rb +107 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/cleanup.rb +218 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/inline.rb +155 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/inline_simple.rb +72 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/lists.rb +94 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/references.rb +214 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/reqt.rb +115 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/section.rb +228 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/table.rb +108 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/terms.rb +78 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/to_word_html.rb +230 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/function/utils.rb +190 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/gem_tasks.rb +133 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/headlesshtml_convert.rb +45 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_convert.rb +30 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function.rb +4 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/comments.rb +144 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/footnotes.rb +83 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/html.rb +115 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/html_function/postprocess.rb +243 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/i18n.rb +122 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/metadata.rb +235 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/metadata_date.rb +39 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/pdf_convert.rb +50 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_function/block.rb +138 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_function/inline.rb +131 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_function/section.rb +46 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/presentation_xml_convert.rb +62 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/sassc_importer.rb +11 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/version.rb +3 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_convert.rb +45 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function.rb +4 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/body.rb +214 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/comments.rb +145 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/footnotes.rb +105 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/inline.rb +77 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/postprocess.rb +247 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/postprocess_cover.rb +79 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/word_function/table.rb +60 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref.rb +61 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_anchor.rb +56 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_counter.rb +74 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_gen.rb +117 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_gen_seq.rb +163 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xref/xref_sect_gen.rb +151 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/lib/isodoc/xslfo_convert.rb +46 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/html.scss +6 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/i18n.yaml +16 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/odf.emf +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/odf.svg +4 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/odf1.svg +4 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/rice_image1 +0 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/std.css +2 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/assets/word.css +2 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/blocks_spec.rb +2643 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/cleanup_spec.rb +1188 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/footnotes_spec.rb +280 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/i18n_spec.rb +1131 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/inline_spec.rb +995 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/lists_spec.rb +346 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/metadata_spec.rb +342 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/postproc_spec.rb +1536 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/presentation_xml_spec.rb +20 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/ref_spec.rb +427 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/section_spec.rb +993 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/table_spec.rb +454 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/terms_spec.rb +268 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/isodoc/xref_spec.rb +2764 -0
- data/gems/ruby/2.6.0/gems/isodoc-1.2.1/spec/spec_helper.rb +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/cc.rng +116 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/converter.rb +72 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/front.rb +93 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/validate.rb +29 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/asciidoctor/cc/validate_section.rb +124 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/base_convert.rb +21 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/csd.standard.xsl +3371 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/_coverpage.css +307 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/_coverpage.scss +130 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/cc.css +801 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/cc.scss +763 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/htmlstyle.css +1013 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/htmlstyle.scss +409 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/wordstyle.css +1253 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html/wordstyle.scss +1156 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/html_convert.rb +53 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/i18n-en.yaml +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/i18n.rb +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/init.rb +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/metadata.rb +61 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/pdf_convert.rb +21 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/presentation_xml_convert.rb +19 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/word_convert.rb +40 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/isodoc/cc/xref.rb +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma-cc.rb +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma/cc.rb +29 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma/cc/processor.rb +49 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/lib/metanorma/cc/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-cc-1.5.0/metanorma-cc.gemspec +44 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/converter.rb +139 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/csa.rng +115 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/asciidoctor/csa/validate.rb +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/base_convert.rb +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/csa.standard.xsl +3387 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/csa.css +801 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/csa.scss +763 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/htmlstyle.css +1070 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/htmlstyle.scss +806 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/wordstyle.css +1253 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html/wordstyle.scss +1157 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/html_convert.rb +60 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/i18n-en.yaml +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/i18n.rb +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/init.rb +24 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/metadata.rb +51 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/pdf_convert.rb +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/presentation_xml_convert.rb +19 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/word_convert.rb +42 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/isodoc/csa/xref.rb +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma-csa.rb +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma/csa.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma/csa/processor.rb +52 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/lib/metanorma/csa/version.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-csa-1.6.0/metanorma-csa.gemspec +52 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/Gemfile +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/Rakefile +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/asciidoctor-gb.gemspec.old +47 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/cleanup.rb +130 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/converter.rb +146 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/front.rb +242 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/front_id.rb +57 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/gbstandard.rng +300 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/isostandard.rng +533 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/section_input.rb +42 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/asciidoctor/gb/validate.rb +132 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/base_convert.rb +211 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/cleanup.rb +79 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/common.rb +72 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/gb.recommendation.xsl +3739 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/_coverpage.css +193 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/_coverpage.scss +249 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-issuer-default.svg +980 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-db.svg +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-gb.svg +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-gjb.svg +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-gm.svg +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-jjf.svg +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb-logos/gb-standard-zb.svg +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb.css +657 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/gb.scss +617 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlcompliantstyle.css +1303 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlcompliantstyle.scss +1004 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlstyle.css +844 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/htmlstyle.scss +414 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/wordstyle.css +2932 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html/wordstyle.scss +2750 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/html_convert.rb +70 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/i18n-en.yaml +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/i18n-zh-Hans.yaml +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/i18n.rb +16 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/init.rb +29 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/metadata.rb +225 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/pdf_convert.rb +21 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/presentation_xml_convert.rb +26 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/word_convert.rb +126 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/isodoc/gb/xref.rb +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma-gb.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma/gb.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma/gb/processor.rb +73 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/lib/metanorma/gb/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-gb-1.5.1/metanorma-gb.gemspec +49 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/Rakefile +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/bin/rspec +17 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/converter.rb +219 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/generic.rng +79 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/asciidoctor/generic/rsd.rng +225 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic.rb +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/base_convert.rb +43 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html/generic.scss +766 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html/htmlstyle.scss +710 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html/wordstyle.scss +1157 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html_convert.rb +65 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/init.rb +27 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/metadata.rb +59 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/pdf_convert.rb +66 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/presentation_xml_convert.rb +19 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/word_convert.rb +60 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/xref.rb +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma-generic.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma/generic.rb +108 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma/generic/processor.rb +88 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/metanorma/generic/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/metanorma-generic.gemspec +44 -0
- data/gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/metanorma.yml.example +61 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/Gemfile +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/converter.rb +80 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/front.rb +220 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/iec.rng +43 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/isostandard.rng +533 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/asciidoctor/iec/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/base_convert.rb +147 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/htmlstyle.css +962 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/htmlstyle.scss +703 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/isodoc.css +845 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/isodoc.scss +836 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/wordstyle.css +2013 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html/wordstyle.scss +1854 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/html_convert.rb +43 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n-en.yaml +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n-fr.yaml +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n-zh-Hans.yaml +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/i18n.rb +19 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/iec.international-standard.xsl +4782 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/init.rb +29 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/metadata.rb +28 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/pdf_convert.rb +21 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/presentation_xml_convert.rb +35 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/word_convert.rb +188 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/isodoc/iec/xref.rb +45 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma-iec.rb +15 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma/iec.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma/iec/processor.rb +49 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/lib/metanorma/iec/version.rb +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/metanorma-iec.gemspec +45 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/base_spec.rb +602 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/blocks_spec.rb +481 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/cleanup_spec.rb +440 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/iev_spec.rb +234 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/inline_spec.rb +164 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/lists_spec.rb +190 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/section_spec.rb +369 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/asciidoctor-iec/validate_spec.rb +20 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/assets/html.css +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/assets/word.css +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/blocks_spec.rb +219 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/i18n_spec.rb +648 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/iev_spec.rb +564 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/inline_spec.rb +287 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/iso_spec.rb +217 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/metadata_spec.rb +242 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/postproc_spec.rb +299 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/ref_spec.rb +376 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/section_spec.rb +541 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/isodoc/terms_spec.rb +193 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/metanorma/processor_spec.rb +76 -0
- data/gems/ruby/2.6.0/gems/metanorma-iec-1.2.1/spec/spec_helper.rb +296 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/Gemfile +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/Guardfile +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/Rakefile +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/asciidoctor-rfc2 +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/asciidoctor-rfc2.bat +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/asciidoctor-rfc3 +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/rspec +17 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/docs/installation.md +21 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/docs/navigation.md +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/docs/overview.md +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/blocks.rb +78 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/converter.rb +201 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/front.rb +144 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/ietf.rng +888 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/asciidoctor/ietf/validate.rb +84 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/blocks.rb +227 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/cleanup.rb +230 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/footnotes.rb +70 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/front.rb +236 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/inline.rb +167 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/metadata.rb +54 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/references.rb +148 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/reqt.rb +79 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/rfc_convert.rb +82 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/section.rb +175 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/table.rb +43 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/terms.rb +52 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/isodoc/ietf/xref.rb +20 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma-ietf.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma/ietf.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma/ietf/processor.rb +103 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/lib/metanorma/ietf/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-ietf-2.2.0/metanorma-ietf.gemspec +53 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho.rb +4 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/converter.rb +105 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/iho.rng +144 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/asciidoctor/iho/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/base_convert.rb +20 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/htmlstyle.css +1007 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/htmlstyle.scss +757 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/iho.css +798 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/iho.scss +759 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/logo.svg +555 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/wordstyle.css +1252 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html/wordstyle.scss +1155 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/html_convert.rb +34 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/iho.specification.xsl +3501 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/iho.standard.xsl +3501 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/init.rb +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/metadata.rb +26 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/pdf_convert.rb +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/presentation_xml_convert.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/word_convert.rb +47 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/isodoc/iho/xref.rb +64 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma-iho.rb +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma/iho.rb +32 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma/iho/processor.rb +46 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/lib/metanorma/iho/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/metanorma-iho.gemspec +44 -0
- data/gems/ruby/2.6.0/gems/metanorma-iho-0.2.0/metanorma.yml +56 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/CODE_OF_CONDUCT.md +46 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/Gemfile +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/Makefile +39 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/base.rb +67 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/cleanup.rb +129 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/converter.rb +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/front.rb +138 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/front_id.rb +196 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isostandard-amd.rng +98 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isostandard.rnc +176 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/isostandard.rng +533 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/macros.rb +21 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/section.rb +46 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/term_lookup_cleanup.rb +86 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate.rb +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_requirements.rb +105 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_section.rb +185 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_style.rb +150 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/asciidoctor/iso/validate_title.rb +99 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/base_convert.rb +156 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/htmlstyle.css +47 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/htmlstyle.scss +45 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/isodoc.css +862 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/isodoc.scss +851 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-human.css +968 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-human.scss +695 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-iso.css +996 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/style-iso.scss +712 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/wordstyle.css +1515 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html/wordstyle.scss +1393 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/html_convert.rb +55 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n-en.yaml +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n-fr.yaml +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n-zh-Hans.yaml +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/i18n.rb +19 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/init.rb +33 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/iso.amendment.xsl +4638 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/iso.international-standard.xsl +4638 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/metadata.rb +217 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/pdf_convert.rb +26 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/presentation_xml_convert.rb +111 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/sections.rb +61 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/sts_convert.rb +31 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/word_convert.rb +127 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/isodoc/iso/xref.rb +113 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma-iso.rb +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma/iso.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma/iso/processor.rb +62 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/lib/metanorma/iso/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/metanorma-iso.gemspec +50 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/amd_spec.rb +726 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/base_spec.rb +593 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/blocks_spec.rb +482 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/cleanup_spec.rb +995 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/inline_spec.rb +164 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/lists_spec.rb +190 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/macros_spec.rb +310 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/refs_spec.rb +286 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/section_spec.rb +357 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/table_spec.rb +307 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/asciidoctor-iso/validate_spec.rb +1127 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/html.css +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/i18n.yaml +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/std.css +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/assets/word.css +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/examples/english.yaml +69 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/examples/rice.sh +4 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/amd_spec.rb +808 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/blocks_spec.rb +534 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/i18n_spec.rb +954 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/inline_spec.rb +331 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/iso_spec.rb +384 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/metadata_spec.rb +248 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/postproc_spec.rb +708 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/ref_spec.rb +346 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/section_spec.rb +555 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/table_spec.rb +426 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/terms_spec.rb +202 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/isodoc/xref_spec.rb +1477 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/metanorma/processor_spec.rb +61 -0
- data/gems/ruby/2.6.0/gems/metanorma-iso-1.5.1/spec/spec_helper.rb +267 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/cleanup.rb +205 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/converter.rb +143 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/front.rb +216 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/itu.rng +264 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/macros.rb +27 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/asciidoctor/itu/validate.rb +145 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/base_convert.rb +196 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/International_Telecommunication_Union_Logo.svg +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/_coverpage.css +349 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/_coverpage.scss +183 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/htmlstyle.css +1159 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/htmlstyle.scss +601 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/itu.css +1138 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/itu.scss +1097 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/wordstyle.css +1808 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html/wordstyle.scss +1679 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/html_convert.rb +73 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/i18n-en.yaml +41 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/i18n.rb +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/init.rb +29 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/itu.recommendation-annex.xsl +3798 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/itu.recommendation.xsl +3798 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/itu.resolution.xsl +3798 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/metadata.rb +96 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/pdf_convert.rb +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/presentation_xml_convert.rb +55 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/ref.rb +130 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/terms.rb +64 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/word_convert.rb +238 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/isodoc/itu/xref.rb +175 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma-itu.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma/itu.rb +9 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma/itu/processor.rb +53 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/lib/metanorma/itu/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-itu-1.2.0/metanorma-itu.gemspec +44 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/converter.rb +142 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/m3d.rng +109 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/asciidoctor/m3aawg/validate.rb +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/base_convert.rb +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/htmlstyle.css +1030 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/htmlstyle.scss +733 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/m3d.css +758 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/m3d.scss +742 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/wordstyle.css +1278 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html/wordstyle.scss +1174 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/html_convert.rb +65 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/i18n-en.yaml +1 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/i18n.rb +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/init.rb +27 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/m3d.report.xsl +3408 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/metadata.rb +53 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/pdf_convert.rb +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/presentation_xml_convert.rb +19 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/word_convert.rb +63 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/isodoc/m3aawg/xref.rb +6 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma-m3aawg.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma/m3aawg.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma/m3aawg/processor.rb +50 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/lib/metanorma/m3aawg/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-m3aawg-1.5.0/metanorma-m3d.gemspec +47 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/boilerplate.rb +107 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/cleanup.rb +206 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/converter.rb +218 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/front.rb +259 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/front_id.rb +124 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/nist.rng +186 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/asciidoctor/nist/validate.rb +95 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/base_convert.rb +185 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/common.xsl +1246 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/_coverpage.css +243 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/_coverpage.scss +328 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/htmlstyle.css +955 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/htmlstyle.scss +463 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist.css +1055 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist.scss +1010 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist_cswp.css +996 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/nist_cswp.scss +955 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle.css +1440 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle.scss +1348 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle_cswp.css +1119 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html/wordstyle_cswp.scss +1026 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/html_convert.rb +137 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/i18n-en.yaml +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/i18n.rb +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/init.rb +37 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/metadata.rb +236 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/metadata_id.rb +125 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/nist.cswp.xsl +3645 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/nist.sp.xsl +4726 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/pdf_convert.rb +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/presentation_xml_convert.rb +80 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/refs.rb +89 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/render.rb +255 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/render_contributors.rb +80 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/render_dates.rb +42 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/section.rb +58 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/word_convert.rb +173 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/word_convert_toc.rb +86 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/isodoc/nist/xref.rb +61 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma-nist.rb +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma/nist.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma/nist/processor.rb +48 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/lib/metanorma/nist/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-nist-1.2.0/metanorma-nist.gemspec +47 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/README.adoc.old +187 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/bin/rspec +17 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/converter.rb +134 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/front.rb +195 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/ogc.rng +124 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/asciidoctor/ogc/validate.rb +108 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/base_convert.rb +79 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/biblio.rb +120 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/_coverpage.css +195 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/_coverpage.scss +247 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/htmlstyle.css +1084 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/htmlstyle.scss +599 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/ogc.css +835 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/ogc.scss +792 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/wordstyle.css +1253 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html/wordstyle.scss +1155 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/html_convert.rb +89 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/i18n-en.yaml +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/i18n.rb +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/init.rb +32 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/metadata.rb +111 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.best-practice.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.community-practice.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.community-standard.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.discussion-paper.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.engineering-report.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.other.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.policy.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.reference-model.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.release-notes.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.standard.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.test-suite.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.user-guide.xsl +3802 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/ogc.white-paper.xsl +3554 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/pdf_convert.rb +24 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/presentation_xml_convert.rb +137 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/reqt.rb +168 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/sections.rb +66 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/word_convert.rb +189 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/isodoc/ogc/xref.rb +156 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma-ogc.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma/ogc.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma/ogc/processor.rb +49 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/lib/metanorma/ogc/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-ogc-1.2.0/metanorma-ogc.gemspec +41 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/CODE_OF_CONDUCT.md +46 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/Makefile +39 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/bin/rspec +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/base.rb +242 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/blocks.rb +191 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/blocks_notes.rb +89 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup.rb +177 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_block.rb +183 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_boilerplate.rb +100 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_footnotes.rb +87 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_inline.rb +134 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_ref.rb +247 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_section.rb +221 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/cleanup_terms.rb +144 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/converter.rb +86 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/datamodel/attributes_table_preprocessor.rb +57 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/datamodel/diagram_preprocessor.rb +102 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/datamodel/plantuml_renderer.rb +408 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/front.rb +210 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/front_contributor.rb +99 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/inline.rb +233 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/lists.rb +115 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/log.rb +50 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/macros.rb +179 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/macros_plantuml.rb +100 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/macros_yaml2text.rb +165 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/ref.rb +257 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/ref_sect.rb +124 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/reqt.rb +73 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/section.rb +244 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/table.rb +70 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/utils.rb +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/validate.rb +97 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/validate_section.rb +51 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/views/datamodel/model_representation.adoc.erb +30 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/asciidoctor/standoc/views/datamodel/plantuml_representation.adoc.erb +20 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma-standoc.rb +10 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc.rb +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/latexml_requirement.rb +62 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/processor.rb +38 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/requirement.rb +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/lib/metanorma/standoc/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/metanorma-standoc.gemspec +56 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/base_spec.rb +519 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/blocks_spec.rb +1271 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/cleanup_spec.rb +3224 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/datamodel/attributes_table_preprocessor_spec.rb +111 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/datamodel/diagram_preprocessor_spec.rb +72 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/inline_spec.rb +308 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/isobib_cache_spec.rb +705 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/lists_spec.rb +205 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/macros_spec.rb +538 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/macros_yaml2text_spec.rb +565 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/refs_dl_spec.rb +850 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/refs_spec.rb +1648 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/section_spec.rb +983 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/table_spec.rb +307 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/asciidoctor-standoc/validate_spec.rb +328 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/codes.yml +695 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/html.scss +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/i18n.yaml +17 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/iso123.rxl +107 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/std.css +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/assets/word.scss +13 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressClassProfile.yml +90 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressComponentProfile.yml +63 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressComponentSpecification.yml +15 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AddressProfile.yml +36 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/AttributeProfile.yml +32 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/InterchangeAddressClassProfile.yml +79 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Localization copy.yml +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Localization.yml +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/ProfileCompliantAddress.yml +36 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml +15 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Signature.yml +20 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/SignatureBlankDefinition.yml +20 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/TextDirectionCode copy.yml +16 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/TextDirectionCode.yml +16 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/Validity.yml +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/iso19160-1/Address.yml +22 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/models/iso19160-1/AddressComponent.yml +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/style.uml.inc +37 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/views/CommonModels.yml +9 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/datamodel/models/views/TopDown.yml +62 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/english.yaml +69 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/examples/rice.sh +4 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/metanorma/processor_spec.rb +92 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/spec_helper.rb +249 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +719 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_123.yml +182 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_123_1.yml +361 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_123_2001.yml +182 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/isobib_get_124.yml +182 -0
- data/gems/ruby/2.6.0/gems/metanorma-standoc-1.5.0/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +109 -0
- 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
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/CODE_OF_CONDUCT.md +74 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/Gemfile +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/Rakefile +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/bin/console +14 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/bin/rspec +17 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un.rb +7 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/basicdoc.rng +1059 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/biblio.rng +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/converter.rb +253 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/isodoc.rng +1510 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/reqt.rng +194 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/un.rng +356 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/asciidoctor/un/validate.rb +23 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un.rb +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/base_convert.rb +35 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/htmlstyle.css +1096 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/htmlstyle.scss +881 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/unece.css +818 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/unece.scss +801 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/wordstyle.css +1237 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html/wordstyle.scss +1140 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/html_convert.rb +112 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/i18n-en.yaml +2 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/i18n.rb +11 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/init.rb +29 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/metadata.rb +102 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/pdf_convert.rb +28 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/presentation_xml_convert.rb +53 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/un.plenary-attachment.xsl +3618 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/un.plenary.xsl +3618 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/un.recommendation.xsl +3605 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/word_convert.rb +174 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/isodoc/un/xref.rb +185 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma-un.rb +8 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un.rb +12 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/UN_emblem_blue.svg +193 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/input.rb +18 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/processor.rb +49 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/lib/metanorma/un/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/metanorma-un-0.5.0/metanorma-unece.gemspec +46 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/CHANGELOG.md +6 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/Gemfile +8 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/LICENSE +25 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/Rakefile +6 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/bin/console +11 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/bin/rspec +29 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/bin/setup +8 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/exe/relaton +21 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/i18n.yaml +1 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton-cli.rb +10 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/bibcollection.rb +120 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/bibdata.rb +90 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli.rb +55 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/base_convertor.rb +141 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/command.rb +115 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/relaton_file.rb +276 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/version.rb +5 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/xml_convertor.rb +47 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/xml_to_html_renderer.rb +116 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/cli/yaml_convertor.rb +99 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/lib/relaton/element_finder.rb +25 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/relaton-cli.gemspec +40 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/templates/_document.liquid +92 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/templates/_index.liquid +53 -0
- data/gems/ruby/2.6.0/gems/relaton-cli-1.2.1/templates/index-style.css +1017 -0
- data/gems/ruby/2.6.0/specifications/fontist-1.2.0.gemspec +51 -0
- data/gems/ruby/2.6.0/specifications/isodoc-1.2.1.gemspec +87 -0
- data/gems/ruby/2.6.0/specifications/metanorma-cc-1.5.0.gemspec +67 -0
- data/gems/ruby/2.6.0/specifications/metanorma-csa-1.6.0.gemspec +85 -0
- data/gems/ruby/2.6.0/specifications/metanorma-gb-1.5.1.gemspec +79 -0
- data/gems/ruby/2.6.0/specifications/metanorma-generic-1.6.0.gemspec +73 -0
- data/gems/ruby/2.6.0/specifications/metanorma-iec-1.2.1.gemspec +72 -0
- data/gems/ruby/2.6.0/specifications/metanorma-ietf-2.2.0.gemspec +73 -0
- data/gems/ruby/2.6.0/specifications/metanorma-iho-0.2.0.gemspec +73 -0
- data/gems/ruby/2.6.0/specifications/metanorma-iso-1.5.1.gemspec +81 -0
- data/gems/ruby/2.6.0/specifications/metanorma-itu-1.2.0.gemspec +79 -0
- data/gems/ruby/2.6.0/specifications/metanorma-m3aawg-1.5.0.gemspec +73 -0
- data/gems/ruby/2.6.0/specifications/metanorma-nist-1.2.0.gemspec +82 -0
- data/gems/ruby/2.6.0/specifications/metanorma-ogc-1.2.0.gemspec +70 -0
- data/gems/ruby/2.6.0/specifications/metanorma-standoc-1.5.0.gemspec +99 -0
- data/gems/ruby/2.6.0/specifications/metanorma-un-0.5.0.gemspec +76 -0
- data/gems/ruby/2.6.0/specifications/relaton-cli-1.2.1.gemspec +73 -0
- data/lib/metanorma/cli/version.rb +1 -1
- data/metanorma-cli.gemspec +18 -18
- metadata +981 -34
@@ -0,0 +1,194 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<!--
|
4
|
+
Presupposes isodoc.rnc, is included in it
|
5
|
+
include "isodoc.rnc" { }
|
6
|
+
-->
|
7
|
+
<define name="requirement">
|
8
|
+
<element name="requirement">
|
9
|
+
<ref name="RequirementType"/>
|
10
|
+
</element>
|
11
|
+
</define>
|
12
|
+
<define name="recommendation">
|
13
|
+
<element name="recommendation">
|
14
|
+
<ref name="RequirementType"/>
|
15
|
+
</element>
|
16
|
+
</define>
|
17
|
+
<define name="permission">
|
18
|
+
<element name="permission">
|
19
|
+
<ref name="RequirementType"/>
|
20
|
+
</element>
|
21
|
+
</define>
|
22
|
+
<define name="RequirementType">
|
23
|
+
<optional>
|
24
|
+
<attribute name="obligation">
|
25
|
+
<ref name="ObligationType"/>
|
26
|
+
</attribute>
|
27
|
+
</optional>
|
28
|
+
<optional>
|
29
|
+
<attribute name="unnumbered">
|
30
|
+
<data type="boolean"/>
|
31
|
+
</attribute>
|
32
|
+
</optional>
|
33
|
+
<optional>
|
34
|
+
<attribute name="number"/>
|
35
|
+
</optional>
|
36
|
+
<optional>
|
37
|
+
<attribute name="subsequence"/>
|
38
|
+
</optional>
|
39
|
+
<optional>
|
40
|
+
<attribute name="keep-with-next">
|
41
|
+
<data type="boolean"/>
|
42
|
+
</attribute>
|
43
|
+
</optional>
|
44
|
+
<optional>
|
45
|
+
<attribute name="keep-lines-together">
|
46
|
+
<data type="boolean"/>
|
47
|
+
</attribute>
|
48
|
+
</optional>
|
49
|
+
<attribute name="id">
|
50
|
+
<data type="ID"/>
|
51
|
+
</attribute>
|
52
|
+
<optional>
|
53
|
+
<attribute name="filename"/>
|
54
|
+
</optional>
|
55
|
+
<optional>
|
56
|
+
<attribute name="model"/>
|
57
|
+
</optional>
|
58
|
+
<optional>
|
59
|
+
<attribute name="type"/>
|
60
|
+
</optional>
|
61
|
+
<optional>
|
62
|
+
<ref name="reqtitle"/>
|
63
|
+
</optional>
|
64
|
+
<optional>
|
65
|
+
<ref name="label"/>
|
66
|
+
</optional>
|
67
|
+
<optional>
|
68
|
+
<ref name="subject"/>
|
69
|
+
</optional>
|
70
|
+
<zeroOrMore>
|
71
|
+
<ref name="reqinherit"/>
|
72
|
+
</zeroOrMore>
|
73
|
+
<zeroOrMore>
|
74
|
+
<ref name="classification"/>
|
75
|
+
</zeroOrMore>
|
76
|
+
<zeroOrMore>
|
77
|
+
<choice>
|
78
|
+
<ref name="measurementtarget"/>
|
79
|
+
<ref name="specification"/>
|
80
|
+
<ref name="verification"/>
|
81
|
+
<ref name="import"/>
|
82
|
+
<ref name="description"/>
|
83
|
+
</choice>
|
84
|
+
</zeroOrMore>
|
85
|
+
<optional>
|
86
|
+
<ref name="reqt_references"/>
|
87
|
+
</optional>
|
88
|
+
<zeroOrMore>
|
89
|
+
<choice>
|
90
|
+
<ref name="requirement"/>
|
91
|
+
<ref name="recommendation"/>
|
92
|
+
<ref name="permission"/>
|
93
|
+
</choice>
|
94
|
+
</zeroOrMore>
|
95
|
+
</define>
|
96
|
+
<define name="reqtitle">
|
97
|
+
<element name="title">
|
98
|
+
<ref name="FormattedString"/>
|
99
|
+
</element>
|
100
|
+
</define>
|
101
|
+
<define name="label">
|
102
|
+
<element name="label">
|
103
|
+
<text/>
|
104
|
+
</element>
|
105
|
+
</define>
|
106
|
+
<define name="subject">
|
107
|
+
<element name="subject">
|
108
|
+
<text/>
|
109
|
+
</element>
|
110
|
+
</define>
|
111
|
+
<define name="reqinherit">
|
112
|
+
<element name="inherit">
|
113
|
+
<text/>
|
114
|
+
</element>
|
115
|
+
</define>
|
116
|
+
<define name="measurementtarget">
|
117
|
+
<element name="measurement-target">
|
118
|
+
<ref name="RequirementSubpart"/>
|
119
|
+
</element>
|
120
|
+
</define>
|
121
|
+
<define name="specification">
|
122
|
+
<element name="specification">
|
123
|
+
<ref name="RequirementSubpart"/>
|
124
|
+
</element>
|
125
|
+
</define>
|
126
|
+
<define name="verification">
|
127
|
+
<element name="verification">
|
128
|
+
<ref name="RequirementSubpart"/>
|
129
|
+
</element>
|
130
|
+
</define>
|
131
|
+
<define name="import">
|
132
|
+
<element name="import">
|
133
|
+
<ref name="RequirementSubpart"/>
|
134
|
+
</element>
|
135
|
+
</define>
|
136
|
+
<define name="description">
|
137
|
+
<element name="description">
|
138
|
+
<ref name="RequirementSubpart"/>
|
139
|
+
</element>
|
140
|
+
</define>
|
141
|
+
<define name="reqt_references">
|
142
|
+
<element name="references">
|
143
|
+
<oneOrMore>
|
144
|
+
<ref name="bibitem"/>
|
145
|
+
</oneOrMore>
|
146
|
+
</element>
|
147
|
+
</define>
|
148
|
+
<define name="RequirementSubpart">
|
149
|
+
<optional>
|
150
|
+
<attribute name="type"/>
|
151
|
+
</optional>
|
152
|
+
<optional>
|
153
|
+
<attribute name="exclude">
|
154
|
+
<data type="boolean"/>
|
155
|
+
</attribute>
|
156
|
+
</optional>
|
157
|
+
<optional>
|
158
|
+
<attribute name="keep-with-next">
|
159
|
+
<data type="boolean"/>
|
160
|
+
</attribute>
|
161
|
+
</optional>
|
162
|
+
<optional>
|
163
|
+
<attribute name="keep-lines-together">
|
164
|
+
<data type="boolean"/>
|
165
|
+
</attribute>
|
166
|
+
</optional>
|
167
|
+
<oneOrMore>
|
168
|
+
<ref name="BasicBlock"/>
|
169
|
+
</oneOrMore>
|
170
|
+
</define>
|
171
|
+
<define name="ObligationType">
|
172
|
+
<choice>
|
173
|
+
<value>requirement</value>
|
174
|
+
<value>recommendation</value>
|
175
|
+
<value>permission</value>
|
176
|
+
</choice>
|
177
|
+
</define>
|
178
|
+
<define name="classification">
|
179
|
+
<element name="classification">
|
180
|
+
<ref name="classification_tag"/>
|
181
|
+
<ref name="classification_value"/>
|
182
|
+
</element>
|
183
|
+
</define>
|
184
|
+
<define name="classification_tag">
|
185
|
+
<element name="tag">
|
186
|
+
<text/>
|
187
|
+
</element>
|
188
|
+
</define>
|
189
|
+
<define name="classification_value">
|
190
|
+
<element name="value">
|
191
|
+
<text/>
|
192
|
+
</element>
|
193
|
+
</define>
|
194
|
+
</grammar>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Asciidoctor
|
2
|
+
module Csa
|
3
|
+
class Converter < Standoc::Converter
|
4
|
+
def content_validate(doc)
|
5
|
+
super
|
6
|
+
bibdata_validate(doc.root)
|
7
|
+
end
|
8
|
+
|
9
|
+
def bibdata_validate(doc)
|
10
|
+
stage_validate(doc)
|
11
|
+
end
|
12
|
+
|
13
|
+
def stage_validate(xmldoc)
|
14
|
+
stage = xmldoc&.at("//bibdata/status/stage")&.text
|
15
|
+
%w(proposal working-draft committee-draft draft-standard final-draft
|
16
|
+
published withdrawn).include? stage or
|
17
|
+
@log.add("Document Attributes", nil,
|
18
|
+
"#{stage} is not a recognised status")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'isodoc'
|
4
|
+
|
5
|
+
module IsoDoc
|
6
|
+
module Csa
|
7
|
+
module BaseConvert
|
8
|
+
def cleanup(docxml)
|
9
|
+
super
|
10
|
+
term_cleanup(docxml)
|
11
|
+
end
|
12
|
+
|
13
|
+
def term_cleanup(docxml)
|
14
|
+
docxml.xpath("//p[@class = 'Terms']").each do |d|
|
15
|
+
h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
|
16
|
+
h2.add_child(" ")
|
17
|
+
h2.add_child(d.remove)
|
18
|
+
end
|
19
|
+
docxml
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,3387 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:csa="https://www.metanorma.org/ns/csa" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
|
2
|
+
|
3
|
+
<xsl:output version="1.0" method="xml" encoding="UTF-8" indent="yes"/>
|
4
|
+
|
5
|
+
<xsl:param name="svg_images"/>
|
6
|
+
<xsl:variable name="images" select="document($svg_images)"/>
|
7
|
+
|
8
|
+
<xsl:variable name="pageWidth" select="'215.9mm'"/>
|
9
|
+
<xsl:variable name="pageHeight" select="'279.4mm'"/>
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
<xsl:variable name="debug">false</xsl:variable>
|
14
|
+
|
15
|
+
<xsl:variable name="copyright">
|
16
|
+
<xsl:text>© Copyright </xsl:text>
|
17
|
+
<xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:copyright/csa:from"/>
|
18
|
+
<xsl:text>, Cloud Security Alliance. All rights reserved.</xsl:text>
|
19
|
+
</xsl:variable>
|
20
|
+
|
21
|
+
<xsl:variable name="color-header-cover">rgb(55, 243, 244)</xsl:variable>
|
22
|
+
<xsl:variable name="color-header-document">rgb(79, 201, 204)</xsl:variable>
|
23
|
+
<xsl:variable name="color-link">rgb(33, 94, 159)</xsl:variable>
|
24
|
+
|
25
|
+
<xsl:variable name="copyright_short">
|
26
|
+
<xsl:text>© </xsl:text>
|
27
|
+
<xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:copyright/csa:from"/>
|
28
|
+
<xsl:text> </xsl:text>
|
29
|
+
<xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:contributor/csa:organization/csa:name"/>
|
30
|
+
</xsl:variable>
|
31
|
+
|
32
|
+
<xsl:variable name="doctitle" select="/csa:csa-standard/csa:bibdata/csa:title[@language = 'en']"/>
|
33
|
+
|
34
|
+
<xsl:variable name="doctype">
|
35
|
+
<xsl:call-template name="capitalizeWords">
|
36
|
+
<xsl:with-param name="str" select="/csa:csa-standard/csa:bibdata/csa:ext/csa:doctype"/>
|
37
|
+
</xsl:call-template>
|
38
|
+
</xsl:variable>
|
39
|
+
|
40
|
+
<xsl:variable name="header">
|
41
|
+
<xsl:text>Open Geospatial Consortium </xsl:text>
|
42
|
+
<xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:docidentifier[@type = 'csa-internal']"/>
|
43
|
+
<xsl:text>:</xsl:text>
|
44
|
+
<xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:copyright/csa:from"/>
|
45
|
+
</xsl:variable>
|
46
|
+
|
47
|
+
<xsl:variable name="contents">
|
48
|
+
<contents>
|
49
|
+
|
50
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:preface/*" mode="contents"/>
|
51
|
+
|
52
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:sections/csa:clause[@id='_scope']" mode="contents"/>
|
53
|
+
|
54
|
+
<!-- Normative references -->
|
55
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:bibliography/csa:references[@id = '_normative_references' or @id = '_references']" mode="contents"/>
|
56
|
+
|
57
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:sections/csa:terms" mode="contents"/> <!-- Terms and definitions -->
|
58
|
+
|
59
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:sections/*[local-name() != 'terms' and not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]" mode="contents"/>
|
60
|
+
|
61
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:annex" mode="contents"/>
|
62
|
+
|
63
|
+
<!-- Bibliography -->
|
64
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:bibliography/csa:references[@id != '_normative_references' and @id != '_references']" mode="contents"/>
|
65
|
+
|
66
|
+
</contents>
|
67
|
+
</xsl:variable>
|
68
|
+
|
69
|
+
<xsl:variable name="lang">
|
70
|
+
<xsl:call-template name="getLang"/>
|
71
|
+
</xsl:variable>
|
72
|
+
|
73
|
+
<xsl:template match="/">
|
74
|
+
<xsl:call-template name="namespaceCheck"/>
|
75
|
+
<fo:root font-family="AzoSans, STIX2Math" font-size="10pt" xml:lang="{$lang}">
|
76
|
+
<fo:layout-master-set>
|
77
|
+
<!-- Cover page -->
|
78
|
+
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
79
|
+
<fo:region-body margin-top="21mm" margin-bottom="21mm" margin-left="25mm" margin-right="25mm"/>
|
80
|
+
<fo:region-before region-name="cover-page-header" extent="21mm" precedence="true"/>
|
81
|
+
<fo:region-after region-name="footer" extent="21mm"/>
|
82
|
+
</fo:simple-page-master>
|
83
|
+
|
84
|
+
<fo:simple-page-master master-name="document" page-width="{$pageWidth}" page-height="{$pageHeight}">
|
85
|
+
<fo:region-body margin-top="25mm" margin-bottom="21mm" margin-left="25mm" margin-right="25mm"/>
|
86
|
+
<fo:region-before region-name="header" extent="25mm" precedence="true"/>
|
87
|
+
<fo:region-after region-name="footer" extent="21mm"/>
|
88
|
+
<fo:region-start region-name="left-region" extent="25mm"/>
|
89
|
+
<fo:region-end region-name="right-region" extent="25mm"/>
|
90
|
+
</fo:simple-page-master>
|
91
|
+
|
92
|
+
</fo:layout-master-set>
|
93
|
+
|
94
|
+
<xsl:call-template name="addPDFUAmeta"/>
|
95
|
+
|
96
|
+
<!-- Cover Page -->
|
97
|
+
<fo:page-sequence master-reference="cover-page" force-page-count="no-force">
|
98
|
+
<fo:static-content flow-name="xsl-footnote-separator">
|
99
|
+
<fo:block>
|
100
|
+
<fo:leader leader-pattern="rule" leader-length="30%"/>
|
101
|
+
</fo:block>
|
102
|
+
</fo:static-content>
|
103
|
+
<fo:static-content flow-name="cover-page-header">
|
104
|
+
<fo:block-container height="2.5mm" background-color="{$color-header-cover}">
|
105
|
+
<fo:block font-size="1pt"> </fo:block>
|
106
|
+
</fo:block-container>
|
107
|
+
<fo:block-container position="absolute" top="2.5mm" height="{279.4 - 2.5}mm" width="100%" background-color="rgb(80, 203, 205)">
|
108
|
+
<fo:block> </fo:block>
|
109
|
+
</fo:block-container>
|
110
|
+
</fo:static-content>
|
111
|
+
|
112
|
+
<fo:flow flow-name="xsl-region-body">
|
113
|
+
|
114
|
+
<fo:block-container width="136mm" margin-bottom="12pt">
|
115
|
+
<fo:block font-size="36pt" font-weight="bold" color="rgb(54, 59, 74)">
|
116
|
+
<xsl:value-of select="$doctitle"/>
|
117
|
+
</fo:block>
|
118
|
+
</fo:block-container>
|
119
|
+
|
120
|
+
<fo:block font-size="26pt" color="rgb(55, 60, 75)">
|
121
|
+
<xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:title[@language = 'en' and @type = 'subtitle']"/>
|
122
|
+
</fo:block>
|
123
|
+
|
124
|
+
<fo:block-container absolute-position="fixed" left="11mm" top="245mm">
|
125
|
+
<fo:block>
|
126
|
+
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo))}" width="42mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
|
127
|
+
</fo:block>
|
128
|
+
</fo:block-container>
|
129
|
+
|
130
|
+
</fo:flow>
|
131
|
+
</fo:page-sequence>
|
132
|
+
<!-- End Cover Page -->
|
133
|
+
|
134
|
+
|
135
|
+
<!-- Copyright, Content, Foreword, etc. pages -->
|
136
|
+
<fo:page-sequence master-reference="document" initial-page-number="2" format="1" force-page-count="no-force">
|
137
|
+
<fo:static-content flow-name="xsl-footnote-separator">
|
138
|
+
<fo:block>
|
139
|
+
<fo:leader leader-pattern="rule" leader-length="30%"/>
|
140
|
+
</fo:block>
|
141
|
+
</fo:static-content>
|
142
|
+
<xsl:call-template name="insertHeaderFooter"/>
|
143
|
+
<fo:flow flow-name="xsl-region-body">
|
144
|
+
|
145
|
+
<xsl:if test="$debug = 'true'">
|
146
|
+
<xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
147
|
+
DEBUG
|
148
|
+
contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
|
149
|
+
<xsl:text disable-output-escaping="yes">--></xsl:text>
|
150
|
+
</xsl:if>
|
151
|
+
|
152
|
+
<fo:block>
|
153
|
+
<fo:block>The permanent and official location for Cloud Security Alliance DevSecOps is</fo:block>
|
154
|
+
<fo:block color="rgb(33, 94, 159)" text-decoration="underline">https://cloudsecurityalliance.org/group/DevSecOps/</fo:block>
|
155
|
+
</fo:block>
|
156
|
+
|
157
|
+
<fo:block-container absolute-position="fixed" left="25mm" top="152mm" width="165mm" height="100mm" display-align="after" color="rgb(165, 169, 172)" line-height="145%">
|
158
|
+
<fo:block>© <xsl:value-of select="/csa:csa-standard/csa:bibdata/csa:copyright/csa:from"/> Cloud Security Alliance – All Rights Reserved. You may download, store, display on your
|
159
|
+
computer, view, print, and link to the Cloud Security Alliance at <fo:inline text-decoration="underline">https://cloudsecurityalliance.org</fo:inline>
|
160
|
+
subject to the following: (a) the draft may be used solely for your personal, informational, noncommercial
|
161
|
+
use; (b) the draft may not be modified or altered in any way; (c) the draft may not be
|
162
|
+
redistributed; and (d) the trademark, copyright or other notices may not be removed. You may quote
|
163
|
+
portions of the draft as permitted by the Fair Use provisions of the United States Copyright Act,
|
164
|
+
provided that you attribute the portions to the Cloud Security Alliance.</fo:block>
|
165
|
+
</fo:block-container>
|
166
|
+
|
167
|
+
<fo:block break-after="page"/>
|
168
|
+
|
169
|
+
<xsl:variable name="title-acknowledgements">
|
170
|
+
<xsl:call-template name="getTitle">
|
171
|
+
<xsl:with-param name="name" select="'title-acknowledgements'"/>
|
172
|
+
</xsl:call-template>
|
173
|
+
</xsl:variable>
|
174
|
+
<fo:block font-size="26pt" margin-bottom="18pt"><xsl:value-of select="$title-acknowledgements"/></fo:block>
|
175
|
+
|
176
|
+
<fo:block font-size="18pt" font-weight="bold" margin-bottom="12pt" color="rgb(3, 115, 200)">Lead Authors:</fo:block>
|
177
|
+
<fo:block>Ronald Tse</fo:block>
|
178
|
+
<fo:block font-size="18pt" font-weight="bold" margin-top="16pt" margin-bottom="12pt" color="rgb(3, 115, 200)">Contributors:</fo:block>
|
179
|
+
<fo:block>Michael Roza</fo:block>
|
180
|
+
<fo:block>Sean Heide</fo:block>
|
181
|
+
<fo:block>David Lewis</fo:block>
|
182
|
+
<fo:block>Eric Gauthier</fo:block>
|
183
|
+
<fo:block font-size="18pt" font-weight="bold" margin-top="16pt" margin-bottom="12pt" color="rgb(3, 115, 200)">CSA Staff:</fo:block>
|
184
|
+
<fo:block>Sean Heide</fo:block>
|
185
|
+
|
186
|
+
<fo:block break-after="page"/>
|
187
|
+
|
188
|
+
<fo:block-container font-size="12pt" line-height="170%" color="rgb(7, 72, 156)">
|
189
|
+
<xsl:variable name="title-toc">
|
190
|
+
<xsl:call-template name="getTitle">
|
191
|
+
<xsl:with-param name="name" select="'title-toc'"/>
|
192
|
+
</xsl:call-template>
|
193
|
+
</xsl:variable>
|
194
|
+
<fo:block font-size="26pt" color="black" margin-top="2pt" margin-bottom="30pt"><xsl:value-of select="$title-toc"/></fo:block>
|
195
|
+
|
196
|
+
<fo:block margin-left="-3mm">
|
197
|
+
<xsl:for-each select="xalan:nodeset($contents)//item">
|
198
|
+
<fo:block>
|
199
|
+
<fo:list-block>
|
200
|
+
<xsl:attribute name="provisional-distance-between-starts">
|
201
|
+
<xsl:choose>
|
202
|
+
<xsl:when test="@level = 2">10mm</xsl:when>
|
203
|
+
<xsl:otherwise>3mm</xsl:otherwise>
|
204
|
+
</xsl:choose>
|
205
|
+
</xsl:attribute>
|
206
|
+
<fo:list-item>
|
207
|
+
<fo:list-item-label end-indent="label-end()">
|
208
|
+
<fo:block font-size="1pt"> </fo:block>
|
209
|
+
</fo:list-item-label>
|
210
|
+
<fo:list-item-body start-indent="body-start()">
|
211
|
+
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
212
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
|
213
|
+
<fo:inline padding-right="2mm"><xsl:value-of select="@section"/></fo:inline>
|
214
|
+
<xsl:apply-templates/>
|
215
|
+
<fo:inline keep-together.within-line="always">
|
216
|
+
<fo:leader leader-pattern="dots"/>
|
217
|
+
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
218
|
+
</fo:inline>
|
219
|
+
</fo:basic-link>
|
220
|
+
</fo:block>
|
221
|
+
</fo:list-item-body>
|
222
|
+
</fo:list-item>
|
223
|
+
</fo:list-block>
|
224
|
+
</fo:block>
|
225
|
+
</xsl:for-each>
|
226
|
+
</fo:block>
|
227
|
+
</fo:block-container>
|
228
|
+
|
229
|
+
<fo:block break-after="page"/>
|
230
|
+
|
231
|
+
<fo:block line-height="145%">
|
232
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:preface/*"/>
|
233
|
+
|
234
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:sections/csa:clause[@id='_scope']"/>
|
235
|
+
|
236
|
+
<!-- Normative references -->
|
237
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:bibliography/csa:references[@id = '_normative_references' or @id = '_references']"/>
|
238
|
+
|
239
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:sections/csa:terms"/> <!-- Terms and definitions -->
|
240
|
+
|
241
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:sections/*[local-name() != 'terms' and not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/>
|
242
|
+
|
243
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:annex"/>
|
244
|
+
<xsl:apply-templates select="/csa:csa-standard/csa:bibliography/csa:references[@id != '_normative_references' and @id != '_references']"/>
|
245
|
+
|
246
|
+
</fo:block>
|
247
|
+
|
248
|
+
|
249
|
+
</fo:flow>
|
250
|
+
</fo:page-sequence>
|
251
|
+
<!-- End Document Pages -->
|
252
|
+
|
253
|
+
</fo:root>
|
254
|
+
</xsl:template>
|
255
|
+
|
256
|
+
<xsl:template match="node()">
|
257
|
+
<xsl:apply-templates/>
|
258
|
+
</xsl:template>
|
259
|
+
|
260
|
+
<!-- ============================= -->
|
261
|
+
<!-- CONTENTS -->
|
262
|
+
<!-- ============================= -->
|
263
|
+
<xsl:template match="node()" mode="contents">
|
264
|
+
<xsl:apply-templates mode="contents"/>
|
265
|
+
</xsl:template>
|
266
|
+
|
267
|
+
<!-- element with title -->
|
268
|
+
<xsl:template match="*[csa:title]" mode="contents">
|
269
|
+
<xsl:variable name="level">
|
270
|
+
<xsl:call-template name="getLevel">
|
271
|
+
<xsl:with-param name="depth" select="csa:title/@depth"/>
|
272
|
+
</xsl:call-template>
|
273
|
+
</xsl:variable>
|
274
|
+
<xsl:variable name="display">
|
275
|
+
<xsl:choose>
|
276
|
+
<xsl:when test="ancestor-or-self::csa:bibitem">false</xsl:when>
|
277
|
+
<xsl:when test="ancestor-or-self::csa:term">false</xsl:when>
|
278
|
+
<xsl:when test="$level >= 3">false</xsl:when>
|
279
|
+
<xsl:otherwise>true</xsl:otherwise>
|
280
|
+
</xsl:choose>
|
281
|
+
</xsl:variable>
|
282
|
+
|
283
|
+
<xsl:if test="$display = 'true'">
|
284
|
+
|
285
|
+
<xsl:variable name="section">
|
286
|
+
<xsl:call-template name="getSection"/>
|
287
|
+
</xsl:variable>
|
288
|
+
|
289
|
+
<xsl:variable name="title">
|
290
|
+
<xsl:call-template name="getName"/>
|
291
|
+
</xsl:variable>
|
292
|
+
|
293
|
+
<item id="{@id}" level="{$level}" section="{$section}">
|
294
|
+
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
295
|
+
</item>
|
296
|
+
<xsl:apply-templates mode="contents"/>
|
297
|
+
</xsl:if>
|
298
|
+
</xsl:template>
|
299
|
+
|
300
|
+
|
301
|
+
<!-- ============================= -->
|
302
|
+
<!-- ============================= -->
|
303
|
+
|
304
|
+
|
305
|
+
<xsl:template match="csa:license-statement//csa:title">
|
306
|
+
<fo:block text-align="center" font-weight="bold" margin-top="4pt">
|
307
|
+
<xsl:apply-templates/>
|
308
|
+
</fo:block>
|
309
|
+
</xsl:template>
|
310
|
+
|
311
|
+
<xsl:template match="csa:license-statement//csa:p">
|
312
|
+
<fo:block font-size="8pt" margin-top="14pt" line-height="115%">
|
313
|
+
<xsl:if test="following-sibling::csa:p">
|
314
|
+
<xsl:attribute name="margin-bottom">14pt</xsl:attribute>
|
315
|
+
</xsl:if>
|
316
|
+
<xsl:apply-templates/>
|
317
|
+
</fo:block>
|
318
|
+
</xsl:template>
|
319
|
+
|
320
|
+
<xsl:template match="csa:feedback-statement">
|
321
|
+
<fo:block margin-top="12pt" margin-bottom="12pt">
|
322
|
+
<xsl:apply-templates select="csa:clause[1]"/>
|
323
|
+
</fo:block>
|
324
|
+
</xsl:template>
|
325
|
+
|
326
|
+
<xsl:template match="csa:copyright-statement//csa:title">
|
327
|
+
<fo:block font-weight="bold" text-align="center">
|
328
|
+
<xsl:apply-templates/>
|
329
|
+
</fo:block>
|
330
|
+
</xsl:template>
|
331
|
+
<xsl:template match="csa:copyright-statement//csa:p">
|
332
|
+
<fo:block margin-bottom="12pt">
|
333
|
+
<xsl:if test="not(following-sibling::p)">
|
334
|
+
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
335
|
+
</xsl:if>
|
336
|
+
<xsl:attribute name="text-align">
|
337
|
+
<xsl:choose>
|
338
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
339
|
+
<xsl:otherwise>left</xsl:otherwise>
|
340
|
+
</xsl:choose>
|
341
|
+
</xsl:attribute>
|
342
|
+
<xsl:apply-templates/>
|
343
|
+
</fo:block>
|
344
|
+
</xsl:template>
|
345
|
+
|
346
|
+
<xsl:template match="csa:legal-statement">
|
347
|
+
<fo:block-container border="0.5pt solid black" margin-bottom="12pt" margin-left="-2mm" margin-right="-2mm">
|
348
|
+
<fo:block-container margin-left="0mm" margin-right="0mm">
|
349
|
+
<fo:block margin-left="2mm" margin-right="2mm">
|
350
|
+
<xsl:apply-templates/>
|
351
|
+
</fo:block>
|
352
|
+
</fo:block-container>
|
353
|
+
</fo:block-container>
|
354
|
+
</xsl:template>
|
355
|
+
|
356
|
+
<xsl:template match="csa:legal-statement//csa:title">
|
357
|
+
<fo:block text-align="center" font-weight="bold" padding-top="2mm" margin-bottom="6pt">
|
358
|
+
<xsl:apply-templates/>
|
359
|
+
</fo:block>
|
360
|
+
</xsl:template>
|
361
|
+
|
362
|
+
<xsl:template match="csa:legal-statement//csa:p">
|
363
|
+
<fo:block margin-bottom="6pt">
|
364
|
+
<xsl:if test="not(following-sibling::csa:p)">
|
365
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
366
|
+
</xsl:if>
|
367
|
+
<xsl:attribute name="text-align">
|
368
|
+
<xsl:choose>
|
369
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
370
|
+
<xsl:otherwise>left</xsl:otherwise>
|
371
|
+
</xsl:choose>
|
372
|
+
</xsl:attribute>
|
373
|
+
<xsl:apply-templates/>
|
374
|
+
</fo:block>
|
375
|
+
</xsl:template>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
<!-- ====== -->
|
381
|
+
<!-- title -->
|
382
|
+
<!-- ====== -->
|
383
|
+
<xsl:template match="csa:annex/csa:title">
|
384
|
+
<xsl:variable name="level">
|
385
|
+
<xsl:call-template name="getLevel"/>
|
386
|
+
</xsl:variable>
|
387
|
+
<xsl:variable name="color">
|
388
|
+
<xsl:choose>
|
389
|
+
<xsl:when test="$level >= 2">rgb(3, 115, 200)</xsl:when>
|
390
|
+
<xsl:otherwise>black</xsl:otherwise>
|
391
|
+
</xsl:choose>
|
392
|
+
</xsl:variable>
|
393
|
+
<fo:block font-size="12pt" text-align="center" margin-bottom="12pt" keep-with-next="always" color="{$color}">
|
394
|
+
<xsl:apply-templates/>
|
395
|
+
</fo:block>
|
396
|
+
</xsl:template>
|
397
|
+
|
398
|
+
<xsl:template match="csa:title">
|
399
|
+
|
400
|
+
<xsl:variable name="level">
|
401
|
+
<xsl:call-template name="getLevel"/>
|
402
|
+
</xsl:variable>
|
403
|
+
|
404
|
+
<xsl:variable name="font-size">
|
405
|
+
<xsl:choose>
|
406
|
+
<xsl:when test="ancestor::csa:preface and $level >= 2">12pt</xsl:when>
|
407
|
+
<xsl:when test="ancestor::csa:preface">13pt</xsl:when>
|
408
|
+
<xsl:when test="$level = 1">26pt</xsl:when>
|
409
|
+
<xsl:when test="$level = 2 and ancestor::csa:terms">11pt</xsl:when>
|
410
|
+
<xsl:when test="$level = 2">14pt</xsl:when>
|
411
|
+
<xsl:when test="$level >= 3">11pt</xsl:when>
|
412
|
+
<xsl:otherwise>16pt</xsl:otherwise>
|
413
|
+
</xsl:choose>
|
414
|
+
</xsl:variable>
|
415
|
+
|
416
|
+
<xsl:variable name="font-weight">
|
417
|
+
<xsl:choose>
|
418
|
+
<xsl:when test="$level = 1">normal</xsl:when>
|
419
|
+
<xsl:otherwise>bold</xsl:otherwise>
|
420
|
+
</xsl:choose>
|
421
|
+
</xsl:variable>
|
422
|
+
|
423
|
+
<xsl:variable name="element-name">
|
424
|
+
<xsl:choose>
|
425
|
+
<xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
|
426
|
+
<xsl:otherwise>fo:block</xsl:otherwise>
|
427
|
+
</xsl:choose>
|
428
|
+
</xsl:variable>
|
429
|
+
|
430
|
+
<xsl:variable name="color">
|
431
|
+
<xsl:choose>
|
432
|
+
<xsl:when test="$level >= 2">rgb(3, 115, 200)</xsl:when>
|
433
|
+
<xsl:otherwise>black</xsl:otherwise>
|
434
|
+
</xsl:choose>
|
435
|
+
</xsl:variable>
|
436
|
+
|
437
|
+
<xsl:element name="{$element-name}">
|
438
|
+
<xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
|
439
|
+
<xsl:attribute name="font-weight"><xsl:value-of select="$font-weight"/></xsl:attribute>
|
440
|
+
<xsl:attribute name="space-before">13.5pt</xsl:attribute>
|
441
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
442
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
443
|
+
<xsl:attribute name="color"><xsl:value-of select="$color"/></xsl:attribute>
|
444
|
+
<xsl:attribute name="line-height">120%</xsl:attribute>
|
445
|
+
|
446
|
+
<xsl:if test="$level = 2">
|
447
|
+
<fo:inline padding-right="1mm">
|
448
|
+
<fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Title))}" width="15mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}" vertical-align="middle"/>
|
449
|
+
</fo:inline>
|
450
|
+
</xsl:if>
|
451
|
+
|
452
|
+
<xsl:apply-templates/>
|
453
|
+
|
454
|
+
</xsl:element>
|
455
|
+
|
456
|
+
</xsl:template>
|
457
|
+
<!-- ====== -->
|
458
|
+
<!-- ====== -->
|
459
|
+
|
460
|
+
<xsl:template match="csa:p">
|
461
|
+
<xsl:param name="inline" select="'false'"/>
|
462
|
+
<xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
|
463
|
+
<xsl:variable name="element-name">
|
464
|
+
<xsl:choose>
|
465
|
+
<xsl:when test="$inline = 'true'">fo:inline</xsl:when>
|
466
|
+
<xsl:when test="../@inline-header = 'true' and $previous-element = 'title'">fo:inline</xsl:when> <!-- first paragraph after inline title -->
|
467
|
+
<xsl:when test="local-name(..) = 'admonition'">fo:inline</xsl:when>
|
468
|
+
<xsl:otherwise>fo:block</xsl:otherwise>
|
469
|
+
</xsl:choose>
|
470
|
+
</xsl:variable>
|
471
|
+
<xsl:element name="{$element-name}">
|
472
|
+
<xsl:attribute name="id">
|
473
|
+
<xsl:value-of select="@id"/>
|
474
|
+
</xsl:attribute>
|
475
|
+
<xsl:attribute name="text-align">
|
476
|
+
<xsl:choose>
|
477
|
+
<!-- <xsl:when test="ancestor::csa:preface">justify</xsl:when> -->
|
478
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
479
|
+
<xsl:otherwise>left</xsl:otherwise><!-- justify -->
|
480
|
+
</xsl:choose>
|
481
|
+
</xsl:attribute>
|
482
|
+
<xsl:attribute name="space-after">
|
483
|
+
<xsl:choose>
|
484
|
+
<xsl:when test="ancestor::csa:li">0pt</xsl:when>
|
485
|
+
<xsl:otherwise>12pt</xsl:otherwise>
|
486
|
+
</xsl:choose>
|
487
|
+
</xsl:attribute>
|
488
|
+
<xsl:attribute name="line-height">155%</xsl:attribute>
|
489
|
+
<xsl:apply-templates/>
|
490
|
+
</xsl:element>
|
491
|
+
<xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
|
492
|
+
<fo:block margin-bottom="12pt">
|
493
|
+
<xsl:if test="ancestor::csa:annex">
|
494
|
+
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
495
|
+
</xsl:if>
|
496
|
+
<xsl:value-of select="$linebreak"/>
|
497
|
+
</fo:block>
|
498
|
+
</xsl:if>
|
499
|
+
<xsl:if test="$inline = 'true'">
|
500
|
+
<fo:block> </fo:block>
|
501
|
+
</xsl:if>
|
502
|
+
</xsl:template>
|
503
|
+
|
504
|
+
<!--
|
505
|
+
<fn reference="1">
|
506
|
+
<p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
|
507
|
+
</fn>
|
508
|
+
-->
|
509
|
+
<xsl:template match="csa:title/csa:fn | csa:p/csa:fn[not(ancestor::csa:table)]" priority="2">
|
510
|
+
<fo:footnote keep-with-previous.within-line="always">
|
511
|
+
<xsl:variable name="number" select="@reference"/>
|
512
|
+
|
513
|
+
<fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super">
|
514
|
+
<fo:basic-link internal-destination="footnote_{@reference}" fox:alt-text="footnote {@reference}">
|
515
|
+
<xsl:value-of select="$number"/><!-- + count(//csa:bibitem/csa:note) -->
|
516
|
+
</fo:basic-link>
|
517
|
+
</fo:inline>
|
518
|
+
<fo:footnote-body>
|
519
|
+
<fo:block font-family="AzoSans-Light" font-size="10pt" margin-bottom="12pt" font-weight="normal" text-indent="0" start-indent="0" color="rgb(168, 170, 173)" text-align="left">
|
520
|
+
<fo:inline id="footnote_{@reference}" keep-with-next.within-line="always" font-size="60%" vertical-align="super">
|
521
|
+
<xsl:value-of select="$number "/><!-- + count(//csa:bibitem/csa:note) -->
|
522
|
+
</fo:inline>
|
523
|
+
<xsl:for-each select="csa:p">
|
524
|
+
<xsl:apply-templates/>
|
525
|
+
</xsl:for-each>
|
526
|
+
</fo:block>
|
527
|
+
</fo:footnote-body>
|
528
|
+
</fo:footnote>
|
529
|
+
</xsl:template>
|
530
|
+
|
531
|
+
<xsl:template match="csa:fn/csa:p">
|
532
|
+
<fo:block>
|
533
|
+
<xsl:apply-templates/>
|
534
|
+
</fo:block>
|
535
|
+
</xsl:template>
|
536
|
+
|
537
|
+
|
538
|
+
<xsl:template match="csa:bibitem">
|
539
|
+
<fo:block id="{@id}" margin-bottom="12pt" start-indent="12mm" text-indent="-12mm" line-height="145%">
|
540
|
+
<xsl:if test=".//csa:fn">
|
541
|
+
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
542
|
+
</xsl:if>
|
543
|
+
<xsl:choose>
|
544
|
+
<xsl:when test="csa:formattedref">
|
545
|
+
<xsl:apply-templates select="csa:formattedref"/>
|
546
|
+
</xsl:when>
|
547
|
+
<xsl:otherwise>
|
548
|
+
<xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
|
549
|
+
<xsl:apply-templates/>
|
550
|
+
<xsl:if test="position() != last()">, </xsl:if>
|
551
|
+
<xsl:if test="position() = last()">: </xsl:if>
|
552
|
+
</xsl:for-each>
|
553
|
+
<!-- csa:docidentifier -->
|
554
|
+
<xsl:if test="csa:docidentifier">
|
555
|
+
<xsl:value-of select="csa:docidentifier/@type"/><xsl:text> </xsl:text>
|
556
|
+
<xsl:value-of select="csa:docidentifier"/>
|
557
|
+
</xsl:if>
|
558
|
+
<xsl:apply-templates select="csa:note"/>
|
559
|
+
<xsl:if test="csa:docidentifier">, </xsl:if>
|
560
|
+
<fo:inline font-style="italic">
|
561
|
+
<xsl:choose>
|
562
|
+
<xsl:when test="csa:title[@type = 'main' and @language = 'en']">
|
563
|
+
<xsl:value-of select="csa:title[@type = 'main' and @language = 'en']"/><xsl:text>. </xsl:text>
|
564
|
+
</xsl:when>
|
565
|
+
<xsl:otherwise>
|
566
|
+
<xsl:value-of select="csa:title"/><xsl:text>. </xsl:text>
|
567
|
+
</xsl:otherwise>
|
568
|
+
</xsl:choose>
|
569
|
+
</fo:inline>
|
570
|
+
<xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
|
571
|
+
<xsl:apply-templates/>
|
572
|
+
<xsl:if test="position() != last()">, </xsl:if>
|
573
|
+
</xsl:for-each>
|
574
|
+
<xsl:if test="csa:date[@type='published']/csa:on">
|
575
|
+
<xsl:text>(</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>)</xsl:text>
|
576
|
+
</xsl:if>
|
577
|
+
</xsl:otherwise>
|
578
|
+
</xsl:choose>
|
579
|
+
</fo:block>
|
580
|
+
</xsl:template>
|
581
|
+
|
582
|
+
|
583
|
+
<xsl:template match="csa:bibitem/csa:note" priority="2">
|
584
|
+
<fo:footnote>
|
585
|
+
<xsl:variable name="number">
|
586
|
+
<xsl:choose>
|
587
|
+
<xsl:when test="ancestor::csa:references[preceding-sibling::csa:references]">
|
588
|
+
<xsl:number level="any" count="csa:references[preceding-sibling::csa:references]//csa:bibitem/csa:note"/>
|
589
|
+
</xsl:when>
|
590
|
+
<xsl:otherwise>
|
591
|
+
<xsl:number level="any" count="csa:bibitem/csa:note"/>
|
592
|
+
</xsl:otherwise>
|
593
|
+
</xsl:choose>
|
594
|
+
</xsl:variable>
|
595
|
+
<fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super"> <!-- 60% baseline-shift="35%" -->
|
596
|
+
<fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
|
597
|
+
<xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
|
598
|
+
</fo:basic-link>
|
599
|
+
</fo:inline>
|
600
|
+
<fo:footnote-body>
|
601
|
+
<fo:block font-family="AzoSans-Light" font-size="10pt" margin-bottom="12pt" start-indent="0pt" color="rgb(168, 170, 173)">
|
602
|
+
<fo:inline id="{generate-id()}" keep-with-next.within-line="always" font-size="60%" vertical-align="super"><!-- baseline-shift="30%" padding-right="9mm" alignment-baseline="hanging" -->
|
603
|
+
<xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
|
604
|
+
</fo:inline>
|
605
|
+
<xsl:apply-templates/>
|
606
|
+
</fo:block>
|
607
|
+
</fo:footnote-body>
|
608
|
+
</fo:footnote>
|
609
|
+
</xsl:template>
|
610
|
+
|
611
|
+
|
612
|
+
|
613
|
+
<xsl:template match="csa:ul | csa:ol">
|
614
|
+
<xsl:choose>
|
615
|
+
<xsl:when test="not(ancestor::csa:ul) and not(ancestor::csa:ol)">
|
616
|
+
<fo:block-container border-left="0.75mm solid {$color-header-document}" margin-left="1mm" margin-bottom="12pt">
|
617
|
+
<fo:block-container margin-left="8mm">
|
618
|
+
<fo:block margin-left="-8mm" padding-top="6pt">
|
619
|
+
<xsl:call-template name="listProcessing"/>
|
620
|
+
</fo:block>
|
621
|
+
</fo:block-container>
|
622
|
+
</fo:block-container>
|
623
|
+
</xsl:when>
|
624
|
+
<xsl:otherwise>
|
625
|
+
<xsl:call-template name="listProcessing"/>
|
626
|
+
</xsl:otherwise>
|
627
|
+
</xsl:choose>
|
628
|
+
</xsl:template>
|
629
|
+
|
630
|
+
<xsl:template name="listProcessing">
|
631
|
+
<fo:list-block provisional-distance-between-starts="6.5mm" line-height="145%">
|
632
|
+
<xsl:if test="ancestor::csa:ul | ancestor::csa:ol">
|
633
|
+
<!-- <xsl:attribute name="margin-bottom">0pt</xsl:attribute> -->
|
634
|
+
</xsl:if>
|
635
|
+
<xsl:if test="following-sibling::*[1][local-name() = 'ul' or local-name() = 'ol']">
|
636
|
+
<!-- <xsl:attribute name="margin-bottom">0pt</xsl:attribute> -->
|
637
|
+
</xsl:if>
|
638
|
+
<xsl:apply-templates/>
|
639
|
+
</fo:list-block>
|
640
|
+
</xsl:template>
|
641
|
+
|
642
|
+
<xsl:template match="csa:li">
|
643
|
+
<fo:list-item>
|
644
|
+
<fo:list-item-label end-indent="label-end()">
|
645
|
+
<fo:block>
|
646
|
+
<xsl:choose>
|
647
|
+
<xsl:when test="local-name(..) = 'ul' and (../ancestor::csa:ul or ../ancestor::csa:ol)">-</xsl:when> <!-- — dash -->
|
648
|
+
<xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- — dash -->
|
649
|
+
<xsl:otherwise> <!-- for ordered lists -->
|
650
|
+
<xsl:choose>
|
651
|
+
<xsl:when test="../@type = 'arabic'">
|
652
|
+
<xsl:number format="a)"/>
|
653
|
+
</xsl:when>
|
654
|
+
<xsl:when test="../@type = 'alphabet'">
|
655
|
+
<xsl:number format="1)"/>
|
656
|
+
</xsl:when>
|
657
|
+
<xsl:when test="../@type = 'alphabet_upper'">
|
658
|
+
<xsl:number format="A)"/>
|
659
|
+
</xsl:when>
|
660
|
+
|
661
|
+
<xsl:when test="../@type = 'roman'">
|
662
|
+
<xsl:number format="i)"/>
|
663
|
+
</xsl:when>
|
664
|
+
<xsl:otherwise>
|
665
|
+
<xsl:number format="1)"/>
|
666
|
+
</xsl:otherwise>
|
667
|
+
</xsl:choose>
|
668
|
+
</xsl:otherwise>
|
669
|
+
</xsl:choose>
|
670
|
+
</fo:block>
|
671
|
+
</fo:list-item-label>
|
672
|
+
<fo:list-item-body start-indent="body-start()" line-height-shift-adjustment="disregard-shifts">
|
673
|
+
<fo:block>
|
674
|
+
<xsl:apply-templates/>
|
675
|
+
</fo:block>
|
676
|
+
</fo:list-item-body>
|
677
|
+
</fo:list-item>
|
678
|
+
</xsl:template>
|
679
|
+
|
680
|
+
<xsl:template match="csa:ul/csa:note | csa:ol/csa:note" priority="2">
|
681
|
+
<fo:list-item font-size="10pt">
|
682
|
+
<fo:list-item-label><fo:block/></fo:list-item-label>
|
683
|
+
<fo:list-item-body>
|
684
|
+
<fo:block>
|
685
|
+
<xsl:apply-templates select="csa:name" mode="presentation"/>
|
686
|
+
<xsl:apply-templates/>
|
687
|
+
</fo:block>
|
688
|
+
</fo:list-item-body>
|
689
|
+
</fo:list-item>
|
690
|
+
</xsl:template>
|
691
|
+
|
692
|
+
<xsl:template match="csa:preferred">
|
693
|
+
<xsl:variable name="level">
|
694
|
+
<xsl:call-template name="getLevel"/>
|
695
|
+
</xsl:variable>
|
696
|
+
<xsl:variable name="font-size">
|
697
|
+
<xsl:choose>
|
698
|
+
<xsl:when test="$level >= 2">11pt</xsl:when>
|
699
|
+
<xsl:otherwise>12pt</xsl:otherwise>
|
700
|
+
</xsl:choose>
|
701
|
+
</xsl:variable>
|
702
|
+
<fo:block font-size="{$font-size}">
|
703
|
+
<fo:block font-weight="bold" keep-with-next="always">
|
704
|
+
<xsl:apply-templates select="ancestor::csa:term/csa:name" mode="presentation"/>
|
705
|
+
</fo:block>
|
706
|
+
<fo:block font-weight="bold" keep-with-next="always" line-height="1">
|
707
|
+
<xsl:apply-templates/>
|
708
|
+
</fo:block>
|
709
|
+
</fo:block>
|
710
|
+
</xsl:template>
|
711
|
+
|
712
|
+
|
713
|
+
|
714
|
+
<!-- [position() > 1] -->
|
715
|
+
<xsl:template match="csa:references[@id != '_normative_references' and @id != '_references']">
|
716
|
+
<fo:block break-after="page"/>
|
717
|
+
<fo:block id="{@id}" line-height="145%">
|
718
|
+
<xsl:apply-templates/>
|
719
|
+
</fo:block>
|
720
|
+
</xsl:template>
|
721
|
+
|
722
|
+
|
723
|
+
<!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
|
724
|
+
<!-- <xsl:template match="csa:references[@id = '_bibliography']/csa:bibitem"> [position() > 1] -->
|
725
|
+
<xsl:template match="csa:references[@id != '_normative_references' and @id != '_references']/csa:bibitem">
|
726
|
+
<fo:block margin-bottom="12pt" line-height="145%">
|
727
|
+
<fo:inline id="{@id}">
|
728
|
+
<xsl:number format="[1]"/>
|
729
|
+
</fo:inline>
|
730
|
+
|
731
|
+
<xsl:if test="not(csa:formattedref)">
|
732
|
+
<xsl:choose>
|
733
|
+
<xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
|
734
|
+
<xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:abbreviation">
|
735
|
+
<xsl:value-of select="."/>
|
736
|
+
<xsl:if test="position() != last()">/</xsl:if>
|
737
|
+
</xsl:for-each>
|
738
|
+
<xsl:text>: </xsl:text>
|
739
|
+
</xsl:when>
|
740
|
+
<xsl:when test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
|
741
|
+
<xsl:value-of select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name"/>
|
742
|
+
<xsl:text>: </xsl:text>
|
743
|
+
</xsl:when>
|
744
|
+
</xsl:choose>
|
745
|
+
|
746
|
+
</xsl:if>
|
747
|
+
|
748
|
+
<xsl:if test="csa:docidentifier">
|
749
|
+
<xsl:choose>
|
750
|
+
<xsl:when test="csa:docidentifier/@type = 'ISO' and csa:formattedref"/>
|
751
|
+
<xsl:when test="csa:docidentifier/@type = 'OGC' and csa:formattedref"/>
|
752
|
+
<xsl:otherwise><fo:inline>
|
753
|
+
<xsl:if test="csa:docidentifier/@type = 'OGC'">OGC </xsl:if>
|
754
|
+
<xsl:value-of select="csa:docidentifier"/><xsl:apply-templates select="csa:note"/>, </fo:inline></xsl:otherwise>
|
755
|
+
</xsl:choose>
|
756
|
+
</xsl:if>
|
757
|
+
|
758
|
+
<xsl:choose>
|
759
|
+
<xsl:when test="csa:title[@type = 'main' and @language = 'en']">
|
760
|
+
<xsl:apply-templates select="csa:title[@type = 'main' and @language = 'en']"/>
|
761
|
+
</xsl:when>
|
762
|
+
<xsl:otherwise>
|
763
|
+
<xsl:apply-templates select="csa:title"/>
|
764
|
+
</xsl:otherwise>
|
765
|
+
</xsl:choose>
|
766
|
+
<xsl:if test="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
|
767
|
+
<xsl:text>, </xsl:text>
|
768
|
+
<xsl:for-each select="csa:contributor[csa:role/@type='publisher']/csa:organization/csa:name">
|
769
|
+
<xsl:if test="position() != last()">and </xsl:if>
|
770
|
+
<xsl:value-of select="."/>
|
771
|
+
</xsl:for-each>
|
772
|
+
|
773
|
+
</xsl:if>
|
774
|
+
<xsl:if test="csa:place">
|
775
|
+
<xsl:text>, </xsl:text>
|
776
|
+
<xsl:value-of select="csa:place"/>
|
777
|
+
</xsl:if>
|
778
|
+
<xsl:if test="csa:date[@type='published']/csa:on">
|
779
|
+
<xsl:text> (</xsl:text><xsl:value-of select="csa:date[@type='published']/csa:on"/><xsl:text>).</xsl:text>
|
780
|
+
</xsl:if>
|
781
|
+
<xsl:apply-templates select="csa:formattedref"/>
|
782
|
+
|
783
|
+
|
784
|
+
</fo:block>
|
785
|
+
</xsl:template>
|
786
|
+
|
787
|
+
<!-- <xsl:template match="csa:references[@id = '_bibliography']/csa:bibitem" mode="contents"/> [position() > 1] -->
|
788
|
+
<xsl:template match="csa:references[@id != '_normative_references' and @id != '_references']/csa:bibitem" mode="contents"/>
|
789
|
+
|
790
|
+
<!-- <xsl:template match="csa:references[@id = '_bibliography']/csa:bibitem/csa:title"> [position() > 1]-->
|
791
|
+
<xsl:template match="csa:references[@id != '_normative_references' and @id != '_references']/csa:bibitem/csa:title">
|
792
|
+
<fo:inline font-style="italic">
|
793
|
+
<xsl:apply-templates/>
|
794
|
+
</fo:inline>
|
795
|
+
</xsl:template>
|
796
|
+
|
797
|
+
|
798
|
+
|
799
|
+
<xsl:template match="csa:admonition">
|
800
|
+
<fo:block-container border="0.5pt solid rgb(79, 129, 189)" color="rgb(79, 129, 189)" margin-left="16mm" margin-right="16mm" margin-bottom="12pt">
|
801
|
+
<fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
|
802
|
+
<fo:block font-size="11pt" margin-bottom="6pt" font-weight="bold" font-style="italic" text-align="center">
|
803
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/>
|
804
|
+
</fo:block>
|
805
|
+
<fo:block font-style="italic">
|
806
|
+
<xsl:apply-templates/>
|
807
|
+
</fo:block>
|
808
|
+
</fo:block-container>
|
809
|
+
</fo:block-container>
|
810
|
+
</xsl:template>
|
811
|
+
|
812
|
+
|
813
|
+
<xsl:template match="csa:formula/csa:stem">
|
814
|
+
<fo:block margin-top="6pt" margin-bottom="12pt">
|
815
|
+
<fo:table table-layout="fixed" width="100%">
|
816
|
+
<fo:table-column column-width="95%"/>
|
817
|
+
<fo:table-column column-width="5%"/>
|
818
|
+
<fo:table-body>
|
819
|
+
<fo:table-row>
|
820
|
+
<fo:table-cell display-align="center">
|
821
|
+
<fo:block text-align="left" margin-left="5mm">
|
822
|
+
<xsl:apply-templates/>
|
823
|
+
</fo:block>
|
824
|
+
</fo:table-cell>
|
825
|
+
<fo:table-cell display-align="center">
|
826
|
+
<fo:block text-align="right">
|
827
|
+
<xsl:apply-templates select="../csa:name" mode="presentation"/>
|
828
|
+
</fo:block>
|
829
|
+
</fo:table-cell>
|
830
|
+
</fo:table-row>
|
831
|
+
</fo:table-body>
|
832
|
+
</fo:table>
|
833
|
+
</fo:block>
|
834
|
+
</xsl:template>
|
835
|
+
|
836
|
+
|
837
|
+
<xsl:template match="csa:pagebreak">
|
838
|
+
<fo:block break-after="page"/>
|
839
|
+
<fo:block> </fo:block>
|
840
|
+
<fo:block break-after="page"/>
|
841
|
+
</xsl:template>
|
842
|
+
|
843
|
+
<xsl:template name="insertHeaderFooter">
|
844
|
+
<fo:static-content flow-name="header">
|
845
|
+
<fo:block-container height="2.5mm" background-color="{$color-header-document}">
|
846
|
+
<fo:block font-size="1pt"> </fo:block>
|
847
|
+
</fo:block-container>
|
848
|
+
</fo:static-content>
|
849
|
+
<fo:static-content flow-name="footer">
|
850
|
+
<fo:block-container font-family="AzoSans-Light" font-size="10.1pt" height="100%" display-align="after"> <!-- 11.5pt -->
|
851
|
+
<fo:block padding-bottom="13mm" text-align="right" color="rgb(144, 144, 144)">
|
852
|
+
<fo:inline padding-right="7mm"><xsl:value-of select="$copyright"/></fo:inline>
|
853
|
+
<fo:page-number/>
|
854
|
+
</fo:block>
|
855
|
+
</fo:block-container>
|
856
|
+
</fo:static-content>
|
857
|
+
</xsl:template>
|
858
|
+
|
859
|
+
<xsl:variable name="Image-Logo">
|
860
|
+
<xsl:text>iVBORw0KGgoAAAANSUhEUgAAA+AAAAFsCAYAAABMytP3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkU5NEE5NUY3NjVBMTFFQUFGNTc5RUZEMzQzODM4QzgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkU5NEE5NUU3NjVBMTFFQUFGNTc5RUZEMzQzODM4QzgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmQ1MDMzN2Q0LTBkZmItYzI0MS1iZTY2LWI3M2VlMWI2NWE4MyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOmJhMmE0NmVkLTFmMjUtNDExNS1hOTkzLWJkN2Q0YmY4MDBlMSIvPiA8L3Jk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</xsl:text>
|
861
|
+
</xsl:variable>
|
862
|
+
|
863
|
+
<xsl:variable name="Image-Title">
|
864
|
+
<xsl:text>iVBORw0KGgoAAAANSUhEUgAAASEAAAEhCAYAAAAwHRYbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDUyNzBENDc3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDUyNzBENDY3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmZiZjFiODZmLTIzMjMtM2U0OS1hMDMzLTVlOGQxYThlNmI1YiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjFlMzVjZTE3LWU5NzAtNDQ1OS05ZjI0LTM1NzcwZWYzMjNjMiIvPiA8L3Jk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</xsl:text>
|
865
|
+
</xsl:variable>
|
866
|
+
|
867
|
+
<xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
|
868
|
+
|
869
|
+
<title-annex lang="en">Annex </title-annex>
|
870
|
+
<title-annex lang="fr">Annexe </title-annex>
|
871
|
+
|
872
|
+
<title-annex lang="zh">Annex </title-annex>
|
873
|
+
|
874
|
+
|
875
|
+
|
876
|
+
<title-edition lang="en">
|
877
|
+
|
878
|
+
|
879
|
+
<xsl:text>Version</xsl:text>
|
880
|
+
|
881
|
+
</title-edition>
|
882
|
+
|
883
|
+
|
884
|
+
<title-toc lang="en">
|
885
|
+
|
886
|
+
|
887
|
+
<xsl:text>Table of Contents</xsl:text>
|
888
|
+
|
889
|
+
|
890
|
+
</title-toc>
|
891
|
+
<title-toc lang="fr">Sommaire</title-toc>
|
892
|
+
|
893
|
+
<title-toc lang="zh">Contents</title-toc>
|
894
|
+
|
895
|
+
|
896
|
+
|
897
|
+
<title-page lang="en">Page</title-page>
|
898
|
+
<title-page lang="fr">Page</title-page>
|
899
|
+
|
900
|
+
<title-key lang="en">Key</title-key>
|
901
|
+
<title-key lang="fr">Légende</title-key>
|
902
|
+
|
903
|
+
<title-where lang="en">where</title-where>
|
904
|
+
<title-where lang="fr">où</title-where>
|
905
|
+
|
906
|
+
<title-descriptors lang="en">Descriptors</title-descriptors>
|
907
|
+
|
908
|
+
<title-part lang="en">
|
909
|
+
|
910
|
+
|
911
|
+
</title-part>
|
912
|
+
<title-part lang="fr">
|
913
|
+
|
914
|
+
|
915
|
+
</title-part>
|
916
|
+
<title-part lang="zh">第 # 部分:</title-part>
|
917
|
+
|
918
|
+
<title-modified lang="en">modified</title-modified>
|
919
|
+
<title-modified lang="fr">modifiée</title-modified>
|
920
|
+
|
921
|
+
<title-modified lang="zh">modified</title-modified>
|
922
|
+
|
923
|
+
|
924
|
+
|
925
|
+
<title-source lang="en">SOURCE</title-source>
|
926
|
+
|
927
|
+
<title-keywords lang="en">Keywords</title-keywords>
|
928
|
+
|
929
|
+
<title-deprecated lang="en">DEPRECATED</title-deprecated>
|
930
|
+
<title-deprecated lang="fr">DEPRECATED</title-deprecated>
|
931
|
+
|
932
|
+
<title-list-tables lang="en">List of Tables</title-list-tables>
|
933
|
+
|
934
|
+
<title-list-figures lang="en">List of Figures</title-list-figures>
|
935
|
+
|
936
|
+
<title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
|
937
|
+
|
938
|
+
<title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
|
939
|
+
|
940
|
+
<title-abstract lang="en">Abstract</title-abstract>
|
941
|
+
|
942
|
+
<title-summary lang="en">Summary</title-summary>
|
943
|
+
|
944
|
+
<title-in lang="en">in </title-in>
|
945
|
+
|
946
|
+
<title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
|
947
|
+
<title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
|
948
|
+
|
949
|
+
<title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
|
950
|
+
<title-completion-date lang="zh">本稿完成日期</title-completion-date>
|
951
|
+
|
952
|
+
<title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
|
953
|
+
<title-issuance-date lang="zh"># 发布</title-issuance-date>
|
954
|
+
|
955
|
+
<title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
|
956
|
+
<title-implementation-date lang="zh"># 实施</title-implementation-date>
|
957
|
+
|
958
|
+
<title-obligation-normative lang="en">normative</title-obligation-normative>
|
959
|
+
<title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
|
960
|
+
|
961
|
+
<title-caution lang="en">CAUTION</title-caution>
|
962
|
+
<title-caution lang="zh">注意</title-caution>
|
963
|
+
|
964
|
+
<title-warning lang="en">WARNING</title-warning>
|
965
|
+
<title-warning lang="zh">警告</title-warning>
|
966
|
+
|
967
|
+
<title-amendment lang="en">AMENDMENT</title-amendment>
|
968
|
+
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
|
969
|
+
<xsl:param name="name"/>
|
970
|
+
<xsl:variable name="lang">
|
971
|
+
<xsl:call-template name="getLang"/>
|
972
|
+
</xsl:variable>
|
973
|
+
<xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $lang]"/>
|
974
|
+
<xsl:choose>
|
975
|
+
<xsl:when test="normalize-space($title_) != ''">
|
976
|
+
<xsl:value-of select="$title_"/>
|
977
|
+
</xsl:when>
|
978
|
+
<xsl:otherwise>
|
979
|
+
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
980
|
+
</xsl:otherwise>
|
981
|
+
</xsl:choose>
|
982
|
+
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'
'"/><xsl:attribute-set name="link-style">
|
983
|
+
|
984
|
+
|
985
|
+
<xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
|
986
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
987
|
+
|
988
|
+
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
989
|
+
<xsl:attribute name="white-space">pre</xsl:attribute>
|
990
|
+
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
991
|
+
|
992
|
+
|
993
|
+
<xsl:attribute name="font-family">SourceCodePro</xsl:attribute>
|
994
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
995
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
996
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
997
|
+
<xsl:attribute name="line-height">113%</xsl:attribute>
|
998
|
+
|
999
|
+
|
1000
|
+
|
1001
|
+
|
1002
|
+
|
1003
|
+
|
1004
|
+
|
1005
|
+
</xsl:attribute-set><xsl:attribute-set name="permission-style">
|
1006
|
+
|
1007
|
+
</xsl:attribute-set><xsl:attribute-set name="permission-name-style">
|
1008
|
+
|
1009
|
+
</xsl:attribute-set><xsl:attribute-set name="permission-label-style">
|
1010
|
+
|
1011
|
+
</xsl:attribute-set><xsl:attribute-set name="requirement-style">
|
1012
|
+
|
1013
|
+
</xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
|
1014
|
+
|
1015
|
+
</xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
|
1016
|
+
|
1017
|
+
</xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
|
1018
|
+
</xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
|
1019
|
+
</xsl:attribute-set><xsl:attribute-set name="recommendation-style">
|
1020
|
+
|
1021
|
+
|
1022
|
+
</xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
|
1023
|
+
|
1024
|
+
|
1025
|
+
</xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
|
1026
|
+
|
1027
|
+
</xsl:attribute-set><xsl:attribute-set name="termexample-style">
|
1028
|
+
|
1029
|
+
|
1030
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1031
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1032
|
+
|
1033
|
+
|
1034
|
+
|
1035
|
+
|
1036
|
+
|
1037
|
+
|
1038
|
+
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
1039
|
+
|
1040
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1041
|
+
|
1042
|
+
|
1043
|
+
|
1044
|
+
|
1045
|
+
|
1046
|
+
|
1047
|
+
|
1048
|
+
|
1049
|
+
|
1050
|
+
|
1051
|
+
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
1052
|
+
|
1053
|
+
<xsl:attribute name="margin-left">12.5mm</xsl:attribute>
|
1054
|
+
<xsl:attribute name="margin-right">12.5mm</xsl:attribute>
|
1055
|
+
|
1056
|
+
|
1057
|
+
</xsl:attribute-set><xsl:attribute-set name="example-name-style">
|
1058
|
+
|
1059
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
1060
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1061
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1062
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1063
|
+
|
1064
|
+
|
1065
|
+
|
1066
|
+
|
1067
|
+
|
1068
|
+
|
1069
|
+
|
1070
|
+
|
1071
|
+
|
1072
|
+
|
1073
|
+
|
1074
|
+
|
1075
|
+
|
1076
|
+
|
1077
|
+
|
1078
|
+
</xsl:attribute-set><xsl:attribute-set name="example-p-style">
|
1079
|
+
|
1080
|
+
<xsl:attribute name="margin-bottom">14pt</xsl:attribute>
|
1081
|
+
|
1082
|
+
|
1083
|
+
|
1084
|
+
|
1085
|
+
|
1086
|
+
|
1087
|
+
|
1088
|
+
|
1089
|
+
|
1090
|
+
|
1091
|
+
|
1092
|
+
</xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
|
1093
|
+
|
1094
|
+
<xsl:attribute name="padding-right">10mm</xsl:attribute>
|
1095
|
+
|
1096
|
+
|
1097
|
+
|
1098
|
+
|
1099
|
+
</xsl:attribute-set><xsl:attribute-set name="table-name-style">
|
1100
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
1101
|
+
|
1102
|
+
|
1103
|
+
|
1104
|
+
|
1105
|
+
|
1106
|
+
|
1107
|
+
|
1108
|
+
|
1109
|
+
|
1110
|
+
|
1111
|
+
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
1112
|
+
|
1113
|
+
|
1114
|
+
|
1115
|
+
</xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
|
1116
|
+
|
1117
|
+
|
1118
|
+
|
1119
|
+
</xsl:attribute-set><xsl:attribute-set name="xref-style">
|
1120
|
+
|
1121
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1122
|
+
|
1123
|
+
|
1124
|
+
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
1125
|
+
|
1126
|
+
<xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
|
1127
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1128
|
+
|
1129
|
+
|
1130
|
+
|
1131
|
+
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
1132
|
+
|
1133
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1134
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
1135
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1136
|
+
<xsl:attribute name="line-height">115%</xsl:attribute>
|
1137
|
+
|
1138
|
+
|
1139
|
+
|
1140
|
+
|
1141
|
+
|
1142
|
+
|
1143
|
+
|
1144
|
+
|
1145
|
+
|
1146
|
+
|
1147
|
+
|
1148
|
+
|
1149
|
+
|
1150
|
+
|
1151
|
+
|
1152
|
+
</xsl:attribute-set><xsl:attribute-set name="note-name-style">
|
1153
|
+
|
1154
|
+
<xsl:attribute name="padding-right">4mm</xsl:attribute>
|
1155
|
+
|
1156
|
+
|
1157
|
+
|
1158
|
+
|
1159
|
+
|
1160
|
+
|
1161
|
+
|
1162
|
+
|
1163
|
+
|
1164
|
+
|
1165
|
+
</xsl:attribute-set><xsl:attribute-set name="note-p-style">
|
1166
|
+
|
1167
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
1168
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1169
|
+
|
1170
|
+
|
1171
|
+
|
1172
|
+
|
1173
|
+
|
1174
|
+
|
1175
|
+
|
1176
|
+
|
1177
|
+
|
1178
|
+
|
1179
|
+
|
1180
|
+
|
1181
|
+
|
1182
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-style">
|
1183
|
+
|
1184
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1185
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1186
|
+
|
1187
|
+
|
1188
|
+
|
1189
|
+
|
1190
|
+
|
1191
|
+
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
1192
|
+
|
1193
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
1194
|
+
<xsl:attribute name="margin-left">13mm</xsl:attribute>
|
1195
|
+
<xsl:attribute name="margin-right">12mm</xsl:attribute>
|
1196
|
+
|
1197
|
+
|
1198
|
+
|
1199
|
+
|
1200
|
+
|
1201
|
+
|
1202
|
+
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
1203
|
+
|
1204
|
+
<xsl:attribute name="text-align">right</xsl:attribute>
|
1205
|
+
<xsl:attribute name="margin-right">25mm</xsl:attribute>
|
1206
|
+
|
1207
|
+
|
1208
|
+
|
1209
|
+
</xsl:attribute-set><xsl:attribute-set name="termsource-style">
|
1210
|
+
|
1211
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1212
|
+
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
1213
|
+
|
1214
|
+
|
1215
|
+
|
1216
|
+
|
1217
|
+
|
1218
|
+
</xsl:attribute-set><xsl:attribute-set name="origin-style">
|
1219
|
+
|
1220
|
+
<xsl:attribute name="color">rgb(33, 94, 159)</xsl:attribute>
|
1221
|
+
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
1222
|
+
|
1223
|
+
|
1224
|
+
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
1225
|
+
|
1226
|
+
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
1227
|
+
|
1228
|
+
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1229
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1230
|
+
<xsl:attribute name="text-align">center</xsl:attribute>
|
1231
|
+
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
1232
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
1233
|
+
<xsl:attribute name="keep-with-previous">always</xsl:attribute>
|
1234
|
+
|
1235
|
+
|
1236
|
+
|
1237
|
+
|
1238
|
+
|
1239
|
+
|
1240
|
+
|
1241
|
+
|
1242
|
+
|
1243
|
+
|
1244
|
+
|
1245
|
+
|
1246
|
+
|
1247
|
+
|
1248
|
+
|
1249
|
+
|
1250
|
+
</xsl:attribute-set><xsl:attribute-set name="formula-style">
|
1251
|
+
|
1252
|
+
</xsl:attribute-set><xsl:attribute-set name="image-style">
|
1253
|
+
<xsl:attribute name="text-align">center</xsl:attribute>
|
1254
|
+
|
1255
|
+
|
1256
|
+
|
1257
|
+
|
1258
|
+
|
1259
|
+
</xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
|
1260
|
+
|
1261
|
+
</xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
|
1262
|
+
|
1263
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
1264
|
+
<xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
|
1265
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
1266
|
+
|
1267
|
+
|
1268
|
+
|
1269
|
+
|
1270
|
+
|
1271
|
+
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
1272
|
+
|
1273
|
+
<xsl:attribute name="font-family">SourceCodePro</xsl:attribute>
|
1274
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1275
|
+
|
1276
|
+
|
1277
|
+
</xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
|
1278
|
+
<xsl:attribute name="font-size">11pt</xsl:attribute>
|
1279
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1280
|
+
<xsl:attribute name="text-align">center</xsl:attribute>
|
1281
|
+
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
1282
|
+
</xsl:attribute-set><xsl:attribute-set name="domain-style">
|
1283
|
+
|
1284
|
+
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
1285
|
+
|
1286
|
+
|
1287
|
+
</xsl:attribute-set><xsl:attribute-set name="deprecates-style">
|
1288
|
+
|
1289
|
+
</xsl:attribute-set><xsl:attribute-set name="definition-style">
|
1290
|
+
|
1291
|
+
<xsl:attribute name="space-after">6pt</xsl:attribute>
|
1292
|
+
|
1293
|
+
|
1294
|
+
</xsl:attribute-set><xsl:template match="text()">
|
1295
|
+
<xsl:value-of select="."/>
|
1296
|
+
</xsl:template><xsl:template match="*[local-name()='br']">
|
1297
|
+
<xsl:value-of select="$linebreak"/>
|
1298
|
+
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
1299
|
+
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
1300
|
+
<xsl:call-template name="add-zero-spaces-java"/>
|
1301
|
+
</xsl:template><xsl:template match="*[local-name()='table']">
|
1302
|
+
|
1303
|
+
<xsl:variable name="simple-table">
|
1304
|
+
<xsl:call-template name="getSimpleTable"/>
|
1305
|
+
</xsl:variable>
|
1306
|
+
|
1307
|
+
|
1308
|
+
|
1309
|
+
|
1310
|
+
|
1311
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
1312
|
+
|
1313
|
+
|
1314
|
+
|
1315
|
+
|
1316
|
+
|
1317
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
1318
|
+
|
1319
|
+
<!-- <xsl:variable name="cols-count">
|
1320
|
+
<xsl:choose>
|
1321
|
+
<xsl:when test="*[local-name()='thead']">
|
1322
|
+
<xsl:call-template name="calculate-columns-numbers">
|
1323
|
+
<xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
1324
|
+
</xsl:call-template>
|
1325
|
+
</xsl:when>
|
1326
|
+
<xsl:otherwise>
|
1327
|
+
<xsl:call-template name="calculate-columns-numbers">
|
1328
|
+
<xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
|
1329
|
+
</xsl:call-template>
|
1330
|
+
</xsl:otherwise>
|
1331
|
+
</xsl:choose>
|
1332
|
+
</xsl:variable> -->
|
1333
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
1334
|
+
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
1335
|
+
|
1336
|
+
|
1337
|
+
|
1338
|
+
<xsl:variable name="colwidths">
|
1339
|
+
<xsl:call-template name="calculate-column-widths">
|
1340
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1341
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
1342
|
+
</xsl:call-template>
|
1343
|
+
</xsl:variable>
|
1344
|
+
|
1345
|
+
<!-- <xsl:variable name="colwidths2">
|
1346
|
+
<xsl:call-template name="calculate-column-widths">
|
1347
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1348
|
+
</xsl:call-template>
|
1349
|
+
</xsl:variable> -->
|
1350
|
+
|
1351
|
+
<!-- cols-count=<xsl:copy-of select="$cols-count"/>
|
1352
|
+
colwidthsNew=<xsl:copy-of select="$colwidths"/>
|
1353
|
+
colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
|
1354
|
+
|
1355
|
+
<xsl:variable name="margin-left">
|
1356
|
+
<xsl:choose>
|
1357
|
+
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
1358
|
+
<xsl:otherwise>0</xsl:otherwise>
|
1359
|
+
</xsl:choose>
|
1360
|
+
</xsl:variable>
|
1361
|
+
|
1362
|
+
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
1363
|
+
|
1364
|
+
|
1365
|
+
|
1366
|
+
|
1367
|
+
|
1368
|
+
|
1369
|
+
|
1370
|
+
|
1371
|
+
<fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
|
1372
|
+
|
1373
|
+
|
1374
|
+
|
1375
|
+
|
1376
|
+
|
1377
|
+
|
1378
|
+
|
1379
|
+
|
1380
|
+
|
1381
|
+
|
1382
|
+
|
1383
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1384
|
+
<xsl:choose>
|
1385
|
+
<xsl:when test=". = 1 or . = 0">
|
1386
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1387
|
+
</xsl:when>
|
1388
|
+
<xsl:otherwise>
|
1389
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1390
|
+
</xsl:otherwise>
|
1391
|
+
</xsl:choose>
|
1392
|
+
</xsl:for-each>
|
1393
|
+
|
1394
|
+
<xsl:choose>
|
1395
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
1396
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
1397
|
+
</xsl:when>
|
1398
|
+
<xsl:otherwise>
|
1399
|
+
<xsl:apply-templates/>
|
1400
|
+
</xsl:otherwise>
|
1401
|
+
</xsl:choose>
|
1402
|
+
|
1403
|
+
</fo:table>
|
1404
|
+
|
1405
|
+
|
1406
|
+
|
1407
|
+
|
1408
|
+
|
1409
|
+
</fo:block-container>
|
1410
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
1411
|
+
<xsl:if test="normalize-space() != ''">
|
1412
|
+
<fo:block xsl:use-attribute-sets="table-name-style">
|
1413
|
+
<xsl:apply-templates/>
|
1414
|
+
</fo:block>
|
1415
|
+
</xsl:if>
|
1416
|
+
</xsl:template><xsl:template name="calculate-columns-numbers">
|
1417
|
+
<xsl:param name="table-row"/>
|
1418
|
+
<xsl:variable name="columns-count" select="count($table-row/*)"/>
|
1419
|
+
<xsl:variable name="sum-colspans" select="sum($table-row/*/@colspan)"/>
|
1420
|
+
<xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
|
1421
|
+
<xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
|
1422
|
+
</xsl:template><xsl:template name="calculate-column-widths">
|
1423
|
+
<xsl:param name="table"/>
|
1424
|
+
<xsl:param name="cols-count"/>
|
1425
|
+
<xsl:param name="curr-col" select="1"/>
|
1426
|
+
<xsl:param name="width" select="0"/>
|
1427
|
+
|
1428
|
+
<xsl:if test="$curr-col <= $cols-count">
|
1429
|
+
<xsl:variable name="widths">
|
1430
|
+
<xsl:choose>
|
1431
|
+
<xsl:when test="not($table)"><!-- this branch is not using in production, for debug only -->
|
1432
|
+
<xsl:for-each select="*[local-name()='thead']//*[local-name()='tr']">
|
1433
|
+
<xsl:variable name="words">
|
1434
|
+
<xsl:call-template name="tokenize">
|
1435
|
+
<xsl:with-param name="text" select="translate(*[local-name()='th'][$curr-col],'- —:', ' ')"/>
|
1436
|
+
</xsl:call-template>
|
1437
|
+
</xsl:variable>
|
1438
|
+
<xsl:variable name="max_length">
|
1439
|
+
<xsl:call-template name="max_length">
|
1440
|
+
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
1441
|
+
</xsl:call-template>
|
1442
|
+
</xsl:variable>
|
1443
|
+
<width>
|
1444
|
+
<xsl:value-of select="$max_length"/>
|
1445
|
+
</width>
|
1446
|
+
</xsl:for-each>
|
1447
|
+
<xsl:for-each select="*[local-name()='tbody']//*[local-name()='tr']">
|
1448
|
+
<xsl:variable name="words">
|
1449
|
+
<xsl:call-template name="tokenize">
|
1450
|
+
<xsl:with-param name="text" select="translate(*[local-name()='td'][$curr-col],'- —:', ' ')"/>
|
1451
|
+
</xsl:call-template>
|
1452
|
+
</xsl:variable>
|
1453
|
+
<xsl:variable name="max_length">
|
1454
|
+
<xsl:call-template name="max_length">
|
1455
|
+
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
1456
|
+
</xsl:call-template>
|
1457
|
+
</xsl:variable>
|
1458
|
+
<width>
|
1459
|
+
<xsl:value-of select="$max_length"/>
|
1460
|
+
</width>
|
1461
|
+
|
1462
|
+
</xsl:for-each>
|
1463
|
+
</xsl:when>
|
1464
|
+
<xsl:otherwise>
|
1465
|
+
<xsl:for-each select="xalan:nodeset($table)//tr">
|
1466
|
+
<xsl:variable name="td_text">
|
1467
|
+
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
1468
|
+
</xsl:variable>
|
1469
|
+
<xsl:variable name="words">
|
1470
|
+
<xsl:variable name="string_with_added_zerospaces">
|
1471
|
+
<xsl:call-template name="add-zero-spaces-java">
|
1472
|
+
<xsl:with-param name="text" select="$td_text"/>
|
1473
|
+
</xsl:call-template>
|
1474
|
+
</xsl:variable>
|
1475
|
+
<xsl:call-template name="tokenize">
|
1476
|
+
<!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
|
1477
|
+
<!-- 2009 thinspace -->
|
1478
|
+
<!-- <xsl:with-param name="text" select="translate(normalize-space($td_text),'- —:', ' ')"/> -->
|
1479
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/>
|
1480
|
+
</xsl:call-template>
|
1481
|
+
</xsl:variable>
|
1482
|
+
<xsl:variable name="max_length">
|
1483
|
+
<xsl:call-template name="max_length">
|
1484
|
+
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
1485
|
+
</xsl:call-template>
|
1486
|
+
</xsl:variable>
|
1487
|
+
<width>
|
1488
|
+
<xsl:variable name="divider">
|
1489
|
+
<xsl:choose>
|
1490
|
+
<xsl:when test="td[$curr-col]/@divide">
|
1491
|
+
<xsl:value-of select="td[$curr-col]/@divide"/>
|
1492
|
+
</xsl:when>
|
1493
|
+
<xsl:otherwise>1</xsl:otherwise>
|
1494
|
+
</xsl:choose>
|
1495
|
+
</xsl:variable>
|
1496
|
+
<xsl:value-of select="$max_length div $divider"/>
|
1497
|
+
</width>
|
1498
|
+
|
1499
|
+
</xsl:for-each>
|
1500
|
+
|
1501
|
+
</xsl:otherwise>
|
1502
|
+
</xsl:choose>
|
1503
|
+
</xsl:variable>
|
1504
|
+
|
1505
|
+
|
1506
|
+
<column>
|
1507
|
+
<xsl:for-each select="xalan:nodeset($widths)//width">
|
1508
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
1509
|
+
<xsl:if test="position()=1">
|
1510
|
+
<xsl:value-of select="."/>
|
1511
|
+
</xsl:if>
|
1512
|
+
</xsl:for-each>
|
1513
|
+
</column>
|
1514
|
+
<xsl:call-template name="calculate-column-widths">
|
1515
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1516
|
+
<xsl:with-param name="curr-col" select="$curr-col +1"/>
|
1517
|
+
<xsl:with-param name="table" select="$table"/>
|
1518
|
+
</xsl:call-template>
|
1519
|
+
</xsl:if>
|
1520
|
+
</xsl:template><xsl:template match="text()" mode="td_text">
|
1521
|
+
<xsl:variable name="zero-space"></xsl:variable>
|
1522
|
+
<xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
|
1523
|
+
</xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
|
1524
|
+
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
1525
|
+
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
1526
|
+
<xsl:value-of select="@target"/>
|
1527
|
+
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
1528
|
+
<xsl:param name="cols-count"/>
|
1529
|
+
<!-- font-weight="bold" -->
|
1530
|
+
<fo:table-header>
|
1531
|
+
|
1532
|
+
<xsl:apply-templates/>
|
1533
|
+
</fo:table-header>
|
1534
|
+
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
1535
|
+
<fo:table-body>
|
1536
|
+
<xsl:apply-templates/>
|
1537
|
+
</fo:table-body>
|
1538
|
+
</xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
|
1539
|
+
<xsl:apply-templates/>
|
1540
|
+
</xsl:template><xsl:template name="insertTableFooter">
|
1541
|
+
<xsl:param name="cols-count"/>
|
1542
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
1543
|
+
<xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
|
1544
|
+
|
1545
|
+
<fo:table-footer>
|
1546
|
+
|
1547
|
+
<xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
|
1548
|
+
|
1549
|
+
<!-- if there are note(s) or fn(s) then create footer row -->
|
1550
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
1551
|
+
|
1552
|
+
|
1553
|
+
|
1554
|
+
<fo:table-row>
|
1555
|
+
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
1556
|
+
|
1557
|
+
|
1558
|
+
|
1559
|
+
<!-- fn will be processed inside 'note' processing -->
|
1560
|
+
|
1561
|
+
|
1562
|
+
<!-- except gb -->
|
1563
|
+
|
1564
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
1565
|
+
|
1566
|
+
|
1567
|
+
<!-- horizontal row separator -->
|
1568
|
+
|
1569
|
+
|
1570
|
+
<!-- fn processing -->
|
1571
|
+
<xsl:call-template name="fn_display"/>
|
1572
|
+
|
1573
|
+
</fo:table-cell>
|
1574
|
+
</fo:table-row>
|
1575
|
+
|
1576
|
+
</xsl:if>
|
1577
|
+
</fo:table-footer>
|
1578
|
+
|
1579
|
+
</xsl:if>
|
1580
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
1581
|
+
|
1582
|
+
<xsl:variable name="cols-count">
|
1583
|
+
<xsl:choose>
|
1584
|
+
<xsl:when test="../*[local-name()='thead']">
|
1585
|
+
<xsl:call-template name="calculate-columns-numbers">
|
1586
|
+
<xsl:with-param name="table-row" select="../*[local-name()='thead']/*[local-name()='tr'][1]"/>
|
1587
|
+
</xsl:call-template>
|
1588
|
+
</xsl:when>
|
1589
|
+
<xsl:otherwise>
|
1590
|
+
<xsl:call-template name="calculate-columns-numbers">
|
1591
|
+
<xsl:with-param name="table-row" select="./*[local-name()='tr'][1]"/>
|
1592
|
+
</xsl:call-template>
|
1593
|
+
</xsl:otherwise>
|
1594
|
+
</xsl:choose>
|
1595
|
+
</xsl:variable>
|
1596
|
+
|
1597
|
+
<xsl:apply-templates select="../*[local-name()='thead']" mode="process">
|
1598
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1599
|
+
</xsl:apply-templates>
|
1600
|
+
|
1601
|
+
<xsl:call-template name="insertTableFooter">
|
1602
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
1603
|
+
</xsl:call-template>
|
1604
|
+
|
1605
|
+
<fo:table-body>
|
1606
|
+
<xsl:apply-templates/>
|
1607
|
+
<!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
|
1608
|
+
|
1609
|
+
</fo:table-body>
|
1610
|
+
|
1611
|
+
</xsl:template><xsl:template match="*[local-name()='tr']">
|
1612
|
+
<xsl:variable name="parent-name" select="local-name(..)"/>
|
1613
|
+
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
1614
|
+
<fo:table-row min-height="4mm">
|
1615
|
+
<xsl:if test="$parent-name = 'thead'">
|
1616
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
1617
|
+
|
1618
|
+
|
1619
|
+
|
1620
|
+
|
1621
|
+
|
1622
|
+
</xsl:if>
|
1623
|
+
<xsl:if test="$parent-name = 'tfoot'">
|
1624
|
+
|
1625
|
+
|
1626
|
+
</xsl:if>
|
1627
|
+
|
1628
|
+
|
1629
|
+
<xsl:apply-templates/>
|
1630
|
+
</fo:table-row>
|
1631
|
+
</xsl:template><xsl:template match="*[local-name()='th']">
|
1632
|
+
<fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
|
1633
|
+
|
1634
|
+
|
1635
|
+
|
1636
|
+
|
1637
|
+
|
1638
|
+
|
1639
|
+
|
1640
|
+
|
1641
|
+
<xsl:if test="@colspan">
|
1642
|
+
<xsl:attribute name="number-columns-spanned">
|
1643
|
+
<xsl:value-of select="@colspan"/>
|
1644
|
+
</xsl:attribute>
|
1645
|
+
</xsl:if>
|
1646
|
+
<xsl:if test="@rowspan">
|
1647
|
+
<xsl:attribute name="number-rows-spanned">
|
1648
|
+
<xsl:value-of select="@rowspan"/>
|
1649
|
+
</xsl:attribute>
|
1650
|
+
</xsl:if>
|
1651
|
+
<fo:block>
|
1652
|
+
<xsl:apply-templates/>
|
1653
|
+
</fo:block>
|
1654
|
+
</fo:table-cell>
|
1655
|
+
</xsl:template><xsl:template match="*[local-name()='td']">
|
1656
|
+
<fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
|
1657
|
+
|
1658
|
+
|
1659
|
+
|
1660
|
+
|
1661
|
+
|
1662
|
+
|
1663
|
+
|
1664
|
+
|
1665
|
+
|
1666
|
+
<xsl:if test="@colspan">
|
1667
|
+
<xsl:attribute name="number-columns-spanned">
|
1668
|
+
<xsl:value-of select="@colspan"/>
|
1669
|
+
</xsl:attribute>
|
1670
|
+
</xsl:if>
|
1671
|
+
<xsl:if test="@rowspan">
|
1672
|
+
<xsl:attribute name="number-rows-spanned">
|
1673
|
+
<xsl:value-of select="@rowspan"/>
|
1674
|
+
</xsl:attribute>
|
1675
|
+
</xsl:if>
|
1676
|
+
<fo:block>
|
1677
|
+
|
1678
|
+
<xsl:apply-templates/>
|
1679
|
+
</fo:block>
|
1680
|
+
</fo:table-cell>
|
1681
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
|
1682
|
+
|
1683
|
+
|
1684
|
+
<fo:block font-size="10pt" margin-bottom="12pt">
|
1685
|
+
|
1686
|
+
|
1687
|
+
|
1688
|
+
|
1689
|
+
<fo:inline padding-right="2mm">
|
1690
|
+
|
1691
|
+
|
1692
|
+
|
1693
|
+
|
1694
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
1695
|
+
|
1696
|
+
</fo:inline>
|
1697
|
+
<xsl:apply-templates mode="process"/>
|
1698
|
+
</fo:block>
|
1699
|
+
|
1700
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
|
1701
|
+
<xsl:apply-templates/>
|
1702
|
+
</xsl:template><xsl:template name="fn_display">
|
1703
|
+
<xsl:variable name="references">
|
1704
|
+
<xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
|
1705
|
+
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
1706
|
+
|
1707
|
+
|
1708
|
+
<xsl:apply-templates/>
|
1709
|
+
</fn>
|
1710
|
+
</xsl:for-each>
|
1711
|
+
</xsl:variable>
|
1712
|
+
<xsl:for-each select="xalan:nodeset($references)//fn">
|
1713
|
+
<xsl:variable name="reference" select="@reference"/>
|
1714
|
+
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
|
1715
|
+
<fo:block margin-bottom="12pt">
|
1716
|
+
|
1717
|
+
|
1718
|
+
|
1719
|
+
|
1720
|
+
<fo:inline font-size="80%" padding-right="5mm" id="{@id}">
|
1721
|
+
|
1722
|
+
|
1723
|
+
|
1724
|
+
|
1725
|
+
|
1726
|
+
|
1727
|
+
<xsl:value-of select="@reference"/>
|
1728
|
+
|
1729
|
+
</fo:inline>
|
1730
|
+
<fo:inline>
|
1731
|
+
|
1732
|
+
<xsl:apply-templates/>
|
1733
|
+
</fo:inline>
|
1734
|
+
</fo:block>
|
1735
|
+
</xsl:if>
|
1736
|
+
</xsl:for-each>
|
1737
|
+
</xsl:template><xsl:template name="fn_name_display">
|
1738
|
+
<!-- <xsl:variable name="references">
|
1739
|
+
<xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
|
1740
|
+
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
1741
|
+
<xsl:apply-templates />
|
1742
|
+
</fn>
|
1743
|
+
</xsl:for-each>
|
1744
|
+
</xsl:variable>
|
1745
|
+
$references=<xsl:copy-of select="$references"/> -->
|
1746
|
+
<xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
|
1747
|
+
<xsl:variable name="reference" select="@reference"/>
|
1748
|
+
<fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
|
1749
|
+
<fo:block margin-bottom="12pt">
|
1750
|
+
<xsl:apply-templates/>
|
1751
|
+
</fo:block>
|
1752
|
+
</xsl:for-each>
|
1753
|
+
</xsl:template><xsl:template name="fn_display_figure">
|
1754
|
+
<xsl:variable name="key_iso">
|
1755
|
+
<!-- and (not(@class) or @class !='pseudocode') -->
|
1756
|
+
</xsl:variable>
|
1757
|
+
<xsl:variable name="references">
|
1758
|
+
<xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
|
1759
|
+
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
1760
|
+
<xsl:apply-templates/>
|
1761
|
+
</fn>
|
1762
|
+
</xsl:for-each>
|
1763
|
+
</xsl:variable>
|
1764
|
+
|
1765
|
+
<!-- current hierarchy is 'figure' element -->
|
1766
|
+
<xsl:variable name="following_dl_colwidths">
|
1767
|
+
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
1768
|
+
<xsl:variable name="html-table">
|
1769
|
+
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
1770
|
+
<xsl:element name="{$ns}:table">
|
1771
|
+
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
1772
|
+
<tbody>
|
1773
|
+
<xsl:apply-templates mode="dl"/>
|
1774
|
+
</tbody>
|
1775
|
+
</xsl:for-each>
|
1776
|
+
</xsl:element>
|
1777
|
+
</xsl:variable>
|
1778
|
+
|
1779
|
+
<xsl:call-template name="calculate-column-widths">
|
1780
|
+
<xsl:with-param name="cols-count" select="2"/>
|
1781
|
+
<xsl:with-param name="table" select="$html-table"/>
|
1782
|
+
</xsl:call-template>
|
1783
|
+
|
1784
|
+
</xsl:if>
|
1785
|
+
</xsl:variable>
|
1786
|
+
|
1787
|
+
|
1788
|
+
<xsl:variable name="maxlength_dt">
|
1789
|
+
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
1790
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
1791
|
+
</xsl:for-each>
|
1792
|
+
</xsl:variable>
|
1793
|
+
|
1794
|
+
<xsl:if test="xalan:nodeset($references)//fn">
|
1795
|
+
<fo:block>
|
1796
|
+
<fo:table width="95%" table-layout="fixed">
|
1797
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
1798
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1799
|
+
|
1800
|
+
</xsl:if>
|
1801
|
+
<xsl:choose>
|
1802
|
+
<!-- if there 'dl', then set same columns width -->
|
1803
|
+
<xsl:when test="xalan:nodeset($following_dl_colwidths)//column">
|
1804
|
+
<xsl:call-template name="setColumnWidth_dl">
|
1805
|
+
<xsl:with-param name="colwidths" select="$following_dl_colwidths"/>
|
1806
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
1807
|
+
</xsl:call-template>
|
1808
|
+
</xsl:when>
|
1809
|
+
<xsl:otherwise>
|
1810
|
+
<fo:table-column column-width="15%"/>
|
1811
|
+
<fo:table-column column-width="85%"/>
|
1812
|
+
</xsl:otherwise>
|
1813
|
+
</xsl:choose>
|
1814
|
+
<fo:table-body>
|
1815
|
+
<xsl:for-each select="xalan:nodeset($references)//fn">
|
1816
|
+
<xsl:variable name="reference" select="@reference"/>
|
1817
|
+
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
|
1818
|
+
<fo:table-row>
|
1819
|
+
<fo:table-cell>
|
1820
|
+
<fo:block>
|
1821
|
+
<fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
|
1822
|
+
|
1823
|
+
<xsl:value-of select="@reference"/>
|
1824
|
+
</fo:inline>
|
1825
|
+
</fo:block>
|
1826
|
+
</fo:table-cell>
|
1827
|
+
<fo:table-cell>
|
1828
|
+
<fo:block text-align="justify" margin-bottom="12pt">
|
1829
|
+
|
1830
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
1831
|
+
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
1832
|
+
</xsl:if>
|
1833
|
+
|
1834
|
+
<xsl:apply-templates/>
|
1835
|
+
</fo:block>
|
1836
|
+
</fo:table-cell>
|
1837
|
+
</fo:table-row>
|
1838
|
+
</xsl:if>
|
1839
|
+
</xsl:for-each>
|
1840
|
+
</fo:table-body>
|
1841
|
+
</fo:table>
|
1842
|
+
</fo:block>
|
1843
|
+
</xsl:if>
|
1844
|
+
|
1845
|
+
</xsl:template><xsl:template match="*[local-name()='fn']">
|
1846
|
+
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
1847
|
+
<fo:inline font-size="80%" keep-with-previous.within-line="always">
|
1848
|
+
|
1849
|
+
|
1850
|
+
|
1851
|
+
|
1852
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
1853
|
+
|
1854
|
+
<xsl:value-of select="@reference"/>
|
1855
|
+
</fo:basic-link>
|
1856
|
+
</fo:inline>
|
1857
|
+
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
1858
|
+
<fo:inline>
|
1859
|
+
<xsl:apply-templates/>
|
1860
|
+
</fo:inline>
|
1861
|
+
</xsl:template><xsl:template match="*[local-name()='dl']">
|
1862
|
+
<xsl:variable name="parent" select="local-name(..)"/>
|
1863
|
+
|
1864
|
+
<xsl:variable name="key_iso">
|
1865
|
+
<!-- and (not(../@class) or ../@class !='pseudocode') -->
|
1866
|
+
</xsl:variable>
|
1867
|
+
|
1868
|
+
<xsl:choose>
|
1869
|
+
<xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
|
1870
|
+
|
1871
|
+
|
1872
|
+
</xsl:when>
|
1873
|
+
<xsl:when test="$parent = 'formula'"> <!-- a few components -->
|
1874
|
+
<fo:block margin-bottom="12pt" text-align="left">
|
1875
|
+
|
1876
|
+
|
1877
|
+
|
1878
|
+
|
1879
|
+
<xsl:variable name="title-where">
|
1880
|
+
<xsl:call-template name="getTitle">
|
1881
|
+
<xsl:with-param name="name" select="'title-where'"/>
|
1882
|
+
</xsl:call-template>
|
1883
|
+
</xsl:variable>
|
1884
|
+
<xsl:value-of select="$title-where"/>
|
1885
|
+
</fo:block>
|
1886
|
+
</xsl:when>
|
1887
|
+
<xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
|
1888
|
+
<fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
|
1889
|
+
|
1890
|
+
|
1891
|
+
|
1892
|
+
<xsl:variable name="title-key">
|
1893
|
+
<xsl:call-template name="getTitle">
|
1894
|
+
<xsl:with-param name="name" select="'title-key'"/>
|
1895
|
+
</xsl:call-template>
|
1896
|
+
</xsl:variable>
|
1897
|
+
<xsl:value-of select="$title-key"/>
|
1898
|
+
</fo:block>
|
1899
|
+
</xsl:when>
|
1900
|
+
</xsl:choose>
|
1901
|
+
|
1902
|
+
<!-- a few components -->
|
1903
|
+
<xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
|
1904
|
+
<fo:block>
|
1905
|
+
|
1906
|
+
|
1907
|
+
|
1908
|
+
|
1909
|
+
<fo:block>
|
1910
|
+
|
1911
|
+
|
1912
|
+
|
1913
|
+
|
1914
|
+
<fo:table width="95%" table-layout="fixed">
|
1915
|
+
|
1916
|
+
<xsl:choose>
|
1917
|
+
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
|
1918
|
+
<!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
|
1919
|
+
</xsl:when>
|
1920
|
+
<xsl:when test="normalize-space($key_iso) = 'true'">
|
1921
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
1922
|
+
|
1923
|
+
</xsl:when>
|
1924
|
+
</xsl:choose>
|
1925
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
1926
|
+
<xsl:variable name="html-table">
|
1927
|
+
<xsl:variable name="ns" select="substring-before(name(/*), '-')"/>
|
1928
|
+
<xsl:element name="{$ns}:table">
|
1929
|
+
<tbody>
|
1930
|
+
<xsl:apply-templates mode="dl"/>
|
1931
|
+
</tbody>
|
1932
|
+
</xsl:element>
|
1933
|
+
</xsl:variable>
|
1934
|
+
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
1935
|
+
<xsl:variable name="colwidths">
|
1936
|
+
<xsl:call-template name="calculate-column-widths">
|
1937
|
+
<xsl:with-param name="cols-count" select="2"/>
|
1938
|
+
<xsl:with-param name="table" select="$html-table"/>
|
1939
|
+
</xsl:call-template>
|
1940
|
+
</xsl:variable>
|
1941
|
+
<!-- colwidths=<xsl:value-of select="$colwidths"/> -->
|
1942
|
+
<xsl:variable name="maxlength_dt">
|
1943
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
1944
|
+
</xsl:variable>
|
1945
|
+
<xsl:call-template name="setColumnWidth_dl">
|
1946
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
1947
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
1948
|
+
</xsl:call-template>
|
1949
|
+
<fo:table-body>
|
1950
|
+
<xsl:apply-templates>
|
1951
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
1952
|
+
</xsl:apply-templates>
|
1953
|
+
</fo:table-body>
|
1954
|
+
</fo:table>
|
1955
|
+
</fo:block>
|
1956
|
+
</fo:block>
|
1957
|
+
</xsl:if>
|
1958
|
+
</xsl:template><xsl:template name="setColumnWidth_dl">
|
1959
|
+
<xsl:param name="colwidths"/>
|
1960
|
+
<xsl:param name="maxlength_dt"/>
|
1961
|
+
<xsl:choose>
|
1962
|
+
<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
|
1963
|
+
<fo:table-column column-width="50%"/>
|
1964
|
+
<fo:table-column column-width="50%"/>
|
1965
|
+
</xsl:when>
|
1966
|
+
<xsl:otherwise>
|
1967
|
+
<xsl:choose>
|
1968
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 2"> <!-- if dt contains short text like t90, a, etc -->
|
1969
|
+
<fo:table-column column-width="5%"/>
|
1970
|
+
<fo:table-column column-width="95%"/>
|
1971
|
+
</xsl:when>
|
1972
|
+
<xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) <= 5"> <!-- if dt contains short text like t90, a, etc -->
|
1973
|
+
<fo:table-column column-width="10%"/>
|
1974
|
+
<fo:table-column column-width="90%"/>
|
1975
|
+
</xsl:when>
|
1976
|
+
<!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.7">
|
1977
|
+
<fo:table-column column-width="60%"/>
|
1978
|
+
<fo:table-column column-width="40%"/>
|
1979
|
+
</xsl:when> -->
|
1980
|
+
<xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 1.3">
|
1981
|
+
<fo:table-column column-width="50%"/>
|
1982
|
+
<fo:table-column column-width="50%"/>
|
1983
|
+
</xsl:when>
|
1984
|
+
<xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] > 0.5">
|
1985
|
+
<fo:table-column column-width="40%"/>
|
1986
|
+
<fo:table-column column-width="60%"/>
|
1987
|
+
</xsl:when>
|
1988
|
+
<xsl:otherwise>
|
1989
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
1990
|
+
<xsl:choose>
|
1991
|
+
<xsl:when test=". = 1 or . = 0">
|
1992
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
1993
|
+
</xsl:when>
|
1994
|
+
<xsl:otherwise>
|
1995
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
1996
|
+
</xsl:otherwise>
|
1997
|
+
</xsl:choose>
|
1998
|
+
</xsl:for-each>
|
1999
|
+
</xsl:otherwise>
|
2000
|
+
</xsl:choose>
|
2001
|
+
<!-- <fo:table-column column-width="15%"/>
|
2002
|
+
<fo:table-column column-width="85%"/> -->
|
2003
|
+
</xsl:otherwise>
|
2004
|
+
</xsl:choose>
|
2005
|
+
</xsl:template><xsl:template name="getMaxLength_dt">
|
2006
|
+
<xsl:for-each select="*[local-name()='dt']">
|
2007
|
+
<xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
|
2008
|
+
<xsl:if test="position() = 1">
|
2009
|
+
<xsl:value-of select="string-length(normalize-space(.))"/>
|
2010
|
+
</xsl:if>
|
2011
|
+
</xsl:for-each>
|
2012
|
+
</xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
|
2013
|
+
<xsl:param name="key_iso"/>
|
2014
|
+
|
2015
|
+
<!-- <tr>
|
2016
|
+
<td>NOTE</td>
|
2017
|
+
<td>
|
2018
|
+
<xsl:apply-templates />
|
2019
|
+
</td>
|
2020
|
+
</tr>
|
2021
|
+
-->
|
2022
|
+
<fo:table-row>
|
2023
|
+
<fo:table-cell>
|
2024
|
+
<fo:block margin-top="6pt">
|
2025
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
2026
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
2027
|
+
</xsl:if>
|
2028
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
2029
|
+
</fo:block>
|
2030
|
+
</fo:table-cell>
|
2031
|
+
<fo:table-cell>
|
2032
|
+
<fo:block>
|
2033
|
+
<xsl:apply-templates/>
|
2034
|
+
</fo:block>
|
2035
|
+
</fo:table-cell>
|
2036
|
+
</fo:table-row>
|
2037
|
+
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
|
2038
|
+
<tr>
|
2039
|
+
<td>
|
2040
|
+
<xsl:apply-templates/>
|
2041
|
+
</td>
|
2042
|
+
<td>
|
2043
|
+
|
2044
|
+
|
2045
|
+
</td>
|
2046
|
+
</tr>
|
2047
|
+
|
2048
|
+
</xsl:template><xsl:template match="*[local-name()='dt']">
|
2049
|
+
<xsl:param name="key_iso"/>
|
2050
|
+
|
2051
|
+
<fo:table-row>
|
2052
|
+
<fo:table-cell>
|
2053
|
+
|
2054
|
+
<fo:block margin-top="6pt">
|
2055
|
+
|
2056
|
+
|
2057
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
2058
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
2059
|
+
|
2060
|
+
</xsl:if>
|
2061
|
+
|
2062
|
+
|
2063
|
+
|
2064
|
+
|
2065
|
+
|
2066
|
+
<xsl:apply-templates/>
|
2067
|
+
<!-- <xsl:if test="$namespace = 'gb'">
|
2068
|
+
<xsl:if test="ancestor::*[local-name()='formula']">
|
2069
|
+
<xsl:text>—</xsl:text>
|
2070
|
+
</xsl:if>
|
2071
|
+
</xsl:if> -->
|
2072
|
+
</fo:block>
|
2073
|
+
</fo:table-cell>
|
2074
|
+
<fo:table-cell>
|
2075
|
+
<fo:block>
|
2076
|
+
|
2077
|
+
|
2078
|
+
|
2079
|
+
</fo:block>
|
2080
|
+
</fo:table-cell>
|
2081
|
+
</fo:table-row>
|
2082
|
+
|
2083
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
2084
|
+
<xsl:apply-templates/>
|
2085
|
+
</xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
|
2086
|
+
<xsl:apply-templates/>
|
2087
|
+
</xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
|
2088
|
+
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
2089
|
+
</xsl:template><xsl:template match="*[local-name()='em']">
|
2090
|
+
<fo:inline font-style="italic">
|
2091
|
+
<xsl:apply-templates/>
|
2092
|
+
</fo:inline>
|
2093
|
+
</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
|
2094
|
+
<fo:inline font-weight="bold">
|
2095
|
+
<xsl:apply-templates/>
|
2096
|
+
</fo:inline>
|
2097
|
+
</xsl:template><xsl:template match="*[local-name()='sup']">
|
2098
|
+
<fo:inline font-size="80%" vertical-align="super">
|
2099
|
+
<xsl:apply-templates/>
|
2100
|
+
</fo:inline>
|
2101
|
+
</xsl:template><xsl:template match="*[local-name()='sub']">
|
2102
|
+
<fo:inline font-size="80%" vertical-align="sub">
|
2103
|
+
<xsl:apply-templates/>
|
2104
|
+
</fo:inline>
|
2105
|
+
</xsl:template><xsl:template match="*[local-name()='tt']">
|
2106
|
+
<fo:inline xsl:use-attribute-sets="tt-style">
|
2107
|
+
<xsl:apply-templates/>
|
2108
|
+
</fo:inline>
|
2109
|
+
</xsl:template><xsl:template match="*[local-name()='del']">
|
2110
|
+
<fo:inline font-size="10pt" color="red" text-decoration="line-through">
|
2111
|
+
<xsl:apply-templates/>
|
2112
|
+
</fo:inline>
|
2113
|
+
</xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
2114
|
+
<xsl:variable name="text" select="normalize-space(.)"/>
|
2115
|
+
<fo:inline font-size="75%">
|
2116
|
+
<xsl:if test="string-length($text) > 0">
|
2117
|
+
<xsl:call-template name="recursiveSmallCaps">
|
2118
|
+
<xsl:with-param name="text" select="$text"/>
|
2119
|
+
</xsl:call-template>
|
2120
|
+
</xsl:if>
|
2121
|
+
</fo:inline>
|
2122
|
+
</xsl:template><xsl:template name="recursiveSmallCaps">
|
2123
|
+
<xsl:param name="text"/>
|
2124
|
+
<xsl:variable name="char" select="substring($text,1,1)"/>
|
2125
|
+
<!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
|
2126
|
+
<xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
|
2127
|
+
<xsl:choose>
|
2128
|
+
<xsl:when test="$char=$upperCase">
|
2129
|
+
<fo:inline font-size="{100 div 0.75}%">
|
2130
|
+
<xsl:value-of select="$upperCase"/>
|
2131
|
+
</fo:inline>
|
2132
|
+
</xsl:when>
|
2133
|
+
<xsl:otherwise>
|
2134
|
+
<xsl:value-of select="$upperCase"/>
|
2135
|
+
</xsl:otherwise>
|
2136
|
+
</xsl:choose>
|
2137
|
+
<xsl:if test="string-length($text) > 1">
|
2138
|
+
<xsl:call-template name="recursiveSmallCaps">
|
2139
|
+
<xsl:with-param name="text" select="substring($text,2)"/>
|
2140
|
+
</xsl:call-template>
|
2141
|
+
</xsl:if>
|
2142
|
+
</xsl:template><xsl:template name="tokenize">
|
2143
|
+
<xsl:param name="text"/>
|
2144
|
+
<xsl:param name="separator" select="' '"/>
|
2145
|
+
<xsl:choose>
|
2146
|
+
<xsl:when test="not(contains($text, $separator))">
|
2147
|
+
<word>
|
2148
|
+
<xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
|
2149
|
+
<xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
|
2150
|
+
<xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
|
2151
|
+
<xsl:variable name="len_str">
|
2152
|
+
<xsl:choose>
|
2153
|
+
<xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
|
2154
|
+
<xsl:value-of select="$len_str_tmp * 1.5"/>
|
2155
|
+
</xsl:when>
|
2156
|
+
<xsl:otherwise>
|
2157
|
+
<xsl:value-of select="$len_str_tmp"/>
|
2158
|
+
</xsl:otherwise>
|
2159
|
+
</xsl:choose>
|
2160
|
+
</xsl:variable>
|
2161
|
+
|
2162
|
+
<!-- <xsl:if test="$len_str_no_en_chars div $len_str > 0.8">
|
2163
|
+
<xsl:message>
|
2164
|
+
div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
|
2165
|
+
len_str=<xsl:value-of select="$len_str"/>
|
2166
|
+
len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
|
2167
|
+
</xsl:message>
|
2168
|
+
</xsl:if> -->
|
2169
|
+
<!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
|
2170
|
+
<len_str><xsl:value-of select="$len_str"/></len_str> -->
|
2171
|
+
<xsl:choose>
|
2172
|
+
<xsl:when test="$len_str_no_en_chars div $len_str > 0.8"> <!-- means non-english string -->
|
2173
|
+
<xsl:value-of select="$len_str - $len_str_no_en_chars"/>
|
2174
|
+
</xsl:when>
|
2175
|
+
<xsl:otherwise>
|
2176
|
+
<xsl:value-of select="$len_str"/>
|
2177
|
+
</xsl:otherwise>
|
2178
|
+
</xsl:choose>
|
2179
|
+
</word>
|
2180
|
+
</xsl:when>
|
2181
|
+
<xsl:otherwise>
|
2182
|
+
<word>
|
2183
|
+
<xsl:value-of select="string-length(normalize-space(substring-before($text, $separator)))"/>
|
2184
|
+
</word>
|
2185
|
+
<xsl:call-template name="tokenize">
|
2186
|
+
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
2187
|
+
</xsl:call-template>
|
2188
|
+
</xsl:otherwise>
|
2189
|
+
</xsl:choose>
|
2190
|
+
</xsl:template><xsl:template name="max_length">
|
2191
|
+
<xsl:param name="words"/>
|
2192
|
+
<xsl:for-each select="$words//word">
|
2193
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
2194
|
+
<xsl:if test="position()=1">
|
2195
|
+
<xsl:value-of select="."/>
|
2196
|
+
</xsl:if>
|
2197
|
+
</xsl:for-each>
|
2198
|
+
</xsl:template><xsl:template name="add-zero-spaces-java">
|
2199
|
+
<xsl:param name="text" select="."/>
|
2200
|
+
<!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
|
2201
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1')"/>
|
2202
|
+
</xsl:template><xsl:template name="add-zero-spaces">
|
2203
|
+
<xsl:param name="text" select="."/>
|
2204
|
+
<xsl:variable name="zero-space-after-chars">-</xsl:variable>
|
2205
|
+
<xsl:variable name="zero-space-after-dot">.</xsl:variable>
|
2206
|
+
<xsl:variable name="zero-space-after-colon">:</xsl:variable>
|
2207
|
+
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
2208
|
+
<xsl:variable name="zero-space-after-underscore">_</xsl:variable>
|
2209
|
+
<xsl:variable name="zero-space"></xsl:variable>
|
2210
|
+
<xsl:choose>
|
2211
|
+
<xsl:when test="contains($text, $zero-space-after-chars)">
|
2212
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-chars)"/>
|
2213
|
+
<xsl:value-of select="$zero-space-after-chars"/>
|
2214
|
+
<xsl:value-of select="$zero-space"/>
|
2215
|
+
<xsl:call-template name="add-zero-spaces">
|
2216
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-chars)"/>
|
2217
|
+
</xsl:call-template>
|
2218
|
+
</xsl:when>
|
2219
|
+
<xsl:when test="contains($text, $zero-space-after-dot)">
|
2220
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-dot)"/>
|
2221
|
+
<xsl:value-of select="$zero-space-after-dot"/>
|
2222
|
+
<xsl:value-of select="$zero-space"/>
|
2223
|
+
<xsl:call-template name="add-zero-spaces">
|
2224
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-dot)"/>
|
2225
|
+
</xsl:call-template>
|
2226
|
+
</xsl:when>
|
2227
|
+
<xsl:when test="contains($text, $zero-space-after-colon)">
|
2228
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-colon)"/>
|
2229
|
+
<xsl:value-of select="$zero-space-after-colon"/>
|
2230
|
+
<xsl:value-of select="$zero-space"/>
|
2231
|
+
<xsl:call-template name="add-zero-spaces">
|
2232
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-colon)"/>
|
2233
|
+
</xsl:call-template>
|
2234
|
+
</xsl:when>
|
2235
|
+
<xsl:when test="contains($text, $zero-space-after-equal)">
|
2236
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
2237
|
+
<xsl:value-of select="$zero-space-after-equal"/>
|
2238
|
+
<xsl:value-of select="$zero-space"/>
|
2239
|
+
<xsl:call-template name="add-zero-spaces">
|
2240
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
2241
|
+
</xsl:call-template>
|
2242
|
+
</xsl:when>
|
2243
|
+
<xsl:when test="contains($text, $zero-space-after-underscore)">
|
2244
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-underscore)"/>
|
2245
|
+
<xsl:value-of select="$zero-space-after-underscore"/>
|
2246
|
+
<xsl:value-of select="$zero-space"/>
|
2247
|
+
<xsl:call-template name="add-zero-spaces">
|
2248
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-underscore)"/>
|
2249
|
+
</xsl:call-template>
|
2250
|
+
</xsl:when>
|
2251
|
+
<xsl:otherwise>
|
2252
|
+
<xsl:value-of select="$text"/>
|
2253
|
+
</xsl:otherwise>
|
2254
|
+
</xsl:choose>
|
2255
|
+
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
2256
|
+
<xsl:param name="text" select="."/>
|
2257
|
+
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
2258
|
+
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
2259
|
+
<xsl:variable name="zero-space"></xsl:variable>
|
2260
|
+
<xsl:choose>
|
2261
|
+
<xsl:when test="contains($text, $zero-space-after-equals)">
|
2262
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
2263
|
+
<xsl:value-of select="$zero-space-after-equals"/>
|
2264
|
+
<xsl:value-of select="$zero-space"/>
|
2265
|
+
<xsl:call-template name="add-zero-spaces-equal">
|
2266
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
|
2267
|
+
</xsl:call-template>
|
2268
|
+
</xsl:when>
|
2269
|
+
<xsl:when test="contains($text, $zero-space-after-equal)">
|
2270
|
+
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
2271
|
+
<xsl:value-of select="$zero-space-after-equal"/>
|
2272
|
+
<xsl:value-of select="$zero-space"/>
|
2273
|
+
<xsl:call-template name="add-zero-spaces-equal">
|
2274
|
+
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
2275
|
+
</xsl:call-template>
|
2276
|
+
</xsl:when>
|
2277
|
+
<xsl:otherwise>
|
2278
|
+
<xsl:value-of select="$text"/>
|
2279
|
+
</xsl:otherwise>
|
2280
|
+
</xsl:choose>
|
2281
|
+
</xsl:template><xsl:template name="getSimpleTable">
|
2282
|
+
<xsl:variable name="simple-table">
|
2283
|
+
|
2284
|
+
<!-- Step 1. colspan processing -->
|
2285
|
+
<xsl:variable name="simple-table-colspan">
|
2286
|
+
<tbody>
|
2287
|
+
<xsl:apply-templates mode="simple-table-colspan"/>
|
2288
|
+
</tbody>
|
2289
|
+
</xsl:variable>
|
2290
|
+
|
2291
|
+
<!-- Step 2. rowspan processing -->
|
2292
|
+
<xsl:variable name="simple-table-rowspan">
|
2293
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
|
2294
|
+
</xsl:variable>
|
2295
|
+
|
2296
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
|
2297
|
+
|
2298
|
+
<!-- <xsl:choose>
|
2299
|
+
<xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
|
2300
|
+
|
2301
|
+
</xsl:when>
|
2302
|
+
<xsl:otherwise>
|
2303
|
+
<xsl:copy-of select="current()"/>
|
2304
|
+
</xsl:otherwise>
|
2305
|
+
</xsl:choose> -->
|
2306
|
+
</xsl:variable>
|
2307
|
+
<xsl:copy-of select="$simple-table"/>
|
2308
|
+
</xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
|
2309
|
+
<xsl:apply-templates mode="simple-table-colspan"/>
|
2310
|
+
</xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
|
2311
|
+
<xsl:choose>
|
2312
|
+
<xsl:when test="@colspan">
|
2313
|
+
<xsl:variable name="td">
|
2314
|
+
<xsl:element name="td">
|
2315
|
+
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
2316
|
+
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
2317
|
+
<xsl:apply-templates mode="simple-table-colspan"/>
|
2318
|
+
</xsl:element>
|
2319
|
+
</xsl:variable>
|
2320
|
+
<xsl:call-template name="repeatNode">
|
2321
|
+
<xsl:with-param name="count" select="@colspan"/>
|
2322
|
+
<xsl:with-param name="node" select="$td"/>
|
2323
|
+
</xsl:call-template>
|
2324
|
+
</xsl:when>
|
2325
|
+
<xsl:otherwise>
|
2326
|
+
<xsl:element name="td">
|
2327
|
+
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
2328
|
+
<xsl:apply-templates mode="simple-table-colspan"/>
|
2329
|
+
</xsl:element>
|
2330
|
+
</xsl:otherwise>
|
2331
|
+
</xsl:choose>
|
2332
|
+
</xsl:template><xsl:template match="@colspan" mode="simple-table-colspan"/><xsl:template match="*[local-name()='tr']" mode="simple-table-colspan">
|
2333
|
+
<xsl:element name="tr">
|
2334
|
+
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
2335
|
+
<xsl:apply-templates mode="simple-table-colspan"/>
|
2336
|
+
</xsl:element>
|
2337
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-colspan">
|
2338
|
+
<xsl:copy>
|
2339
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-colspan"/>
|
2340
|
+
</xsl:copy>
|
2341
|
+
</xsl:template><xsl:template name="repeatNode">
|
2342
|
+
<xsl:param name="count"/>
|
2343
|
+
<xsl:param name="node"/>
|
2344
|
+
|
2345
|
+
<xsl:if test="$count > 0">
|
2346
|
+
<xsl:call-template name="repeatNode">
|
2347
|
+
<xsl:with-param name="count" select="$count - 1"/>
|
2348
|
+
<xsl:with-param name="node" select="$node"/>
|
2349
|
+
</xsl:call-template>
|
2350
|
+
<xsl:copy-of select="$node"/>
|
2351
|
+
</xsl:if>
|
2352
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-rowspan">
|
2353
|
+
<xsl:copy>
|
2354
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-rowspan"/>
|
2355
|
+
</xsl:copy>
|
2356
|
+
</xsl:template><xsl:template match="tbody" mode="simple-table-rowspan">
|
2357
|
+
<xsl:copy>
|
2358
|
+
<xsl:copy-of select="tr[1]"/>
|
2359
|
+
<xsl:apply-templates select="tr[2]" mode="simple-table-rowspan">
|
2360
|
+
<xsl:with-param name="previousRow" select="tr[1]"/>
|
2361
|
+
</xsl:apply-templates>
|
2362
|
+
</xsl:copy>
|
2363
|
+
</xsl:template><xsl:template match="tr" mode="simple-table-rowspan">
|
2364
|
+
<xsl:param name="previousRow"/>
|
2365
|
+
<xsl:variable name="currentRow" select="."/>
|
2366
|
+
|
2367
|
+
<xsl:variable name="normalizedTDs">
|
2368
|
+
<xsl:for-each select="xalan:nodeset($previousRow)//td">
|
2369
|
+
<xsl:choose>
|
2370
|
+
<xsl:when test="@rowspan > 1">
|
2371
|
+
<xsl:copy>
|
2372
|
+
<xsl:attribute name="rowspan">
|
2373
|
+
<xsl:value-of select="@rowspan - 1"/>
|
2374
|
+
</xsl:attribute>
|
2375
|
+
<xsl:copy-of select="@*[not(name() = 'rowspan')]"/>
|
2376
|
+
<xsl:copy-of select="node()"/>
|
2377
|
+
</xsl:copy>
|
2378
|
+
</xsl:when>
|
2379
|
+
<xsl:otherwise>
|
2380
|
+
<xsl:copy-of select="$currentRow/td[1 + count(current()/preceding-sibling::td[not(@rowspan) or (@rowspan = 1)])]"/>
|
2381
|
+
</xsl:otherwise>
|
2382
|
+
</xsl:choose>
|
2383
|
+
</xsl:for-each>
|
2384
|
+
</xsl:variable>
|
2385
|
+
|
2386
|
+
<xsl:variable name="newRow">
|
2387
|
+
<xsl:copy>
|
2388
|
+
<xsl:copy-of select="$currentRow/@*"/>
|
2389
|
+
<xsl:copy-of select="xalan:nodeset($normalizedTDs)"/>
|
2390
|
+
</xsl:copy>
|
2391
|
+
</xsl:variable>
|
2392
|
+
<xsl:copy-of select="$newRow"/>
|
2393
|
+
|
2394
|
+
<xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
|
2395
|
+
<xsl:with-param name="previousRow" select="$newRow"/>
|
2396
|
+
</xsl:apply-templates>
|
2397
|
+
</xsl:template><xsl:template name="getLang">
|
2398
|
+
<xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
2399
|
+
<xsl:choose>
|
2400
|
+
<xsl:when test="$language = 'English'">en</xsl:when>
|
2401
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
2402
|
+
</xsl:choose>
|
2403
|
+
</xsl:template><xsl:template name="capitalizeWords">
|
2404
|
+
<xsl:param name="str"/>
|
2405
|
+
<xsl:variable name="str2" select="translate($str, '-', ' ')"/>
|
2406
|
+
<xsl:choose>
|
2407
|
+
<xsl:when test="contains($str2, ' ')">
|
2408
|
+
<xsl:variable name="substr" select="substring-before($str2, ' ')"/>
|
2409
|
+
<!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
|
2410
|
+
<xsl:value-of select="substring($substr, 2)"/> -->
|
2411
|
+
<xsl:call-template name="capitalize">
|
2412
|
+
<xsl:with-param name="str" select="$substr"/>
|
2413
|
+
</xsl:call-template>
|
2414
|
+
<xsl:text> </xsl:text>
|
2415
|
+
<xsl:call-template name="capitalizeWords">
|
2416
|
+
<xsl:with-param name="str" select="substring-after($str2, ' ')"/>
|
2417
|
+
</xsl:call-template>
|
2418
|
+
</xsl:when>
|
2419
|
+
<xsl:otherwise>
|
2420
|
+
<!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
|
2421
|
+
<xsl:value-of select="substring($str2, 2)"/> -->
|
2422
|
+
<xsl:call-template name="capitalize">
|
2423
|
+
<xsl:with-param name="str" select="$str2"/>
|
2424
|
+
</xsl:call-template>
|
2425
|
+
</xsl:otherwise>
|
2426
|
+
</xsl:choose>
|
2427
|
+
</xsl:template><xsl:template name="capitalize">
|
2428
|
+
<xsl:param name="str"/>
|
2429
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
|
2430
|
+
<xsl:value-of select="substring($str, 2)"/>
|
2431
|
+
</xsl:template><xsl:template match="mathml:math">
|
2432
|
+
<fo:inline font-family="STIX2Math">
|
2433
|
+
<fo:instream-foreign-object fox:alt-text="Math">
|
2434
|
+
<xsl:copy-of select="."/>
|
2435
|
+
</fo:instream-foreign-object>
|
2436
|
+
</fo:inline>
|
2437
|
+
</xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
2438
|
+
<xsl:variable name="target">
|
2439
|
+
<xsl:choose>
|
2440
|
+
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
2441
|
+
<xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
|
2442
|
+
</xsl:when>
|
2443
|
+
<xsl:otherwise>
|
2444
|
+
<xsl:value-of select="normalize-space(@target)"/>
|
2445
|
+
</xsl:otherwise>
|
2446
|
+
</xsl:choose>
|
2447
|
+
</xsl:variable>
|
2448
|
+
<fo:inline xsl:use-attribute-sets="link-style">
|
2449
|
+
<xsl:choose>
|
2450
|
+
<xsl:when test="$target = ''">
|
2451
|
+
<xsl:apply-templates/>
|
2452
|
+
</xsl:when>
|
2453
|
+
<xsl:otherwise>
|
2454
|
+
<fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
|
2455
|
+
<xsl:choose>
|
2456
|
+
<xsl:when test="normalize-space(.) = ''">
|
2457
|
+
<xsl:value-of select="$target"/>
|
2458
|
+
</xsl:when>
|
2459
|
+
<xsl:otherwise>
|
2460
|
+
<xsl:apply-templates/>
|
2461
|
+
</xsl:otherwise>
|
2462
|
+
</xsl:choose>
|
2463
|
+
</fo:basic-link>
|
2464
|
+
</xsl:otherwise>
|
2465
|
+
</xsl:choose>
|
2466
|
+
</fo:inline>
|
2467
|
+
</xsl:template><xsl:template match="*[local-name()='bookmark']">
|
2468
|
+
<fo:inline id="{@id}"/>
|
2469
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']">
|
2470
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
|
2471
|
+
<xsl:apply-templates select="*[local-name()='title']" mode="process"/>
|
2472
|
+
</fo:block>
|
2473
|
+
<xsl:apply-templates/>
|
2474
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
|
2475
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
2476
|
+
</xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
|
2477
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
|
2478
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2479
|
+
</fo:block>
|
2480
|
+
<xsl:apply-templates/>
|
2481
|
+
</xsl:template><xsl:template match="*[local-name() = 'callout']">
|
2482
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}"><<xsl:apply-templates/>></fo:basic-link>
|
2483
|
+
</xsl:template><xsl:template match="*[local-name() = 'annotation']">
|
2484
|
+
<xsl:variable name="annotation-id" select="@id"/>
|
2485
|
+
<xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
|
2486
|
+
<fo:block id="{$annotation-id}" white-space="nowrap">
|
2487
|
+
<fo:inline>
|
2488
|
+
<xsl:apply-templates>
|
2489
|
+
<xsl:with-param name="callout" select="concat('<', $callout, '> ')"/>
|
2490
|
+
</xsl:apply-templates>
|
2491
|
+
</fo:inline>
|
2492
|
+
</fo:block>
|
2493
|
+
</xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
|
2494
|
+
<xsl:param name="callout"/>
|
2495
|
+
<fo:inline id="{@id}">
|
2496
|
+
<!-- for first p in annotation, put <x> -->
|
2497
|
+
<xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
|
2498
|
+
<xsl:apply-templates/>
|
2499
|
+
</fo:inline>
|
2500
|
+
</xsl:template><xsl:template match="*[local-name() = 'modification']">
|
2501
|
+
<xsl:variable name="title-modified">
|
2502
|
+
<xsl:call-template name="getTitle">
|
2503
|
+
<xsl:with-param name="name" select="'title-modified'"/>
|
2504
|
+
</xsl:call-template>
|
2505
|
+
</xsl:variable>
|
2506
|
+
<xsl:choose>
|
2507
|
+
<xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
|
2508
|
+
<xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
|
2509
|
+
</xsl:choose>
|
2510
|
+
<xsl:apply-templates/>
|
2511
|
+
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
2512
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
2513
|
+
|
2514
|
+
<xsl:apply-templates/>
|
2515
|
+
</fo:basic-link>
|
2516
|
+
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
2517
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
|
2518
|
+
<xsl:apply-templates/>
|
2519
|
+
</fo:block>
|
2520
|
+
</xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
|
2521
|
+
<fo:inline>
|
2522
|
+
<xsl:apply-templates/>
|
2523
|
+
</fo:inline>
|
2524
|
+
</xsl:template><xsl:template match="*[local-name() = 'admitted']/*[local-name() = 'stem']">
|
2525
|
+
<fo:inline>
|
2526
|
+
<xsl:apply-templates/>
|
2527
|
+
</fo:inline>
|
2528
|
+
</xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
|
2529
|
+
<xsl:if test="normalize-space() != ''">
|
2530
|
+
<xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
|
2531
|
+
</xsl:if>
|
2532
|
+
</xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
|
2533
|
+
|
2534
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
|
2535
|
+
|
2536
|
+
|
2537
|
+
|
2538
|
+
|
2539
|
+
<fo:block-container margin-left="0mm">
|
2540
|
+
|
2541
|
+
|
2542
|
+
|
2543
|
+
|
2544
|
+
<xsl:if test="ancestor::csa:ul or ancestor::csa:ol and not(ancestor::csa:note[1]/following-sibling::*)">
|
2545
|
+
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
2546
|
+
</xsl:if>
|
2547
|
+
|
2548
|
+
|
2549
|
+
|
2550
|
+
|
2551
|
+
|
2552
|
+
<fo:block>
|
2553
|
+
|
2554
|
+
|
2555
|
+
|
2556
|
+
|
2557
|
+
<fo:inline xsl:use-attribute-sets="note-name-style">
|
2558
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
2559
|
+
</fo:inline>
|
2560
|
+
<xsl:apply-templates/>
|
2561
|
+
</fo:block>
|
2562
|
+
|
2563
|
+
|
2564
|
+
</fo:block-container>
|
2565
|
+
</fo:block-container>
|
2566
|
+
|
2567
|
+
</xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
|
2568
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
2569
|
+
<xsl:choose>
|
2570
|
+
<xsl:when test="$num = 1">
|
2571
|
+
<fo:inline xsl:use-attribute-sets="note-p-style">
|
2572
|
+
<xsl:apply-templates/>
|
2573
|
+
</fo:inline>
|
2574
|
+
</xsl:when>
|
2575
|
+
<xsl:otherwise>
|
2576
|
+
<fo:block xsl:use-attribute-sets="note-p-style">
|
2577
|
+
<xsl:apply-templates/>
|
2578
|
+
</fo:block>
|
2579
|
+
</xsl:otherwise>
|
2580
|
+
</xsl:choose>
|
2581
|
+
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
2582
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
2583
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
2584
|
+
<xsl:apply-templates/>
|
2585
|
+
</fo:block>
|
2586
|
+
</xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
|
2587
|
+
<xsl:param name="sfx"/>
|
2588
|
+
<xsl:variable name="suffix">
|
2589
|
+
<xsl:choose>
|
2590
|
+
<xsl:when test="$sfx != ''">
|
2591
|
+
<xsl:value-of select="$sfx"/>
|
2592
|
+
</xsl:when>
|
2593
|
+
<xsl:otherwise>
|
2594
|
+
|
2595
|
+
|
2596
|
+
</xsl:otherwise>
|
2597
|
+
</xsl:choose>
|
2598
|
+
</xsl:variable>
|
2599
|
+
<xsl:if test="normalize-space() != ''">
|
2600
|
+
<xsl:apply-templates/>
|
2601
|
+
<xsl:value-of select="$suffix"/>
|
2602
|
+
</xsl:if>
|
2603
|
+
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
|
2604
|
+
<xsl:param name="sfx"/>
|
2605
|
+
<xsl:variable name="suffix">
|
2606
|
+
<xsl:choose>
|
2607
|
+
<xsl:when test="$sfx != ''">
|
2608
|
+
<xsl:value-of select="$sfx"/>
|
2609
|
+
</xsl:when>
|
2610
|
+
<xsl:otherwise>
|
2611
|
+
|
2612
|
+
|
2613
|
+
</xsl:otherwise>
|
2614
|
+
</xsl:choose>
|
2615
|
+
</xsl:variable>
|
2616
|
+
<xsl:if test="normalize-space() != ''">
|
2617
|
+
<xsl:apply-templates/>
|
2618
|
+
<xsl:value-of select="$suffix"/>
|
2619
|
+
</xsl:if>
|
2620
|
+
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
|
2621
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
2622
|
+
</xsl:template><xsl:template match="*[local-name() = 'terms']">
|
2623
|
+
<fo:block id="{@id}">
|
2624
|
+
<xsl:apply-templates/>
|
2625
|
+
</fo:block>
|
2626
|
+
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
2627
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
2628
|
+
|
2629
|
+
|
2630
|
+
|
2631
|
+
<xsl:apply-templates/>
|
2632
|
+
</fo:block>
|
2633
|
+
</xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
|
2634
|
+
<xsl:if test="normalize-space() != ''">
|
2635
|
+
<fo:inline>
|
2636
|
+
<xsl:apply-templates/>
|
2637
|
+
<!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
|
2638
|
+
<xsl:text>.</xsl:text>
|
2639
|
+
</xsl:if> -->
|
2640
|
+
</fo:inline>
|
2641
|
+
</xsl:if>
|
2642
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
2643
|
+
<fo:block-container id="{@id}">
|
2644
|
+
<fo:block>
|
2645
|
+
<xsl:apply-templates/>
|
2646
|
+
</fo:block>
|
2647
|
+
<xsl:call-template name="fn_display_figure"/>
|
2648
|
+
<xsl:for-each select="*[local-name() = 'note']">
|
2649
|
+
<xsl:call-template name="note"/>
|
2650
|
+
</xsl:for-each>
|
2651
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
2652
|
+
</fo:block-container>
|
2653
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
|
2654
|
+
<fo:block id="{@id}">
|
2655
|
+
<xsl:apply-templates/>
|
2656
|
+
</fo:block>
|
2657
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
|
2658
|
+
<fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
|
2659
|
+
<xsl:apply-templates/>
|
2660
|
+
</fo:block>
|
2661
|
+
</xsl:template><xsl:template match="*[local-name() = 'image']">
|
2662
|
+
<fo:block xsl:use-attribute-sets="image-style">
|
2663
|
+
|
2664
|
+
|
2665
|
+
<xsl:variable name="src">
|
2666
|
+
<xsl:choose>
|
2667
|
+
<xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
|
2668
|
+
<xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
|
2669
|
+
</xsl:when>
|
2670
|
+
<xsl:otherwise>
|
2671
|
+
<xsl:value-of select="@src"/>
|
2672
|
+
</xsl:otherwise>
|
2673
|
+
</xsl:choose>
|
2674
|
+
</xsl:variable>
|
2675
|
+
|
2676
|
+
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
|
2677
|
+
</fo:block>
|
2678
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
2679
|
+
<xsl:apply-templates mode="contents"/>
|
2680
|
+
<xsl:text> </xsl:text>
|
2681
|
+
</xsl:template><xsl:template match="text()" mode="contents">
|
2682
|
+
<xsl:value-of select="."/>
|
2683
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
|
2684
|
+
<xsl:if test="normalize-space() != ''">
|
2685
|
+
<fo:block xsl:use-attribute-sets="figure-name-style">
|
2686
|
+
|
2687
|
+
<xsl:apply-templates/>
|
2688
|
+
</fo:block>
|
2689
|
+
</xsl:if>
|
2690
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
|
2691
|
+
<xsl:apply-templates mode="contents_item"/>
|
2692
|
+
<!-- <xsl:text> </xsl:text> -->
|
2693
|
+
</xsl:template><xsl:template name="getSection">
|
2694
|
+
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
2695
|
+
</xsl:template><xsl:template name="getName">
|
2696
|
+
<xsl:choose>
|
2697
|
+
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
2698
|
+
<xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
2699
|
+
</xsl:when>
|
2700
|
+
<xsl:otherwise>
|
2701
|
+
<xsl:copy-of select="*[local-name() = 'title']/node()"/>
|
2702
|
+
</xsl:otherwise>
|
2703
|
+
</xsl:choose>
|
2704
|
+
</xsl:template><xsl:template name="insertTitleAsListItem">
|
2705
|
+
<xsl:param name="provisional-distance-between-starts" select="'9.5mm'"/>
|
2706
|
+
<xsl:variable name="section">
|
2707
|
+
<xsl:for-each select="..">
|
2708
|
+
<xsl:call-template name="getSection"/>
|
2709
|
+
</xsl:for-each>
|
2710
|
+
</xsl:variable>
|
2711
|
+
<fo:list-block provisional-distance-between-starts="{$provisional-distance-between-starts}">
|
2712
|
+
<fo:list-item>
|
2713
|
+
<fo:list-item-label end-indent="label-end()">
|
2714
|
+
<fo:block>
|
2715
|
+
<xsl:value-of select="$section"/>
|
2716
|
+
</fo:block>
|
2717
|
+
</fo:list-item-label>
|
2718
|
+
<fo:list-item-body start-indent="body-start()">
|
2719
|
+
<fo:block>
|
2720
|
+
<xsl:choose>
|
2721
|
+
<xsl:when test="*[local-name() = 'tab']">
|
2722
|
+
<xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
2723
|
+
</xsl:when>
|
2724
|
+
<xsl:otherwise>
|
2725
|
+
<xsl:apply-templates/>
|
2726
|
+
</xsl:otherwise>
|
2727
|
+
</xsl:choose>
|
2728
|
+
</fo:block>
|
2729
|
+
</fo:list-item-body>
|
2730
|
+
</fo:list-item>
|
2731
|
+
</fo:list-block>
|
2732
|
+
</xsl:template><xsl:template name="extractTitle">
|
2733
|
+
<xsl:choose>
|
2734
|
+
<xsl:when test="*[local-name() = 'tab']">
|
2735
|
+
<xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
2736
|
+
</xsl:when>
|
2737
|
+
<xsl:otherwise>
|
2738
|
+
<xsl:apply-templates/>
|
2739
|
+
</xsl:otherwise>
|
2740
|
+
</xsl:choose>
|
2741
|
+
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
2742
|
+
<xsl:text> </xsl:text>
|
2743
|
+
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
2744
|
+
<xsl:copy>
|
2745
|
+
<xsl:apply-templates mode="contents_item"/>
|
2746
|
+
</xsl:copy>
|
2747
|
+
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
2748
|
+
<xsl:text> </xsl:text>
|
2749
|
+
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
2750
|
+
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
2751
|
+
<xsl:apply-templates/>
|
2752
|
+
</fo:block>
|
2753
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2754
|
+
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
|
2755
|
+
<xsl:variable name="text">
|
2756
|
+
<xsl:call-template name="add-zero-spaces-equal"/>
|
2757
|
+
</xsl:variable>
|
2758
|
+
<xsl:call-template name="add-zero-spaces">
|
2759
|
+
<xsl:with-param name="text" select="$text"/>
|
2760
|
+
</xsl:call-template>
|
2761
|
+
</xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
|
2762
|
+
<xsl:if test="normalize-space() != ''">
|
2763
|
+
<fo:block xsl:use-attribute-sets="sourcecode-name-style">
|
2764
|
+
|
2765
|
+
<xsl:apply-templates/>
|
2766
|
+
</fo:block>
|
2767
|
+
</xsl:if>
|
2768
|
+
</xsl:template><xsl:template match="*[local-name() = 'permission']">
|
2769
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
|
2770
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2771
|
+
<xsl:apply-templates/>
|
2772
|
+
</fo:block>
|
2773
|
+
</xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
|
2774
|
+
<xsl:if test="normalize-space() != ''">
|
2775
|
+
<fo:block xsl:use-attribute-sets="permission-name-style">
|
2776
|
+
<xsl:apply-templates/>
|
2777
|
+
|
2778
|
+
</fo:block>
|
2779
|
+
</xsl:if>
|
2780
|
+
</xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'label']">
|
2781
|
+
<fo:block xsl:use-attribute-sets="permission-label-style">
|
2782
|
+
<xsl:apply-templates/>
|
2783
|
+
</fo:block>
|
2784
|
+
</xsl:template><xsl:template match="*[local-name() = 'requirement']">
|
2785
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
|
2786
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2787
|
+
<xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
|
2788
|
+
<xsl:apply-templates select="@obligation" mode="presentation"/>
|
2789
|
+
<xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
|
2790
|
+
<xsl:apply-templates/>
|
2791
|
+
</fo:block>
|
2792
|
+
</xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
|
2793
|
+
<xsl:if test="normalize-space() != ''">
|
2794
|
+
<fo:block xsl:use-attribute-sets="requirement-name-style">
|
2795
|
+
|
2796
|
+
<xsl:apply-templates/>
|
2797
|
+
|
2798
|
+
</fo:block>
|
2799
|
+
</xsl:if>
|
2800
|
+
</xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
|
2801
|
+
<fo:block xsl:use-attribute-sets="requirement-label-style">
|
2802
|
+
<xsl:apply-templates/>
|
2803
|
+
</fo:block>
|
2804
|
+
</xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
|
2805
|
+
<fo:block>
|
2806
|
+
<fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
|
2807
|
+
</fo:block>
|
2808
|
+
</xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
|
2809
|
+
<fo:block xsl:use-attribute-sets="requirement-subject-style">
|
2810
|
+
<xsl:text>Target Type </xsl:text><xsl:apply-templates/>
|
2811
|
+
</fo:block>
|
2812
|
+
</xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
|
2813
|
+
<fo:block xsl:use-attribute-sets="requirement-inherit-style">
|
2814
|
+
<xsl:text>Dependency </xsl:text><xsl:apply-templates/>
|
2815
|
+
</fo:block>
|
2816
|
+
</xsl:template><xsl:template match="*[local-name() = 'recommendation']">
|
2817
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
|
2818
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2819
|
+
<xsl:apply-templates/>
|
2820
|
+
</fo:block>
|
2821
|
+
</xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
|
2822
|
+
<xsl:if test="normalize-space() != ''">
|
2823
|
+
<fo:block xsl:use-attribute-sets="recommendation-name-style">
|
2824
|
+
<xsl:apply-templates/>
|
2825
|
+
|
2826
|
+
</fo:block>
|
2827
|
+
</xsl:if>
|
2828
|
+
</xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
|
2829
|
+
<fo:block xsl:use-attribute-sets="recommendation-label-style">
|
2830
|
+
<xsl:apply-templates/>
|
2831
|
+
</fo:block>
|
2832
|
+
</xsl:template><xsl:template match="*[local-name() = 'termexample']">
|
2833
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
|
2834
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2835
|
+
<xsl:apply-templates/>
|
2836
|
+
</fo:block>
|
2837
|
+
</xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
|
2838
|
+
<xsl:if test="normalize-space() != ''">
|
2839
|
+
<fo:inline xsl:use-attribute-sets="termexample-name-style">
|
2840
|
+
<xsl:apply-templates/>
|
2841
|
+
</fo:inline>
|
2842
|
+
</xsl:if>
|
2843
|
+
</xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
|
2844
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
2845
|
+
</xsl:template><xsl:template match="*[local-name() = 'example']">
|
2846
|
+
<fo:block id="{@id}" xsl:use-attribute-sets="example-style">
|
2847
|
+
|
2848
|
+
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
2849
|
+
|
2850
|
+
<xsl:variable name="element">
|
2851
|
+
block
|
2852
|
+
|
2853
|
+
</xsl:variable>
|
2854
|
+
|
2855
|
+
<xsl:choose>
|
2856
|
+
<xsl:when test="normalize-space($element) = 'block'">
|
2857
|
+
<fo:block xsl:use-attribute-sets="example-body-style">
|
2858
|
+
<xsl:apply-templates/>
|
2859
|
+
</fo:block>
|
2860
|
+
</xsl:when>
|
2861
|
+
<xsl:otherwise>
|
2862
|
+
<fo:inline>
|
2863
|
+
<xsl:apply-templates/>
|
2864
|
+
</fo:inline>
|
2865
|
+
</xsl:otherwise>
|
2866
|
+
</xsl:choose>
|
2867
|
+
|
2868
|
+
</fo:block>
|
2869
|
+
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
|
2870
|
+
|
2871
|
+
<xsl:variable name="element">
|
2872
|
+
block
|
2873
|
+
|
2874
|
+
</xsl:variable>
|
2875
|
+
<xsl:choose>
|
2876
|
+
<xsl:when test="ancestor::*[local-name() = 'appendix']">
|
2877
|
+
<fo:inline>
|
2878
|
+
<xsl:apply-templates/>
|
2879
|
+
</fo:inline>
|
2880
|
+
</xsl:when>
|
2881
|
+
<xsl:when test="normalize-space($element) = 'block'">
|
2882
|
+
<fo:block xsl:use-attribute-sets="example-name-style">
|
2883
|
+
<xsl:apply-templates/>
|
2884
|
+
</fo:block>
|
2885
|
+
</xsl:when>
|
2886
|
+
<xsl:otherwise>
|
2887
|
+
<fo:inline xsl:use-attribute-sets="example-name-style">
|
2888
|
+
<xsl:apply-templates/>
|
2889
|
+
</fo:inline>
|
2890
|
+
</xsl:otherwise>
|
2891
|
+
</xsl:choose>
|
2892
|
+
|
2893
|
+
</xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
|
2894
|
+
<fo:block xsl:use-attribute-sets="example-p-style">
|
2895
|
+
|
2896
|
+
<xsl:apply-templates/>
|
2897
|
+
</fo:block>
|
2898
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']">
|
2899
|
+
<fo:block xsl:use-attribute-sets="termsource-style">
|
2900
|
+
<!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
|
2901
|
+
<xsl:variable name="termsource_text">
|
2902
|
+
<xsl:apply-templates/>
|
2903
|
+
</xsl:variable>
|
2904
|
+
<xsl:choose>
|
2905
|
+
<xsl:when test="starts-with(normalize-space($termsource_text), '[')">
|
2906
|
+
<xsl:apply-templates/>
|
2907
|
+
</xsl:when>
|
2908
|
+
<xsl:otherwise>
|
2909
|
+
<xsl:text>[</xsl:text>
|
2910
|
+
<xsl:apply-templates/>
|
2911
|
+
<xsl:text>]</xsl:text>
|
2912
|
+
</xsl:otherwise>
|
2913
|
+
</xsl:choose>
|
2914
|
+
</fo:block>
|
2915
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
2916
|
+
<xsl:if test="normalize-space() != ''">
|
2917
|
+
<xsl:value-of select="."/>
|
2918
|
+
</xsl:if>
|
2919
|
+
</xsl:template><xsl:template match="*[local-name() = 'origin']">
|
2920
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
2921
|
+
|
2922
|
+
<xsl:call-template name="getTitle">
|
2923
|
+
<xsl:with-param name="name" select="'title-source'"/>
|
2924
|
+
</xsl:call-template>
|
2925
|
+
<xsl:text>: </xsl:text>
|
2926
|
+
|
2927
|
+
<fo:inline xsl:use-attribute-sets="origin-style">
|
2928
|
+
<xsl:apply-templates/>
|
2929
|
+
</fo:inline>
|
2930
|
+
</fo:basic-link>
|
2931
|
+
</xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
|
2932
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
2933
|
+
</xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
|
2934
|
+
<xsl:if test="normalize-space() != ''">
|
2935
|
+
<xsl:value-of select="."/>
|
2936
|
+
</xsl:if>
|
2937
|
+
</xsl:template><xsl:template match="*[local-name() = 'quote']">
|
2938
|
+
|
2939
|
+
<fo:block xsl:use-attribute-sets="quote-style">
|
2940
|
+
<xsl:apply-templates select=".//*[local-name() = 'p']"/>
|
2941
|
+
</fo:block>
|
2942
|
+
<xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
|
2943
|
+
<fo:block xsl:use-attribute-sets="quote-source-style">
|
2944
|
+
<!-- — ISO, ISO 7301:2011, Clause 1 -->
|
2945
|
+
<xsl:apply-templates select="*[local-name() = 'author']"/>
|
2946
|
+
<xsl:apply-templates select="*[local-name() = 'source']"/>
|
2947
|
+
</fo:block>
|
2948
|
+
</xsl:if>
|
2949
|
+
</xsl:template><xsl:template match="*[local-name() = 'source']">
|
2950
|
+
<xsl:if test="../*[local-name() = 'author']">
|
2951
|
+
<xsl:text>, </xsl:text>
|
2952
|
+
</xsl:if>
|
2953
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
2954
|
+
<xsl:apply-templates/>
|
2955
|
+
</fo:basic-link>
|
2956
|
+
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
2957
|
+
<xsl:text>— </xsl:text>
|
2958
|
+
<xsl:apply-templates/>
|
2959
|
+
</xsl:template><xsl:template match="*[local-name() = 'eref']">
|
2960
|
+
<fo:inline xsl:use-attribute-sets="eref-style">
|
2961
|
+
<xsl:if test="@type = 'footnote'">
|
2962
|
+
|
2963
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
2964
|
+
<xsl:attribute name="font-size">80%</xsl:attribute>
|
2965
|
+
<xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
|
2966
|
+
<xsl:attribute name="vertical-align">super</xsl:attribute>
|
2967
|
+
|
2968
|
+
|
2969
|
+
</xsl:if>
|
2970
|
+
|
2971
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
2972
|
+
|
2973
|
+
<xsl:if test="@type = 'inline'">
|
2974
|
+
|
2975
|
+
|
2976
|
+
</xsl:if>
|
2977
|
+
|
2978
|
+
|
2979
|
+
<xsl:apply-templates/>
|
2980
|
+
</fo:basic-link>
|
2981
|
+
</fo:inline>
|
2982
|
+
</xsl:template><xsl:template match="*[local-name() = 'tab']">
|
2983
|
+
<!-- zero-space char -->
|
2984
|
+
<xsl:variable name="depth">
|
2985
|
+
<xsl:call-template name="getLevel">
|
2986
|
+
<xsl:with-param name="depth" select="../@depth"/>
|
2987
|
+
</xsl:call-template>
|
2988
|
+
</xsl:variable>
|
2989
|
+
|
2990
|
+
<xsl:variable name="padding">
|
2991
|
+
2
|
2992
|
+
|
2993
|
+
|
2994
|
+
|
2995
|
+
|
2996
|
+
|
2997
|
+
|
2998
|
+
|
2999
|
+
|
3000
|
+
|
3001
|
+
|
3002
|
+
|
3003
|
+
|
3004
|
+
|
3005
|
+
|
3006
|
+
|
3007
|
+
|
3008
|
+
</xsl:variable>
|
3009
|
+
|
3010
|
+
<xsl:variable name="padding-right">
|
3011
|
+
<xsl:choose>
|
3012
|
+
<xsl:when test="normalize-space($padding) = ''">0</xsl:when>
|
3013
|
+
<xsl:otherwise>
|
3014
|
+
<xsl:value-of select="normalize-space($padding)"/>
|
3015
|
+
</xsl:otherwise>
|
3016
|
+
</xsl:choose>
|
3017
|
+
</xsl:variable>
|
3018
|
+
|
3019
|
+
<xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
3020
|
+
|
3021
|
+
<xsl:choose>
|
3022
|
+
<xsl:when test="$language = 'zh'">
|
3023
|
+
<fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
|
3024
|
+
</xsl:when>
|
3025
|
+
<xsl:when test="../../@inline-header = 'true'">
|
3026
|
+
<fo:inline font-size="90%">
|
3027
|
+
<xsl:call-template name="insertNonBreakSpaces">
|
3028
|
+
<xsl:with-param name="count" select="$padding-right"/>
|
3029
|
+
</xsl:call-template>
|
3030
|
+
</fo:inline>
|
3031
|
+
</xsl:when>
|
3032
|
+
<xsl:otherwise>
|
3033
|
+
<fo:inline padding-right="{$padding-right}mm"></fo:inline>
|
3034
|
+
</xsl:otherwise>
|
3035
|
+
</xsl:choose>
|
3036
|
+
|
3037
|
+
</xsl:template><xsl:template name="insertNonBreakSpaces">
|
3038
|
+
<xsl:param name="count"/>
|
3039
|
+
<xsl:if test="$count > 0">
|
3040
|
+
<xsl:text> </xsl:text>
|
3041
|
+
<xsl:call-template name="insertNonBreakSpaces">
|
3042
|
+
<xsl:with-param name="count" select="$count - 1"/>
|
3043
|
+
</xsl:call-template>
|
3044
|
+
</xsl:if>
|
3045
|
+
</xsl:template><xsl:template match="*[local-name() = 'domain']">
|
3046
|
+
<fo:inline xsl:use-attribute-sets="domain-style"><<xsl:apply-templates/>></fo:inline>
|
3047
|
+
<xsl:text> </xsl:text>
|
3048
|
+
</xsl:template><xsl:template match="*[local-name() = 'admitted']">
|
3049
|
+
<fo:block xsl:use-attribute-sets="admitted-style">
|
3050
|
+
<xsl:apply-templates/>
|
3051
|
+
</fo:block>
|
3052
|
+
</xsl:template><xsl:template match="*[local-name() = 'deprecates']">
|
3053
|
+
<xsl:variable name="title-deprecated">
|
3054
|
+
<xsl:call-template name="getTitle">
|
3055
|
+
<xsl:with-param name="name" select="'title-deprecated'"/>
|
3056
|
+
</xsl:call-template>
|
3057
|
+
</xsl:variable>
|
3058
|
+
<fo:block xsl:use-attribute-sets="deprecates-style">
|
3059
|
+
<xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
|
3060
|
+
</fo:block>
|
3061
|
+
</xsl:template><xsl:template match="*[local-name() = 'definition']">
|
3062
|
+
<fo:block xsl:use-attribute-sets="definition-style">
|
3063
|
+
<xsl:apply-templates/>
|
3064
|
+
</fo:block>
|
3065
|
+
</xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
|
3066
|
+
<xsl:apply-templates/>
|
3067
|
+
</xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
|
3068
|
+
<fo:inline> <xsl:apply-templates/></fo:inline>
|
3069
|
+
<fo:block> </fo:block>
|
3070
|
+
</xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
|
3071
|
+
|
3072
|
+
<fo:block>
|
3073
|
+
<xsl:call-template name="setId"/>
|
3074
|
+
|
3075
|
+
<xsl:variable name="pos"><xsl:number count="csa:sections/csa:clause[not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/></xsl:variable>
|
3076
|
+
<xsl:if test="$pos >= 2">
|
3077
|
+
<xsl:attribute name="space-before">18pt</xsl:attribute>
|
3078
|
+
</xsl:if>
|
3079
|
+
|
3080
|
+
|
3081
|
+
|
3082
|
+
|
3083
|
+
|
3084
|
+
|
3085
|
+
|
3086
|
+
|
3087
|
+
|
3088
|
+
|
3089
|
+
<xsl:apply-templates/>
|
3090
|
+
</fo:block>
|
3091
|
+
|
3092
|
+
|
3093
|
+
|
3094
|
+
</xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
|
3095
|
+
<fo:block break-after="page"/>
|
3096
|
+
<fo:block>
|
3097
|
+
<xsl:call-template name="setId"/>
|
3098
|
+
<xsl:apply-templates/>
|
3099
|
+
</fo:block>
|
3100
|
+
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
3101
|
+
<fo:block>
|
3102
|
+
<xsl:call-template name="setId"/>
|
3103
|
+
<xsl:apply-templates/>
|
3104
|
+
</fo:block>
|
3105
|
+
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
3106
|
+
<fo:block id="{@id}">
|
3107
|
+
<xsl:apply-templates/>
|
3108
|
+
</fo:block>
|
3109
|
+
</xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
|
3110
|
+
|
3111
|
+
<fo:block id="{@id}">
|
3112
|
+
<xsl:apply-templates/>
|
3113
|
+
</fo:block>
|
3114
|
+
</xsl:template><xsl:template match="*[local-name() = 'annex']">
|
3115
|
+
<fo:block break-after="page"/>
|
3116
|
+
<fo:block id="{@id}">
|
3117
|
+
|
3118
|
+
</fo:block>
|
3119
|
+
<xsl:apply-templates/>
|
3120
|
+
</xsl:template><xsl:template match="*[local-name() = 'review']">
|
3121
|
+
<!-- comment 2019-11-29 -->
|
3122
|
+
<!-- <fo:block font-weight="bold">Review:</fo:block>
|
3123
|
+
<xsl:apply-templates /> -->
|
3124
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()">
|
3125
|
+
<!-- 0xA0 to space replacement -->
|
3126
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
3127
|
+
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
3128
|
+
<!-- <row>
|
3129
|
+
<date>05-07-2013</date>
|
3130
|
+
<type>Editorial</type>
|
3131
|
+
<change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
|
3132
|
+
<pages>D-3</pages>
|
3133
|
+
</row>
|
3134
|
+
-->
|
3135
|
+
<fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
|
3136
|
+
<fo:table-column column-width="20mm"/>
|
3137
|
+
<fo:table-column column-width="23mm"/>
|
3138
|
+
<fo:table-column column-width="107mm"/>
|
3139
|
+
<fo:table-column column-width="15mm"/>
|
3140
|
+
<fo:table-body>
|
3141
|
+
<fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
|
3142
|
+
<fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
|
3143
|
+
<fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
|
3144
|
+
<fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
|
3145
|
+
<fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
|
3146
|
+
</fo:table-row>
|
3147
|
+
<xsl:apply-templates/>
|
3148
|
+
</fo:table-body>
|
3149
|
+
</fo:table>
|
3150
|
+
</xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']">
|
3151
|
+
<fo:table-row>
|
3152
|
+
<xsl:apply-templates/>
|
3153
|
+
</fo:table-row>
|
3154
|
+
</xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
|
3155
|
+
<fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
|
3156
|
+
<fo:block><xsl:apply-templates/></fo:block>
|
3157
|
+
</fo:table-cell>
|
3158
|
+
</xsl:template><xsl:template name="convertDate">
|
3159
|
+
<xsl:param name="date"/>
|
3160
|
+
<xsl:param name="format" select="'short'"/>
|
3161
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
3162
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
3163
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
3164
|
+
<xsl:variable name="monthStr">
|
3165
|
+
<xsl:choose>
|
3166
|
+
<xsl:when test="$month = '01'">January</xsl:when>
|
3167
|
+
<xsl:when test="$month = '02'">February</xsl:when>
|
3168
|
+
<xsl:when test="$month = '03'">March</xsl:when>
|
3169
|
+
<xsl:when test="$month = '04'">April</xsl:when>
|
3170
|
+
<xsl:when test="$month = '05'">May</xsl:when>
|
3171
|
+
<xsl:when test="$month = '06'">June</xsl:when>
|
3172
|
+
<xsl:when test="$month = '07'">July</xsl:when>
|
3173
|
+
<xsl:when test="$month = '08'">August</xsl:when>
|
3174
|
+
<xsl:when test="$month = '09'">September</xsl:when>
|
3175
|
+
<xsl:when test="$month = '10'">October</xsl:when>
|
3176
|
+
<xsl:when test="$month = '11'">November</xsl:when>
|
3177
|
+
<xsl:when test="$month = '12'">December</xsl:when>
|
3178
|
+
</xsl:choose>
|
3179
|
+
</xsl:variable>
|
3180
|
+
<xsl:variable name="result">
|
3181
|
+
<xsl:choose>
|
3182
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
3183
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
3184
|
+
</xsl:when>
|
3185
|
+
<xsl:otherwise>
|
3186
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
3187
|
+
</xsl:otherwise>
|
3188
|
+
</xsl:choose>
|
3189
|
+
</xsl:variable>
|
3190
|
+
<xsl:value-of select="$result"/>
|
3191
|
+
</xsl:template><xsl:template name="insertKeywords">
|
3192
|
+
<xsl:param name="sorting" select="'true'"/>
|
3193
|
+
<xsl:param name="charAtEnd" select="'.'"/>
|
3194
|
+
<xsl:param name="charDelim" select="', '"/>
|
3195
|
+
<xsl:choose>
|
3196
|
+
<xsl:when test="$sorting = 'true' or $sorting = 'yes'">
|
3197
|
+
<xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
3198
|
+
<xsl:sort data-type="text" order="ascending"/>
|
3199
|
+
<xsl:call-template name="insertKeyword">
|
3200
|
+
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
3201
|
+
<xsl:with-param name="charDelim" select="$charDelim"/>
|
3202
|
+
</xsl:call-template>
|
3203
|
+
</xsl:for-each>
|
3204
|
+
</xsl:when>
|
3205
|
+
<xsl:otherwise>
|
3206
|
+
<xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
|
3207
|
+
<xsl:call-template name="insertKeyword">
|
3208
|
+
<xsl:with-param name="charAtEnd" select="$charAtEnd"/>
|
3209
|
+
<xsl:with-param name="charDelim" select="$charDelim"/>
|
3210
|
+
</xsl:call-template>
|
3211
|
+
</xsl:for-each>
|
3212
|
+
</xsl:otherwise>
|
3213
|
+
</xsl:choose>
|
3214
|
+
</xsl:template><xsl:template name="insertKeyword">
|
3215
|
+
<xsl:param name="charAtEnd"/>
|
3216
|
+
<xsl:param name="charDelim"/>
|
3217
|
+
<xsl:apply-templates/>
|
3218
|
+
<xsl:choose>
|
3219
|
+
<xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
|
3220
|
+
<xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
|
3221
|
+
</xsl:choose>
|
3222
|
+
</xsl:template><xsl:template name="addPDFUAmeta">
|
3223
|
+
<fo:declarations>
|
3224
|
+
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
3225
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
3226
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
3227
|
+
</pdf:dictionary>
|
3228
|
+
</pdf:catalog>
|
3229
|
+
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
3230
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
3231
|
+
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
3232
|
+
<!-- Dublin Core properties go here -->
|
3233
|
+
<dc:title>
|
3234
|
+
<xsl:variable name="title">
|
3235
|
+
|
3236
|
+
|
3237
|
+
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/>
|
3238
|
+
|
3239
|
+
|
3240
|
+
|
3241
|
+
</xsl:variable>
|
3242
|
+
<xsl:choose>
|
3243
|
+
<xsl:when test="normalize-space($title) != ''">
|
3244
|
+
<xsl:value-of select="$title"/>
|
3245
|
+
</xsl:when>
|
3246
|
+
<xsl:otherwise>
|
3247
|
+
<xsl:text> </xsl:text>
|
3248
|
+
</xsl:otherwise>
|
3249
|
+
</xsl:choose>
|
3250
|
+
</dc:title>
|
3251
|
+
<dc:creator>
|
3252
|
+
|
3253
|
+
|
3254
|
+
</dc:creator>
|
3255
|
+
<dc:description>
|
3256
|
+
<xsl:variable name="abstract">
|
3257
|
+
|
3258
|
+
|
3259
|
+
|
3260
|
+
|
3261
|
+
<xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
|
3262
|
+
|
3263
|
+
</xsl:variable>
|
3264
|
+
<xsl:value-of select="normalize-space($abstract)"/>
|
3265
|
+
</dc:description>
|
3266
|
+
<pdf:Keywords>
|
3267
|
+
<xsl:call-template name="insertKeywords"/>
|
3268
|
+
</pdf:Keywords>
|
3269
|
+
</rdf:Description>
|
3270
|
+
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
|
3271
|
+
<!-- XMP properties go here -->
|
3272
|
+
<xmp:CreatorTool/>
|
3273
|
+
</rdf:Description>
|
3274
|
+
</rdf:RDF>
|
3275
|
+
</x:xmpmeta>
|
3276
|
+
</fo:declarations>
|
3277
|
+
</xsl:template><xsl:template name="getId">
|
3278
|
+
<xsl:choose>
|
3279
|
+
<xsl:when test="../@id">
|
3280
|
+
<xsl:value-of select="../@id"/>
|
3281
|
+
</xsl:when>
|
3282
|
+
<xsl:otherwise>
|
3283
|
+
<!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
|
3284
|
+
<xsl:value-of select="concat(generate-id(..), '_', text())"/>
|
3285
|
+
</xsl:otherwise>
|
3286
|
+
</xsl:choose>
|
3287
|
+
</xsl:template><xsl:template name="getLevel">
|
3288
|
+
<xsl:param name="depth"/>
|
3289
|
+
<xsl:choose>
|
3290
|
+
<xsl:when test="normalize-space(@depth) != ''">
|
3291
|
+
<xsl:value-of select="@depth"/>
|
3292
|
+
</xsl:when>
|
3293
|
+
<xsl:when test="normalize-space($depth) != ''">
|
3294
|
+
<xsl:value-of select="$depth"/>
|
3295
|
+
</xsl:when>
|
3296
|
+
<xsl:otherwise>
|
3297
|
+
<xsl:variable name="level_total" select="count(ancestor::*)"/>
|
3298
|
+
<xsl:variable name="level">
|
3299
|
+
<xsl:choose>
|
3300
|
+
<xsl:when test="parent::*[local-name() = 'preface']">
|
3301
|
+
<xsl:value-of select="$level_total - 1"/>
|
3302
|
+
</xsl:when>
|
3303
|
+
<xsl:when test="ancestor::*[local-name() = 'preface']">
|
3304
|
+
<xsl:value-of select="$level_total - 2"/>
|
3305
|
+
</xsl:when>
|
3306
|
+
<!-- <xsl:when test="parent::*[local-name() = 'sections']">
|
3307
|
+
<xsl:value-of select="$level_total - 1"/>
|
3308
|
+
</xsl:when> -->
|
3309
|
+
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
3310
|
+
<xsl:value-of select="$level_total - 1"/>
|
3311
|
+
</xsl:when>
|
3312
|
+
<xsl:when test="ancestor::*[local-name() = 'bibliography']">
|
3313
|
+
<xsl:value-of select="$level_total - 1"/>
|
3314
|
+
</xsl:when>
|
3315
|
+
<xsl:when test="parent::*[local-name() = 'annex']">
|
3316
|
+
<xsl:value-of select="$level_total - 1"/>
|
3317
|
+
</xsl:when>
|
3318
|
+
<xsl:when test="ancestor::*[local-name() = 'annex']">
|
3319
|
+
<xsl:value-of select="$level_total"/>
|
3320
|
+
</xsl:when>
|
3321
|
+
<xsl:when test="local-name() = 'annex'">1</xsl:when>
|
3322
|
+
<xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
|
3323
|
+
<xsl:otherwise>
|
3324
|
+
<xsl:value-of select="$level_total - 1"/>
|
3325
|
+
</xsl:otherwise>
|
3326
|
+
</xsl:choose>
|
3327
|
+
</xsl:variable>
|
3328
|
+
<xsl:value-of select="$level"/>
|
3329
|
+
</xsl:otherwise>
|
3330
|
+
</xsl:choose>
|
3331
|
+
</xsl:template><xsl:template name="split">
|
3332
|
+
<xsl:param name="pText" select="."/>
|
3333
|
+
<xsl:param name="sep" select="','"/>
|
3334
|
+
<xsl:if test="string-length($pText) >0">
|
3335
|
+
<item>
|
3336
|
+
<xsl:value-of select="normalize-space(substring-before(concat($pText, ','), $sep))"/>
|
3337
|
+
</item>
|
3338
|
+
<xsl:call-template name="split">
|
3339
|
+
<xsl:with-param name="pText" select="substring-after($pText, $sep)"/>
|
3340
|
+
<xsl:with-param name="sep" select="$sep"/>
|
3341
|
+
</xsl:call-template>
|
3342
|
+
</xsl:if>
|
3343
|
+
</xsl:template><xsl:template name="getDocumentId">
|
3344
|
+
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
3345
|
+
</xsl:template><xsl:template name="namespaceCheck">
|
3346
|
+
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
3347
|
+
<xsl:variable name="XSLNS">
|
3348
|
+
|
3349
|
+
|
3350
|
+
|
3351
|
+
|
3352
|
+
|
3353
|
+
|
3354
|
+
|
3355
|
+
|
3356
|
+
<xsl:value-of select="document('')//*/namespace::csa"/>
|
3357
|
+
|
3358
|
+
|
3359
|
+
|
3360
|
+
|
3361
|
+
|
3362
|
+
</xsl:variable>
|
3363
|
+
<xsl:if test="$documentNS != $XSLNS">
|
3364
|
+
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
3365
|
+
</xsl:if>
|
3366
|
+
</xsl:template><xsl:template name="getLanguage">
|
3367
|
+
<xsl:param name="lang"/>
|
3368
|
+
<xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
|
3369
|
+
<xsl:choose>
|
3370
|
+
<xsl:when test="$language = 'en'">English</xsl:when>
|
3371
|
+
<xsl:when test="$language = 'fr'">French</xsl:when>
|
3372
|
+
<xsl:when test="$language = 'de'">Deutsch</xsl:when>
|
3373
|
+
<xsl:when test="$language = 'cn'">Chinese</xsl:when>
|
3374
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
3375
|
+
</xsl:choose>
|
3376
|
+
</xsl:template><xsl:template name="setId">
|
3377
|
+
<xsl:attribute name="id">
|
3378
|
+
<xsl:choose>
|
3379
|
+
<xsl:when test="@id">
|
3380
|
+
<xsl:value-of select="@id"/>
|
3381
|
+
</xsl:when>
|
3382
|
+
<xsl:otherwise>
|
3383
|
+
<xsl:value-of select="generate-id()"/>
|
3384
|
+
</xsl:otherwise>
|
3385
|
+
</xsl:choose>
|
3386
|
+
</xsl:attribute>
|
3387
|
+
</xsl:template></xsl:stylesheet>
|