metanorma-iso 1.8.4 → 1.9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -1
- data/.rubocop.yml +1 -1
- data/lib/asciidoctor/iso/cleanup.rb +0 -1
- data/lib/asciidoctor/iso/isodoc.rng +50 -8
- data/lib/asciidoctor/iso/isostandard.rng +7 -3
- data/lib/asciidoctor/iso/section.rb +3 -0
- data/lib/asciidoctor/iso/validate.rb +4 -17
- data/lib/asciidoctor/iso/validate_section.rb +50 -34
- data/lib/asciidoctor/iso/validate_style.rb +3 -3
- data/lib/isodoc/iso/base_convert.rb +41 -16
- data/lib/isodoc/iso/html/isodoc.css +475 -20
- data/lib/isodoc/iso/html/isodoc.scss +456 -23
- data/lib/isodoc/iso/html/wordstyle.css +202 -31
- data/lib/isodoc/iso/html/wordstyle.scss +194 -32
- data/lib/isodoc/iso/iso.amendment.xsl +480 -388
- data/lib/isodoc/iso/iso.international-standard.xsl +480 -388
- data/lib/isodoc/iso/isosts_convert.rb +12 -13
- data/lib/isodoc/iso/metadata.rb +2 -2
- data/lib/isodoc/iso/presentation_xml_convert.rb +62 -9
- data/lib/isodoc/iso/sts_convert.rb +4 -5
- data/lib/isodoc/iso/word_convert.rb +153 -39
- data/lib/isodoc/iso/xref.rb +17 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +4 -4
- data/spec/asciidoctor/section_spec.rb +128 -7
- data/spec/asciidoctor/validate_spec.rb +15 -15
- data/spec/isodoc/amd_spec.rb +193 -201
- data/spec/isodoc/blocks_spec.rb +100 -88
- data/spec/isodoc/i18n_spec.rb +36 -36
- data/spec/isodoc/inline_spec.rb +472 -2
- data/spec/isodoc/iso_spec.rb +86 -138
- data/spec/isodoc/postproc_spec.rb +19 -10
- data/spec/isodoc/ref_spec.rb +6 -6
- data/spec/isodoc/section_spec.rb +394 -276
- data/spec/isodoc/table_spec.rb +166 -231
- data/spec/isodoc/terms_spec.rb +11 -8
- data/spec/isodoc/xref_spec.rb +147 -118
- metadata +8 -8
    
        data/spec/isodoc/table_spec.rb
    CHANGED
    
    | @@ -1,160 +1,13 @@ | |
| 1 1 | 
             
            require "spec_helper"
         | 
| 2 | 
            -
              
         | 
| 3 | 
            -
            RSpec.describe IsoDoc do
         | 
| 4 | 
            -
              it "processes IsoXML tables (Presentation XML)" do
         | 
| 5 | 
            -
                expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({})
         | 
| 6 | 
            -
                  .convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
         | 
| 7 | 
            -
                    <iso-standard xmlns="http://riboseinc.com/isoxml">
         | 
| 8 | 
            -
                      <preface>
         | 
| 9 | 
            -
                        <foreword>
         | 
| 10 | 
            -
                          <table alt="tool tip" id="tableD-1" summary="long desc">
         | 
| 11 | 
            -
                            <name>Repeatability and reproducibility of 
         | 
| 12 | 
            -
                              <em>husked</em>
         | 
| 13 | 
            -
                              rice yield</name>
         | 
| 14 | 
            -
                            <thead>
         | 
| 15 | 
            -
                              <tr>
         | 
| 16 | 
            -
                                <td align="left" rowspan="2">Description</td>
         | 
| 17 | 
            -
                                <td align="center" colspan="4">Rice sample</td>
         | 
| 18 | 
            -
                              </tr>
         | 
| 19 | 
            -
                              <tr>
         | 
| 20 | 
            -
                                <td align="left">Arborio</td>
         | 
| 21 | 
            -
                                <td align="center">Drago
         | 
| 22 | 
            -
                                  <fn reference="a">
         | 
| 23 | 
            -
                                    <p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
         | 
| 24 | 
            -
                                </td>
         | 
| 25 | 
            -
                                <td align="center">Balilla
         | 
| 26 | 
            -
                                  <fn reference="a">
         | 
| 27 | 
            -
                                    <p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
         | 
| 28 | 
            -
                                </td>
         | 
| 29 | 
            -
                                <td align="center">Thaibonnet</td>
         | 
| 30 | 
            -
                              </tr>
         | 
| 31 | 
            -
                            </thead>
         | 
| 32 | 
            -
                            <tbody>
         | 
| 33 | 
            -
                              <tr>
         | 
| 34 | 
            -
                                <th align="left">Number of laboratories retained after eliminating outliers</th>
         | 
| 35 | 
            -
                                <td align="center">13</td>
         | 
| 36 | 
            -
                                <td align="center">11</td>
         | 
| 37 | 
            -
                                <td align="center">13</td>
         | 
| 38 | 
            -
                                <td align="center">13</td>
         | 
| 39 | 
            -
                              </tr>
         | 
| 40 | 
            -
                              <tr>
         | 
| 41 | 
            -
                                <td align="left">Mean value, g/100 g</td>
         | 
| 42 | 
            -
                                <td align="center">81,2</td>
         | 
| 43 | 
            -
                                <td align="center">82,0</td>
         | 
| 44 | 
            -
                                <td align="center">81,8</td>
         | 
| 45 | 
            -
                                <td align="center">77,7</td>
         | 
| 46 | 
            -
                              </tr>
         | 
| 47 | 
            -
                            </tbody>
         | 
| 48 | 
            -
                            <tfoot>
         | 
| 49 | 
            -
                              <tr>
         | 
| 50 | 
            -
                                <td align="left">Reproducibility limit, 
         | 
| 51 | 
            -
                                  <stem type="AsciiMath">R</stem>
         | 
| 52 | 
            -
                                  (= 2,83 
         | 
| 53 | 
            -
                                  <stem type="AsciiMath">s_R</stem>
         | 
| 54 | 
            -
                                  )</td>
         | 
| 55 | 
            -
                                <td align="center">2,89</td>
         | 
| 56 | 
            -
                                <td align="center">0,57</td>
         | 
| 57 | 
            -
                                <td align="center">2,26</td>
         | 
| 58 | 
            -
                                <td align="center">6,06</td>
         | 
| 59 | 
            -
                              </tr>
         | 
| 60 | 
            -
                            </tfoot>
         | 
| 61 | 
            -
                            <dl>
         | 
| 62 | 
            -
                              <dt>Drago</dt>
         | 
| 63 | 
            -
                              <dd>A type of rice</dd>
         | 
| 64 | 
            -
                            </dl>
         | 
| 65 | 
            -
                            <note>
         | 
| 66 | 
            -
                              <p>This is a table about rice</p>
         | 
| 67 | 
            -
                            </note>
         | 
| 68 | 
            -
                          </table>
         | 
| 69 | 
            -
                        </foreword>
         | 
| 70 | 
            -
                      </preface>
         | 
| 71 | 
            -
                    </iso-standard>
         | 
| 72 | 
            -
                  INPUT
         | 
| 73 | 
            -
                    <?xml version='1.0'?>
         | 
| 74 | 
            -
                    <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
         | 
| 75 | 
            -
                      <preface>
         | 
| 76 | 
            -
                        <foreword>
         | 
| 77 | 
            -
                          <table id='tableD-1' alt='tool tip' summary='long desc'>
         | 
| 78 | 
            -
                            <name>
         | 
| 79 | 
            -
                              Table 1 — Repeatability and reproducibility of
         | 
| 80 | 
            -
                              <em>husked</em>
         | 
| 81 | 
            -
                               rice yield
         | 
| 82 | 
            -
                            </name>
         | 
| 83 | 
            -
                            <thead>
         | 
| 84 | 
            -
                              <tr>
         | 
| 85 | 
            -
                                <td rowspan='2' align='left'>Description</td>
         | 
| 86 | 
            -
                                <td colspan='4' align='center'>Rice sample</td>
         | 
| 87 | 
            -
                              </tr>
         | 
| 88 | 
            -
                              <tr>
         | 
| 89 | 
            -
                                <td align='left'>Arborio</td>
         | 
| 90 | 
            -
                                <td align='center'>
         | 
| 91 | 
            -
                                  Drago
         | 
| 92 | 
            -
                                  <fn reference='a'>
         | 
| 93 | 
            -
                                    <p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
         | 
| 94 | 
            -
                                  </fn>
         | 
| 95 | 
            -
                                </td>
         | 
| 96 | 
            -
                                <td align='center'>
         | 
| 97 | 
            -
                                  Balilla
         | 
| 98 | 
            -
                                  <fn reference='a'>
         | 
| 99 | 
            -
                                    <p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
         | 
| 100 | 
            -
                                  </fn>
         | 
| 101 | 
            -
                                </td>
         | 
| 102 | 
            -
                                <td align='center'>Thaibonnet</td>
         | 
| 103 | 
            -
                              </tr>
         | 
| 104 | 
            -
                            </thead>
         | 
| 105 | 
            -
                            <tbody>
         | 
| 106 | 
            -
                              <tr>
         | 
| 107 | 
            -
                                <th align='left'>Number of laboratories retained after eliminating outliers</th>
         | 
| 108 | 
            -
                                <td align='center'>13</td>
         | 
| 109 | 
            -
                                <td align='center'>11</td>
         | 
| 110 | 
            -
                                <td align='center'>13</td>
         | 
| 111 | 
            -
                                <td align='center'>13</td>
         | 
| 112 | 
            -
                              </tr>
         | 
| 113 | 
            -
                              <tr>
         | 
| 114 | 
            -
                                <td align='left'>Mean value, g/100 g</td>
         | 
| 115 | 
            -
                                <td align='center'>81,2</td>
         | 
| 116 | 
            -
                                <td align='center'>82,0</td>
         | 
| 117 | 
            -
                                <td align='center'>81,8</td>
         | 
| 118 | 
            -
                                <td align='center'>77,7</td>
         | 
| 119 | 
            -
                              </tr>
         | 
| 120 | 
            -
                            </tbody>
         | 
| 121 | 
            -
                            <tfoot>
         | 
| 122 | 
            -
                              <tr>
         | 
| 123 | 
            -
                                <td align='left'>
         | 
| 124 | 
            -
                                  Reproducibility limit,
         | 
| 125 | 
            -
                                  <stem type='AsciiMath'>R</stem>
         | 
| 126 | 
            -
                                   (= 2,83
         | 
| 127 | 
            -
                                  <stem type='AsciiMath'>s_R</stem>
         | 
| 128 | 
            -
                                  )
         | 
| 129 | 
            -
                                </td>
         | 
| 130 | 
            -
                                <td align='center'>2,89</td>
         | 
| 131 | 
            -
                                <td align='center'>0,57</td>
         | 
| 132 | 
            -
                                <td align='center'>2,26</td>
         | 
| 133 | 
            -
                                <td align='center'>6,06</td>
         | 
| 134 | 
            -
                              </tr>
         | 
| 135 | 
            -
                            </tfoot>
         | 
| 136 | 
            -
                            <dl>
         | 
| 137 | 
            -
                              <dt>Drago</dt>
         | 
| 138 | 
            -
                              <dd>A type of rice</dd>
         | 
| 139 | 
            -
                            </dl>
         | 
| 140 | 
            -
                            <note>
         | 
| 141 | 
            -
                              <name>NOTE</name>
         | 
| 142 | 
            -
                              <p>This is a table about rice</p>
         | 
| 143 | 
            -
                            </note>
         | 
| 144 | 
            -
                          </table>
         | 
| 145 | 
            -
                        </foreword>
         | 
| 146 | 
            -
                      </preface>
         | 
| 147 | 
            -
                    </iso-standard>
         | 
| 148 | 
            -
                  OUTPUT
         | 
| 149 | 
            -
              end
         | 
| 150 2 |  | 
| 151 | 
            -
             | 
| 152 | 
            -
             | 
| 3 | 
            +
            RSpec.describe IsoDoc do
         | 
| 4 | 
            +
              it "processes IsoXML tables" do
         | 
| 5 | 
            +
                input = <<~INPUT
         | 
| 153 6 | 
             
                  <iso-standard xmlns="http://riboseinc.com/isoxml">
         | 
| 154 7 | 
             
                    <preface>
         | 
| 155 8 | 
             
                      <foreword>
         | 
| 156 9 | 
             
                        <table alt="tool tip" id="tableD-1" summary="long desc">
         | 
| 157 | 
            -
                          <name> | 
| 10 | 
            +
                          <name>Repeatability and reproducibility of
         | 
| 158 11 | 
             
                            <em>husked</em>
         | 
| 159 12 | 
             
                            rice yield</name>
         | 
| 160 13 | 
             
                          <thead>
         | 
| @@ -193,9 +46,9 @@ RSpec.describe IsoDoc do | |
| 193 46 | 
             
                          </tbody>
         | 
| 194 47 | 
             
                          <tfoot>
         | 
| 195 48 | 
             
                            <tr>
         | 
| 196 | 
            -
                              <td align="left">Reproducibility limit, | 
| 49 | 
            +
                              <td align="left">Reproducibility limit,
         | 
| 197 50 | 
             
                                <stem type="AsciiMath">R</stem>
         | 
| 198 | 
            -
                                (= 2,83 | 
| 51 | 
            +
                                (= 2,83
         | 
| 199 52 | 
             
                                <stem type="AsciiMath">s_R</stem>
         | 
| 200 53 | 
             
                                )</td>
         | 
| 201 54 | 
             
                              <td align="center">2,89</td>
         | 
| @@ -209,17 +62,114 @@ RSpec.describe IsoDoc do | |
| 209 62 | 
             
                            <dd>A type of rice</dd>
         | 
| 210 63 | 
             
                          </dl>
         | 
| 211 64 | 
             
                          <note>
         | 
| 212 | 
            -
                            <name>NOTE</name>
         | 
| 213 65 | 
             
                            <p>This is a table about rice</p>
         | 
| 214 66 | 
             
                          </note>
         | 
| 215 67 | 
             
                        </table>
         | 
| 216 68 | 
             
                      </foreword>
         | 
| 217 69 | 
             
                    </preface>
         | 
| 70 | 
            +
                    <annex id="Annex"><title>Annex</title>
         | 
| 71 | 
            +
                    <table id="AnnexTable">
         | 
| 72 | 
            +
                    <name>Another table</name>
         | 
| 73 | 
            +
                    <tbody><td>?</td></tbody>
         | 
| 74 | 
            +
                    </table>
         | 
| 75 | 
            +
                    </annex>
         | 
| 218 76 | 
             
                  </iso-standard>
         | 
| 219 77 | 
             
                INPUT
         | 
| 220 | 
            -
                 | 
| 221 | 
            -
             | 
| 222 | 
            -
             | 
| 78 | 
            +
                presxml = <<~OUTPUT
         | 
| 79 | 
            +
                  <?xml version='1.0'?>
         | 
| 80 | 
            +
                  <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
         | 
| 81 | 
            +
                    <preface>
         | 
| 82 | 
            +
                      <foreword displayorder='1'>
         | 
| 83 | 
            +
                        <table id='tableD-1' alt='tool tip' summary='long desc'>
         | 
| 84 | 
            +
                          <name>
         | 
| 85 | 
            +
                            Table 1 — Repeatability and reproducibility of
         | 
| 86 | 
            +
                            <em>husked</em>
         | 
| 87 | 
            +
                             rice yield
         | 
| 88 | 
            +
                          </name>
         | 
| 89 | 
            +
                          <thead>
         | 
| 90 | 
            +
                            <tr>
         | 
| 91 | 
            +
                              <td rowspan='2' align='left'>Description</td>
         | 
| 92 | 
            +
                              <td colspan='4' align='center'>Rice sample</td>
         | 
| 93 | 
            +
                            </tr>
         | 
| 94 | 
            +
                            <tr>
         | 
| 95 | 
            +
                              <td align='left'>Arborio</td>
         | 
| 96 | 
            +
                              <td align='center'>
         | 
| 97 | 
            +
                                Drago
         | 
| 98 | 
            +
                                <fn reference='a'>
         | 
| 99 | 
            +
                                  <p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
         | 
| 100 | 
            +
                                </fn>
         | 
| 101 | 
            +
                              </td>
         | 
| 102 | 
            +
                              <td align='center'>
         | 
| 103 | 
            +
                                Balilla
         | 
| 104 | 
            +
                                <fn reference='a'>
         | 
| 105 | 
            +
                                  <p id='_0fe65e9a-5531-408e-8295-eeff35f41a55'>Parboiled rice.</p>
         | 
| 106 | 
            +
                                </fn>
         | 
| 107 | 
            +
                              </td>
         | 
| 108 | 
            +
                              <td align='center'>Thaibonnet</td>
         | 
| 109 | 
            +
                            </tr>
         | 
| 110 | 
            +
                          </thead>
         | 
| 111 | 
            +
                          <tbody>
         | 
| 112 | 
            +
                            <tr>
         | 
| 113 | 
            +
                              <th align='left'>Number of laboratories retained after eliminating outliers</th>
         | 
| 114 | 
            +
                              <td align='center'>13</td>
         | 
| 115 | 
            +
                              <td align='center'>11</td>
         | 
| 116 | 
            +
                              <td align='center'>13</td>
         | 
| 117 | 
            +
                              <td align='center'>13</td>
         | 
| 118 | 
            +
                            </tr>
         | 
| 119 | 
            +
                            <tr>
         | 
| 120 | 
            +
                              <td align='left'>Mean value, g/100 g</td>
         | 
| 121 | 
            +
                              <td align='center'>81,2</td>
         | 
| 122 | 
            +
                              <td align='center'>82,0</td>
         | 
| 123 | 
            +
                              <td align='center'>81,8</td>
         | 
| 124 | 
            +
                              <td align='center'>77,7</td>
         | 
| 125 | 
            +
                            </tr>
         | 
| 126 | 
            +
                          </tbody>
         | 
| 127 | 
            +
                          <tfoot>
         | 
| 128 | 
            +
                            <tr>
         | 
| 129 | 
            +
                              <td align='left'>
         | 
| 130 | 
            +
                                Reproducibility limit,
         | 
| 131 | 
            +
                                <stem type='AsciiMath'>R</stem>
         | 
| 132 | 
            +
                                 (= 2,83
         | 
| 133 | 
            +
                                <stem type='AsciiMath'>s_R</stem>
         | 
| 134 | 
            +
                                )
         | 
| 135 | 
            +
                              </td>
         | 
| 136 | 
            +
                              <td align='center'>2,89</td>
         | 
| 137 | 
            +
                              <td align='center'>0,57</td>
         | 
| 138 | 
            +
                              <td align='center'>2,26</td>
         | 
| 139 | 
            +
                              <td align='center'>6,06</td>
         | 
| 140 | 
            +
                            </tr>
         | 
| 141 | 
            +
                          </tfoot>
         | 
| 142 | 
            +
                          <dl>
         | 
| 143 | 
            +
                            <dt>Drago</dt>
         | 
| 144 | 
            +
                            <dd>A type of rice</dd>
         | 
| 145 | 
            +
                          </dl>
         | 
| 146 | 
            +
                          <note>
         | 
| 147 | 
            +
                            <name>NOTE</name>
         | 
| 148 | 
            +
                            <p>This is a table about rice</p>
         | 
| 149 | 
            +
                          </note>
         | 
| 150 | 
            +
                        </table>
         | 
| 151 | 
            +
                      </foreword>
         | 
| 152 | 
            +
                    </preface>
         | 
| 153 | 
            +
                    <annex id='Annex' displayorder='2'>
         | 
| 154 | 
            +
                      <title>
         | 
| 155 | 
            +
                        <strong>Annex A</strong>
         | 
| 156 | 
            +
                        <br/>
         | 
| 157 | 
            +
                        (informative)
         | 
| 158 | 
            +
                        <br/>
         | 
| 159 | 
            +
                        <br/>
         | 
| 160 | 
            +
                        <strong>Annex</strong>
         | 
| 161 | 
            +
                      </title>
         | 
| 162 | 
            +
                      <table id='AnnexTable'>
         | 
| 163 | 
            +
                        <name>Table A.1 — Another table</name>
         | 
| 164 | 
            +
                        <tbody>
         | 
| 165 | 
            +
                          <td>?</td>
         | 
| 166 | 
            +
                        </tbody>
         | 
| 167 | 
            +
                      </table>
         | 
| 168 | 
            +
                    </annex>
         | 
| 169 | 
            +
                  </iso-standard>
         | 
| 170 | 
            +
                OUTPUT
         | 
| 171 | 
            +
             | 
| 172 | 
            +
                html = <<~OUTPUT
         | 
| 223 173 | 
             
                  <main class='main-section'>
         | 
| 224 174 | 
             
                    <button onclick='topFunction()' id='myBtn' title='Go to top'>Top</button>
         | 
| 225 175 | 
             
                    <br/>
         | 
| @@ -313,81 +263,27 @@ RSpec.describe IsoDoc do | |
| 313 263 | 
             
                      </table>
         | 
| 314 264 | 
             
                    </div>
         | 
| 315 265 | 
             
                    <p class='zzSTDTitle1'/>
         | 
| 266 | 
            +
                    <br/>
         | 
| 267 | 
            +
                    <div id='Annex' class='Section3'>
         | 
| 268 | 
            +
                      <h1 class='Annex' id='toc1'>
         | 
| 269 | 
            +
                        <b>Annex A</b>
         | 
| 270 | 
            +
                        <br/>
         | 
| 271 | 
            +
                         (informative)
         | 
| 272 | 
            +
                        <br/>
         | 
| 273 | 
            +
                        <br/>
         | 
| 274 | 
            +
                        <b>Annex</b>
         | 
| 275 | 
            +
                      </h1>
         | 
| 276 | 
            +
                      <p class='TableTitle' style='text-align:center;'>Table A.1 — Another table</p>
         | 
| 277 | 
            +
                      <table id='AnnexTable' class='MsoISOTable' style='border-width:1px;border-spacing:0;'>
         | 
| 278 | 
            +
                        <tbody>
         | 
| 279 | 
            +
                          <tr/>
         | 
| 280 | 
            +
                        </tbody>
         | 
| 281 | 
            +
                      </table>
         | 
| 282 | 
            +
                    </div>
         | 
| 316 283 | 
             
                  </main>
         | 
| 317 284 | 
             
                OUTPUT
         | 
| 318 | 
            -
              end
         | 
| 319 | 
            -
             | 
| 320 | 
            -
              it "processes IsoXML tables (Word)" do
         | 
| 321 | 
            -
                IsoDoc::Iso::WordConvert.new({}).convert("test", <<~"INPUT", false)
         | 
| 322 | 
            -
                  <iso-standard xmlns="http://riboseinc.com/isoxml">
         | 
| 323 | 
            -
                    <preface>
         | 
| 324 | 
            -
                      <foreword>
         | 
| 325 | 
            -
                        <table alt="tool tip" id="tableD-1" summary="long desc">
         | 
| 326 | 
            -
                          <name>Table 1 — Repeatability and reproducibility of <em>husked</em> rice yield</name>
         | 
| 327 | 
            -
                          <thead>
         | 
| 328 | 
            -
                            <tr>
         | 
| 329 | 
            -
                              <td align="left" rowspan="2">Description</td>
         | 
| 330 | 
            -
                              <td align="center" colspan="4">Rice sample</td>
         | 
| 331 | 
            -
                            </tr>
         | 
| 332 | 
            -
                            <tr>
         | 
| 333 | 
            -
                              <td align="left">Arborio</td>
         | 
| 334 | 
            -
                              <td align="center">Drago
         | 
| 335 | 
            -
                                <fn reference="a">
         | 
| 336 | 
            -
                                  <p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
         | 
| 337 | 
            -
                              </td>
         | 
| 338 | 
            -
                              <td align="center">Balilla
         | 
| 339 | 
            -
                                <fn reference="a">
         | 
| 340 | 
            -
                                  <p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p></fn>
         | 
| 341 | 
            -
                              </td>
         | 
| 342 | 
            -
                              <td align="center">Thaibonnet</td>
         | 
| 343 | 
            -
                            </tr>
         | 
| 344 | 
            -
                          </thead>
         | 
| 345 | 
            -
                          <tbody>
         | 
| 346 | 
            -
                            <tr>
         | 
| 347 | 
            -
                              <th align="left">Number of laboratories retained after eliminating outliers</th>
         | 
| 348 | 
            -
                              <td align="center">13</td>
         | 
| 349 | 
            -
                              <td align="center">11</td>
         | 
| 350 | 
            -
                              <td align="center">13</td>
         | 
| 351 | 
            -
                              <td align="center">13</td>
         | 
| 352 | 
            -
                            </tr>
         | 
| 353 | 
            -
                            <tr>
         | 
| 354 | 
            -
                              <td align="left">Mean value, g/100 g</td>
         | 
| 355 | 
            -
                              <td align="center">81,2</td>
         | 
| 356 | 
            -
                              <td align="center">82,0</td>
         | 
| 357 | 
            -
                              <td align="center">81,8</td>
         | 
| 358 | 
            -
                              <td align="center">77,7</td>
         | 
| 359 | 
            -
                            </tr>
         | 
| 360 | 
            -
                          </tbody>
         | 
| 361 | 
            -
                          <tfoot>
         | 
| 362 | 
            -
                            <tr>
         | 
| 363 | 
            -
                              <td align="left">Reproducibility limit, 
         | 
| 364 | 
            -
                                <stem type="AsciiMath">R</stem>
         | 
| 365 | 
            -
                                (= 2,83 
         | 
| 366 | 
            -
                                <stem type="AsciiMath">s_R</stem>
         | 
| 367 | 
            -
                                )</td>
         | 
| 368 | 
            -
                              <td align="center">2,89</td>
         | 
| 369 | 
            -
                              <td align="center">0,57</td>
         | 
| 370 | 
            -
                              <td align="center">2,26</td>
         | 
| 371 | 
            -
                              <td align="center">6,06</td>
         | 
| 372 | 
            -
                            </tr>
         | 
| 373 | 
            -
                          </tfoot>
         | 
| 374 | 
            -
                          <dl>
         | 
| 375 | 
            -
                            <dt>Drago</dt>
         | 
| 376 | 
            -
                            <dd>A type of rice</dd>
         | 
| 377 | 
            -
                          </dl>
         | 
| 378 | 
            -
                          <note>
         | 
| 379 | 
            -
                            <name>NOTE</name>
         | 
| 380 | 
            -
                            <p>This is a table about rice</p>
         | 
| 381 | 
            -
                          </note>
         | 
| 382 | 
            -
                        </table>
         | 
| 383 | 
            -
                      </foreword>
         | 
| 384 | 
            -
                    </preface>
         | 
| 385 | 
            -
                  </iso-standard>
         | 
| 386 | 
            -
                INPUT
         | 
| 387 285 |  | 
| 388 | 
            -
                 | 
| 389 | 
            -
                html = File.read("test.doc").sub(/^.+?<table /m, '<table xmlns:m="m" ').sub(%r{</div>\s*<p class="MsoNormal">.*$}m, "")
         | 
| 390 | 
            -
                expect(xmlpp("<div>#{html}")).to be_equivalent_to xmlpp(<<~"OUTPUT")
         | 
| 286 | 
            +
                doc = <<~OUTPUT
         | 
| 391 287 | 
             
                  <div>
         | 
| 392 288 | 
             
                    <table class="MsoISOTable" style="mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;" summary="long desc" title="tool tip" xmlns:m="m">
         | 
| 393 289 | 
             
                      <a id="tableD-1" name="tableD-1"/>
         | 
| @@ -423,13 +319,13 @@ RSpec.describe IsoDoc do | |
| 423 319 | 
             
                      </tbody>
         | 
| 424 320 | 
             
                      <tfoot>
         | 
| 425 321 | 
             
                        <tr>
         | 
| 426 | 
            -
                          <td align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:0pt;mso-border-bottom-alt:0pt;">Reproducibility limit, | 
| 322 | 
            +
                          <td align="left" style="border-top:solid windowtext 1.5pt;mso-border-top-alt:solid windowtext 1.5pt;border-bottom:0pt;mso-border-bottom-alt:0pt;">Reproducibility limit,
         | 
| 427 323 | 
             
                            <span class="stem">
         | 
| 428 324 | 
             
                              <m:oMath>
         | 
| 429 325 | 
             
                                <m:r>
         | 
| 430 326 | 
             
                                  <m:t>R</m:t></m:r>
         | 
| 431 327 | 
             
                              </m:oMath>
         | 
| 432 | 
            -
                            </span>(= 2,83 | 
| 328 | 
            +
                            </span>(= 2,83
         | 
| 433 329 | 
             
                            <span class="stem">
         | 
| 434 330 | 
             
                              <m:oMath>
         | 
| 435 331 | 
             
                                <m:sSub>
         | 
| @@ -483,5 +379,44 @@ RSpec.describe IsoDoc do | |
| 483 379 | 
             
                    </table>
         | 
| 484 380 | 
             
                  </div>
         | 
| 485 381 | 
             
                OUTPUT
         | 
| 382 | 
            +
                doc2 = <<~OUTPUT
         | 
| 383 | 
            +
                  <div class='Section3'>
         | 
| 384 | 
            +
                    <a name='Annex' id='Annex'/>
         | 
| 385 | 
            +
                    <p class='ANNEX'>
         | 
| 386 | 
            +
                      <br/>
         | 
| 387 | 
            +
                       (informative)
         | 
| 388 | 
            +
                      <br/>
         | 
| 389 | 
            +
                      <br/>
         | 
| 390 | 
            +
                      <b>Annex</b>
         | 
| 391 | 
            +
                    </p>
         | 
| 392 | 
            +
                    <p class='AnnexTableTitle' style='text-align:center;'>Table A.1 — Another table</p>
         | 
| 393 | 
            +
                    <div align='center' class='table_container'>
         | 
| 394 | 
            +
                      <table class='MsoISOTable' style='mso-table-anchor-horizontal:column;mso-table-overlap:never;border-spacing:0;border-width:1px;'>
         | 
| 395 | 
            +
                        <a name='AnnexTable' id='AnnexTable'/>
         | 
| 396 | 
            +
                        <tbody>
         | 
| 397 | 
            +
                          <tr/>
         | 
| 398 | 
            +
                        </tbody>
         | 
| 399 | 
            +
                      </table>
         | 
| 400 | 
            +
                    </div>
         | 
| 401 | 
            +
                  </div>
         | 
| 402 | 
            +
                OUTPUT
         | 
| 403 | 
            +
                expect(xmlpp(IsoDoc::Iso::PresentationXMLConvert.new({})
         | 
| 404 | 
            +
                  .convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
         | 
| 405 | 
            +
                IsoDoc::Iso::HtmlConvert.new({}).convert("test", presxml, false)
         | 
| 406 | 
            +
                expect(File.exist?("test.html")).to be true
         | 
| 407 | 
            +
                out = File.read("test.html")
         | 
| 408 | 
            +
                  .sub(/^.*<main /m, "<main ")
         | 
| 409 | 
            +
                  .sub(%r{</main>.*$}m, "</main>")
         | 
| 410 | 
            +
                expect(xmlpp(out)).to be_equivalent_to xmlpp(html)
         | 
| 411 | 
            +
                IsoDoc::Iso::WordConvert.new({}).convert("test", presxml, false)
         | 
| 412 | 
            +
                expect(File.exist?("test.doc")).to be true
         | 
| 413 | 
            +
                out = File.read("test.doc")
         | 
| 414 | 
            +
                  .sub(/^.+?<table /m, '<table xmlns:m="m" ')
         | 
| 415 | 
            +
                  .sub(%r{</div>\s*<p class="MsoNormal">.*$}m, "")
         | 
| 416 | 
            +
                expect(xmlpp("<div>#{out}")).to be_equivalent_to xmlpp(doc)
         | 
| 417 | 
            +
                out = File.read("test.doc")
         | 
| 418 | 
            +
                  .sub(/^.+?<div class="Section3"/m, '<div class="Section3"')
         | 
| 419 | 
            +
                  .sub(%r{</div>\s*<br[^>]+>\s*<div class="colophon".*$}m, "")
         | 
| 420 | 
            +
                expect(xmlpp(out)).to be_equivalent_to xmlpp(doc2)
         | 
| 486 421 | 
             
              end
         | 
| 487 422 | 
             
            end
         |