isodoc 1.0.26 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +12 -8
  3. data/.github/workflows/ubuntu.yml +26 -16
  4. data/.github/workflows/windows.yml +12 -8
  5. data/isodoc.gemspec +2 -2
  6. data/lib/isodoc.rb +2 -0
  7. data/lib/isodoc/common.rb +0 -4
  8. data/lib/isodoc/convert.rb +18 -8
  9. data/lib/isodoc/function/blocks.rb +43 -54
  10. data/lib/isodoc/function/blocks_example_note.rb +108 -0
  11. data/lib/isodoc/function/cleanup.rb +14 -2
  12. data/lib/isodoc/function/i18n.rb +1 -0
  13. data/lib/isodoc/function/inline.rb +76 -82
  14. data/lib/isodoc/function/inline_simple.rb +72 -0
  15. data/lib/isodoc/function/lists.rb +12 -6
  16. data/lib/isodoc/function/references.rb +65 -57
  17. data/lib/isodoc/function/reqt.rb +14 -5
  18. data/lib/isodoc/function/section.rb +8 -11
  19. data/lib/isodoc/function/table.rb +4 -5
  20. data/lib/isodoc/function/terms.rb +3 -3
  21. data/lib/isodoc/function/to_word_html.rb +22 -13
  22. data/lib/isodoc/function/utils.rb +9 -3
  23. data/lib/isodoc/headlesshtml_convert.rb +7 -6
  24. data/lib/isodoc/html_convert.rb +2 -1
  25. data/lib/isodoc/html_function/footnotes.rb +1 -1
  26. data/lib/isodoc/html_function/html.rb +16 -1
  27. data/lib/isodoc/html_function/postprocess.rb +6 -5
  28. data/lib/isodoc/metadata.rb +6 -0
  29. data/lib/isodoc/pdf_convert.rb +8 -6
  30. data/lib/isodoc/presentation_xml_convert.rb +29 -0
  31. data/lib/isodoc/version.rb +1 -1
  32. data/lib/isodoc/word_convert.rb +2 -1
  33. data/lib/isodoc/word_function/body.rb +14 -48
  34. data/lib/isodoc/word_function/footnotes.rb +1 -1
  35. data/lib/isodoc/word_function/inline.rb +75 -0
  36. data/lib/isodoc/word_function/postprocess.rb +1 -0
  37. data/lib/isodoc/word_function/table.rb +3 -3
  38. data/lib/isodoc/xref.rb +59 -0
  39. data/lib/isodoc/{function → xref}/xref_anchor.rb +10 -21
  40. data/lib/isodoc/xref/xref_counter.rb +74 -0
  41. data/lib/isodoc/{function → xref}/xref_gen.rb +9 -22
  42. data/lib/isodoc/{function → xref}/xref_gen_seq.rb +41 -32
  43. data/lib/isodoc/{function → xref}/xref_sect_gen.rb +33 -23
  44. data/lib/isodoc/xslfo_convert.rb +16 -4
  45. data/spec/assets/i18n.yaml +4 -1
  46. data/spec/assets/odf.emf +0 -0
  47. data/spec/assets/odf.svg +4 -0
  48. data/spec/assets/odf1.svg +4 -0
  49. data/spec/isodoc/blocks_spec.rb +240 -59
  50. data/spec/isodoc/cleanup_spec.rb +139 -17
  51. data/spec/isodoc/footnotes_spec.rb +20 -5
  52. data/spec/isodoc/inline_spec.rb +296 -1
  53. data/spec/isodoc/lists_spec.rb +8 -8
  54. data/spec/isodoc/metadata_spec.rb +110 -3
  55. data/spec/isodoc/postproc_spec.rb +10 -14
  56. data/spec/isodoc/presentation_xml_spec.rb +20 -0
  57. data/spec/isodoc/ref_spec.rb +119 -50
  58. data/spec/isodoc/section_spec.rb +84 -18
  59. data/spec/isodoc/table_spec.rb +28 -28
  60. data/spec/isodoc/terms_spec.rb +7 -7
  61. data/spec/isodoc/xref_spec.rb +177 -57
  62. metadata +24 -17
  63. data/lib/isodoc/function/blocks_example.rb +0 -53
  64. data/lib/isodoc/function/xref_counter.rb +0 -50
@@ -70,6 +70,8 @@ RSpec.describe IsoDoc do
70
70
  <title>Acknowledgements</title>
71
71
  </acknowledgements>
72
72
  </preface><sections>
73
+ <note id="NN1"><p>Initial note</p></note>
74
+ <admonition id="NN2" type="warning"><p>Initial admonition</p></admonition>
73
75
  <clause id="D" obligation="normative">
74
76
  <title>Scope</title>
75
77
  <p id="E">Text</p>
@@ -181,6 +183,16 @@ RSpec.describe IsoDoc do
181
183
  <h1 class='IntroTitle'>Acknowledgements</h1>
182
184
  </div>
183
185
  <p class="zzSTDTitle1"/>
186
+ <div id='NN1' class='Note'>
187
+ <p>
188
+ <span class='note_label'>NOTE</span>
189
+ &#160; Initial note
190
+ </p>
191
+ </div>
192
+ <div id='NN2' class='Admonition'>
193
+ <p class='AdmonitionTitle' style='text-align:center;'>WARNING</p>
194
+ <p>Initial admonition</p>
195
+ </div>
184
196
  <div id="D">
185
197
  <h1>1.&#160; Scope</h1>
186
198
  <p id="E">Text</p>
@@ -609,7 +621,7 @@ OUTPUT
609
621
  <div>
610
622
  <h1>
611
623
  Copyright
612
- <a rel='footnote' href='#fn:1' epub:type='footnote'>
624
+ <a class='FootnoteRef' href='#fn:1'>
613
625
  <sup>1</sup>
614
626
  </a>
615
627
  </h1>
@@ -619,7 +631,7 @@ OUTPUT
619
631
  <div>
620
632
  <h1>
621
633
  License
622
- <a rel='footnote' href='#fn:2' epub:type='footnote'>
634
+ <a class='FootnoteRef' href='#fn:2'>
623
635
  <sup>2</sup>
624
636
  </a>
625
637
  </h1>
@@ -629,7 +641,7 @@ OUTPUT
629
641
  <div>
630
642
  <h1>
631
643
  Legal
632
- <a rel='footnote' href='#fn:3' epub:type='footnote'>
644
+ <a class='FootnoteRef' href='#fn:3'>
633
645
  <sup>3</sup>
634
646
  </a>
635
647
  </h1>
@@ -639,7 +651,7 @@ OUTPUT
639
651
  <div>
640
652
  <h1>
641
653
  Feedback
642
- <a rel='footnote' href='#fn:4' epub:type='footnote'>
654
+ <a class='FootnoteRef' href='#fn:4'>
643
655
  <sup>4</sup>
644
656
  </a>
645
657
  </h1>
@@ -661,7 +673,7 @@ OUTPUT
661
673
  <div id='C'>
662
674
  <h2>
663
675
  Introduction Subsection
664
- <a rel='footnote' href='#fn:8' epub:type='footnote'>
676
+ <a class='FootnoteRef' href='#fn:8'>
665
677
  <sup>8</sup>
666
678
  </a>
667
679
  </h2>
@@ -674,14 +686,14 @@ OUTPUT
674
686
  <div id='H'>
675
687
  <h1>
676
688
  2.&#160; Terms, Definitions, Symbols and Abbreviated Terms
677
- <a rel='footnote' href='#fn:10' epub:type='footnote'>
689
+ <a class='FootnoteRef' href='#fn:10'>
678
690
  <sup>10</sup>
679
691
  </a>
680
692
  </h1>
681
693
  <div id='I'>
682
694
  <h2>
683
695
  2.1.&#160; Normal Terms
684
- <a rel='footnote' href='#fn:11' epub:type='footnote'>
696
+ <a class='FootnoteRef' href='#fn:11'>
685
697
  <sup>11</sup>
686
698
  </a>
687
699
  </h2>
@@ -691,7 +703,7 @@ OUTPUT
691
703
  <div id='K'>
692
704
  <h2>
693
705
  2.2.&#160; Definitions
694
- <a rel='footnote' href='#fn:12' epub:type='footnote'>
706
+ <a class='FootnoteRef' href='#fn:12'>
695
707
  <sup>12</sup>
696
708
  </a>
697
709
  </h2>
@@ -715,7 +727,7 @@ OUTPUT
715
727
  <div id='D'>
716
728
  <h1>
717
729
  4.&#160; Scope
718
- <a rel='footnote' href='#fn:9' epub:type='footnote'>
730
+ <a class='FootnoteRef' href='#fn:9'>
719
731
  <sup>9</sup>
720
732
  </a>
721
733
  </h1>
@@ -724,14 +736,14 @@ OUTPUT
724
736
  <div id='M'>
725
737
  <h1>
726
738
  5.&#160; Clause 4
727
- <a rel='footnote' href='#fn:13' epub:type='footnote'>
739
+ <a class='FootnoteRef' href='#fn:13'>
728
740
  <sup>13</sup>
729
741
  </a>
730
742
  </h1>
731
743
  <div id='N'>
732
744
  <h2>
733
745
  5.1.&#160; Introduction
734
- <a rel='footnote' href='#fn:1' epub:type='footnote'>
746
+ <a class='FootnoteRef' href='#fn:1'>
735
747
  <sup>1</sup>
736
748
  </a>
737
749
  </h2>
@@ -739,7 +751,7 @@ OUTPUT
739
751
  <div id='O'>
740
752
  <h2>
741
753
  5.2.&#160; Clause 4.2
742
- <a rel='footnote' href='#fn:14' epub:type='footnote'>
754
+ <a class='FootnoteRef' href='#fn:14'>
743
755
  <sup>14</sup>
744
756
  </a>
745
757
  </h2>
@@ -758,7 +770,7 @@ OUTPUT
758
770
  <br/>
759
771
  <b>
760
772
  Annex
761
- <a rel='footnote' href='#fn:15' epub:type='footnote'>
773
+ <a class='FootnoteRef' href='#fn:15'>
762
774
  <sup>15</sup>
763
775
  </a>
764
776
  </b>
@@ -766,14 +778,14 @@ OUTPUT
766
778
  <div id='Q'>
767
779
  <h2>
768
780
  A.1.&#160; Annex A.1
769
- <a rel='footnote' href='#fn:16' epub:type='footnote'>
781
+ <a class='FootnoteRef' href='#fn:16'>
770
782
  <sup>16</sup>
771
783
  </a>
772
784
  </h2>
773
785
  <div id='Q1'>
774
786
  <h3>
775
787
  A.1.1.&#160; Annex A.1a
776
- <a rel='footnote' href='#fn:17' epub:type='footnote'>
788
+ <a class='FootnoteRef' href='#fn:17'>
777
789
  <sup>17</sup>
778
790
  </a>
779
791
  </h3>
@@ -781,7 +793,7 @@ OUTPUT
781
793
  <div>
782
794
  <h3>
783
795
  A.1.2.&#160; Annex Bibliography
784
- <a rel='footnote' href='#fn:18' epub:type='footnote'>
796
+ <a class='FootnoteRef' href='#fn:18'>
785
797
  <sup>18</sup>
786
798
  </a>
787
799
  </h3>
@@ -999,6 +1011,7 @@ OUTPUT
999
1011
  </clause>
1000
1012
  <clause id="O" inline-header="true" obligation="normative">
1001
1013
  <title>Clause 4.2</title>
1014
+ <p>ABC</p>
1002
1015
  </clause></clause>
1003
1016
 
1004
1017
  </sections>
@@ -1012,7 +1025,8 @@ OUTPUT
1012
1025
  <h2>1.1.&#160; Introduction</h2>
1013
1026
  </div>
1014
1027
  <div id="O">
1015
- <span class="zzMoveToFollowing"><b>1.2.&#160; Clause 4.2 </b></span>
1028
+ <span class="zzMoveToFollowing"><b>1.2.&#160; Clause 4.2&#160; </b></span>
1029
+ <p>ABC</p>
1016
1030
  </div>
1017
1031
  </div>
1018
1032
  </div>
@@ -1043,7 +1057,7 @@ OUTPUT
1043
1057
  <h2>Introduction</h2>
1044
1058
  </div>
1045
1059
  <div id="O">
1046
- <span class="zzMoveToFollowing"><b>Clause 4.2 </b></span>
1060
+ <span class="zzMoveToFollowing"><b>Clause 4.2&#160; </b></span>
1047
1061
  </div>
1048
1062
  </div>
1049
1063
  </div>
@@ -1095,5 +1109,57 @@ OUTPUT
1095
1109
  OUTPUT
1096
1110
  end
1097
1111
 
1112
+ it "processes clauses containing normative references" do
1113
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1114
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
1115
+ <bibliography>
1116
+ <clause id="D" obligation="informative">
1117
+ <title>Bibliography</title>
1118
+ <references id="E" obligation="informative" normative="false">
1119
+ <title>Bibliography Subsection 1</title>
1120
+ </references>
1121
+ <references id="F" obligation="informative" normative="false">
1122
+ <title>Bibliography Subsection 2</title>
1123
+ </references>
1124
+ </clause>
1125
+ <clause id="A" obligation="informative"><title>First References</title>
1126
+ <references id="B" obligation="informative" normative="true">
1127
+ <title>Normative References 1</title>
1128
+ </references>
1129
+ <references id="C" obligation="informative" normative="false">
1130
+ <title>Normative References 2</title>
1131
+ </references>
1132
+ </clause>
1133
+
1134
+ </bibliography>
1135
+ INPUT
1136
+ #{HTML_HDR}
1137
+ <p class='zzSTDTitle1'/>
1138
+ <div>
1139
+ <h1>1.&#160; Normative references</h1>
1140
+ <div>
1141
+ <h2>1.1.&#160; Normative References 1</h2>
1142
+ </div>
1143
+ <div>
1144
+ <h2>1.2.&#160; Normative References 2</h2>
1145
+ </div>
1146
+ </div>
1147
+ <br/>
1148
+ <div>
1149
+ <h1 class='Section3'>Bibliography</h1>
1150
+ <div>
1151
+ <h2 class='Section3'>Bibliography Subsection 1</h2>
1152
+ </div>
1153
+ <div>
1154
+ <h2 class='Section3'>Bibliography Subsection 2</h2>
1155
+ </div>
1156
+ </div>
1157
+ </div>
1158
+ </body>
1159
+ </html>
1160
+
1161
+ OUTPUT
1162
+ end
1163
+
1098
1164
 
1099
1165
  end
@@ -6,7 +6,7 @@ RSpec.describe IsoDoc do
6
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
7
7
  <preface>
8
8
  <foreword>
9
- <table id="tableD-1" alt="tool tip" summary="long desc" width="70%">
9
+ <table id="tableD-1" alt="tool tip" summary="long desc" width="70%" keep-with-next="true" keep-lines-together="true">
10
10
  <name>Repeatability and reproducibility of <em>husked</em> rice yield<fn reference="1"><p>X</p></fn></name>
11
11
  <thead>
12
12
  <tr>
@@ -68,51 +68,51 @@ RSpec.describe IsoDoc do
68
68
  <div>
69
69
  <h1 class="ForewordTitle">Foreword</h1>
70
70
  <p class="TableTitle" style="text-align:center;">Table 1&#160;&#8212; Repeatability and reproducibility of <i>husked</i> rice yield
71
- <a rel='footnote' href='#fn:1' epub:type='footnote'>
71
+ <a class='FootnoteRef' href='#fn:1'>
72
72
  <sup>1</sup>
73
73
  </a>
74
74
  </p>
75
- <table id="tableD-1" class="MsoISOTable" style="border-width:1px;border-spacing:0;width:70%;" title="tool tip">
75
+ <table id="tableD-1" class="MsoISOTable" style="border-width:1px;border-spacing:0;width:70%;page-break-after: avoid;page-break-inside: avoid;" title="tool tip" >
76
76
  <caption>
77
77
  <span style="display:none">long desc</span>
78
78
  </caption>
79
79
  <thead>
80
80
  <tr>
81
- <td rowspan="2" style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;" scope="col">Description</td>
82
- <td colspan="4" style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;padding:0;" scope="colgroup">Rice sample</td>
81
+ <td rowspan="2" style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;" scope="col">Description</td>
82
+ <td colspan="4" style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;" scope="colgroup">Rice sample</td>
83
83
  </tr>
84
84
  <tr>
85
- <td style="text-align:left;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;" scope="col">Arborio</td>
86
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;" scope="col">Drago<a href="#tableD-1a" class="TableFootnoteRef">a</a><aside class="footnote"><div id="fn:tableD-1a"><span><span id="tableD-1a" class="TableFootnoteRef">a</span>&#160; </span>
85
+ <td style="text-align:left;border-top:none;border-bottom:solid windowtext 1.5pt;" scope="col">Arborio</td>
86
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;" scope="col">Drago<a href="#tableD-1a" class="TableFootnoteRef">a</a><aside class="footnote"><div id="fn:tableD-1a"><span><span id="tableD-1a" class="TableFootnoteRef">a</span>&#160; </span>
87
87
  <p id="_0fe65e9a-5531-408e-8295-eeff35f41a55">Parboiled rice.</p>
88
88
  </div></aside></td>
89
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;" scope="col">Balilla<a href="#tableD-1a" class="TableFootnoteRef">a</a></td>
90
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;" scope="col">Thaibonnet</td>
89
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;" scope="col">Balilla<a href="#tableD-1a" class="TableFootnoteRef">a</a></td>
90
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;" scope="col">Thaibonnet</td>
91
91
  </tr>
92
92
  </thead>
93
93
  <tbody>
94
94
  <tr>
95
- <th style="font-weight:bold;text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;padding:0;" scope="row">Number of laboratories retained after eliminating outliers</th>
96
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;padding:0;">13</td>
97
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;padding:0;">11</td>
98
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;padding:0;">13</td>
99
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;padding:0;">13</td>
95
+ <th style="font-weight:bold;text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;" scope="row">Number of laboratories retained after eliminating outliers</th>
96
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;">13</td>
97
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;">11</td>
98
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;">13</td>
99
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.0pt;">13</td>
100
100
  </tr>
101
101
  <tr>
102
- <td style="text-align:left;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;">Mean value, g/100 g</td>
103
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;">81,2</td>
104
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;">82,0</td>
105
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;">81,8</td>
106
- <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;padding:0;">77,7</td>
102
+ <td style="text-align:left;border-top:none;border-bottom:solid windowtext 1.5pt;">Mean value, g/100 g</td>
103
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;">81,2</td>
104
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;">82,0</td>
105
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;">81,8</td>
106
+ <td style="text-align:center;border-top:none;border-bottom:solid windowtext 1.5pt;">77,7</td>
107
107
  </tr>
108
108
  </tbody>
109
109
  <tfoot>
110
110
  <tr>
111
- <td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Reproducibility limit, <span class="stem">(#(R)#)</span> (= 2,83 <span class="stem">(#(s_R)#)</span>)</td>
112
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">2,89</td>
113
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">0,57</td>
114
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">2,26</td>
115
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">6,06</td>
111
+ <td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Reproducibility limit, <span class="stem">(#(R)#)</span> (= 2,83 <span class="stem">(#(s_R)#)</span>)</td>
112
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">2,89</td>
113
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">0,57</td>
114
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">2,26</td>
115
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">6,06</td>
116
116
  </tr>
117
117
  </tfoot>
118
118
  <dl>
@@ -121,14 +121,14 @@ RSpec.describe IsoDoc do
121
121
  </dt>
122
122
  <dd>A type of rice</dd>
123
123
  </dl>
124
- <div id="" class="Note">
124
+ <div class="Note">
125
125
  <p><span class="note_label">NOTE</span>&#160; This is a table about rice</p>
126
126
  </div>
127
127
  </table>
128
128
  <table id="tableD-2" class="MsoISOTable" style="border-width:1px;border-spacing:0;">
129
129
  <tbody>
130
130
  <tr>
131
- <td style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">A</td>
131
+ <td style="border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">A</td>
132
132
  </tr>
133
133
  </tbody>
134
134
  </table>
@@ -227,7 +227,7 @@ RSpec.describe IsoDoc do
227
227
  </div>
228
228
  <p class="TableTitle" style="text-align:center;">Table 2&#160;&#8212; Repeatability and reproducibility of husked rice yield
229
229
  <span style='mso-bookmark:_Ref'>
230
- <a href='#ftn1' epub:type='footnote'>
230
+ <a href='#ftn1' epub:type='footnote' class='FootnoteRef'>
231
231
  <sup>1</sup>
232
232
  </a>
233
233
  </span>
@@ -281,7 +281,7 @@ RSpec.describe IsoDoc do
281
281
  <td valign="top">A type of rice</td>
282
282
  </tr>
283
283
  </table>
284
- <div id="" class="Note">
284
+ <div class="Note">
285
285
  <p class="Note"><span class="note_label">NOTE</span><span style="mso-tab-count:1">&#160; </span>This is a table about rice</p>
286
286
  </div>
287
287
  </table>
@@ -11,7 +11,7 @@ RSpec.describe IsoDoc do
11
11
  <term id="paddy1"><preferred>paddy</preferred>
12
12
  <domain>rice</domain>
13
13
  <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
14
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
14
+ <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" keep-with-next="true" keep-lines-together="true">
15
15
  <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
16
16
  <ul>
17
17
  <li>A</li>
@@ -58,7 +58,7 @@ RSpec.describe IsoDoc do
58
58
  <li>A</li>
59
59
  </ul>
60
60
  </termexample>
61
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e">
61
+ <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e" keep-with-next="true" keep-lines-together="true">
62
62
  <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p>
63
63
  </termnote>
64
64
  <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74f">
@@ -79,7 +79,7 @@ RSpec.describe IsoDoc do
79
79
  <p class="TermNum" id="paddy1">1.1.</p><p class="Terms" style="text-align:left;">paddy</p>
80
80
 
81
81
  <p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">&lt;rice&gt; rice retaining its husk after threshing</p>
82
- <div id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example"><p class="example-title">EXAMPLE 1</p>
82
+ <div id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example" style='page-break-after: avoid;page-break-inside: avoid;'><p class="example-title">EXAMPLE 1</p>
83
83
  <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
84
84
  <ul>
85
85
  <li>A</li>
@@ -106,8 +106,8 @@ RSpec.describe IsoDoc do
106
106
  <li>A</li>
107
107
  </ul>
108
108
  </div>
109
- <div class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
110
- <div class="Note"><p>Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
109
+ <div class="Note" id='_671a1994-4783-40d0-bc81-987d06ffb74e' style='page-break-after: avoid;page-break-inside: avoid;'><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
110
+ <div class="Note" id='_671a1994-4783-40d0-bc81-987d06ffb74f'><p>Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
111
111
  <p>[TERMREF]
112
112
  <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
113
113
  [/TERMREF]</p></div>
@@ -222,8 +222,8 @@ OUTPUT
222
222
  <li>A</li>
223
223
  </ul>
224
224
  </div>
225
- <div class="Note"><p class="Note">Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
226
- <div class="Note"><p class="Note">Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
225
+ <div id='_671a1994-4783-40d0-bc81-987d06ffb74e' class="Note"><p class="Note">Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
226
+ <div id='_671a1994-4783-40d0-bc81-987d06ffb74f' class="Note"><p class="Note">Note 2 to entry: <ul><li>A</li></ul><p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></p></div>
227
227
  <p>[TERMREF]
228
228
  <a href="#ISO7301">ISO 7301:2011, Clause 3.1</a>
229
229
  [/TERMREF]</p></div>
@@ -768,15 +768,15 @@ RSpec.describe IsoDoc do
768
768
  <br/>
769
769
  <div class="Section3" id="intro">
770
770
  <h1 class="IntroTitle">Introduction</h1>
771
- <div id="N1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div>
771
+ <div id="N1"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (1)</p></div></div>
772
772
  <div id="xyz"><h2>Preparatory</h2>
773
- <div id="N2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div>
773
+ <div id="N2"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div></div>
774
774
  </div>
775
775
  </div>
776
776
  <p class="zzSTDTitle1"/>
777
777
  <div id="scope">
778
778
  <h1>1.&#160; Scope</h1>
779
- <div id="N" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (2)</p></div>
779
+ <div id="N"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (2)</p></div></div>
780
780
  <p>
781
781
  <a href="#N">Formula (2)</a>
782
782
  </p>
@@ -786,8 +786,8 @@ RSpec.describe IsoDoc do
786
786
  <div id="widgets">
787
787
  <h1>3.&#160; Widgets</h1>
788
788
  <div id="widgets1"><h2>3.1.&#160;</h2>
789
- <div id="note1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (3)</p></div>
790
- <div id="note2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (4)</p></div>
789
+ <div id="note1"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (3)</p></div></div>
790
+ <div id="note2"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (4)</p></div></div>
791
791
  <p> <a href="#note1">Formula (3)</a> <a href="#note2">Formula (4)</a> </p>
792
792
  </div>
793
793
  </div>
@@ -802,11 +802,11 @@ RSpec.describe IsoDoc do
802
802
  <b/>
803
803
  </h1>
804
804
  <div id="annex1a"><h2>A.1.&#160;</h2>
805
- <div id="AN" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.1)</p></div>
805
+ <div id="AN"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.1)</p></div></div>
806
806
  </div>
807
807
  <div id="annex1b"><h2>A.2.&#160;</h2>
808
- <div id="Anote1" class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div>
809
- <div id="Anote2" class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.2)</p></div>
808
+ <div id="Anote1"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span></p></div></div>
809
+ <div id="Anote2"><div class="formula"><p><span class="stem">(#(r = 1 %)#)</span>&#160; (A.2)</p></div></div>
810
810
  </div>
811
811
  </div>
812
812
  </div>
@@ -897,11 +897,11 @@ RSpec.describe IsoDoc do
897
897
  <br/>
898
898
  <div class="Section3" id="intro">
899
899
  <h1 class="IntroTitle">Introduction</h1>
900
- <div class="require"><p class="RecommendationTitle">Requirement 1:</p>
900
+ <div class="require" id="N1"><p class="RecommendationTitle">Requirement 1:</p>
901
901
  <span class="stem">(#(r = 1 %)#)</span>
902
902
  </div>
903
903
  <div id="xyz"><h2>Preparatory</h2>
904
- <div class="require"><p class="RecommendationTitle">Requirement:</p>
904
+ <div class="require" id="N2"><p class="RecommendationTitle">Requirement:</p>
905
905
  <span class="stem">(#(r = 1 %)#)</span>
906
906
  </div>
907
907
  </div>
@@ -909,7 +909,7 @@ RSpec.describe IsoDoc do
909
909
  <p class="zzSTDTitle1"/>
910
910
  <div id="scope">
911
911
  <h1>1.&#160; Scope</h1>
912
- <div class="require"><p class="RecommendationTitle">Requirement 2:</p>
912
+ <div class="require" id="N"><p class="RecommendationTitle">Requirement 2:</p>
913
913
  <span class="stem">(#(r = 1 %)#)</span>
914
914
  </div>
915
915
  <p>
@@ -921,10 +921,10 @@ RSpec.describe IsoDoc do
921
921
  <div id="widgets">
922
922
  <h1>3.&#160; Widgets</h1>
923
923
  <div id="widgets1"><h2>3.1.&#160;</h2>
924
- <div class="require"><p class="RecommendationTitle">Requirement 3:</p>
924
+ <div class="require" id="note1"><p class="RecommendationTitle">Requirement 3:</p>
925
925
  <span class="stem">(#(r = 1 %)#)</span>
926
926
  </div>
927
- <div class="require"><p class="RecommendationTitle">Requirement 4:</p>
927
+ <div class="require" id="note2"><p class="RecommendationTitle">Requirement 4:</p>
928
928
  <span class="stem">(#(r = 1 %)#)</span>
929
929
  </div>
930
930
  <p> <a href="#note1">Requirement 3</a> <a href="#note2">Requirement 4</a> </p>
@@ -941,15 +941,15 @@ RSpec.describe IsoDoc do
941
941
  <b/>
942
942
  </h1>
943
943
  <div id="annex1a"><h2>A.1.&#160;</h2>
944
- <div class="require"><p class="RecommendationTitle">Requirement A.1:</p>
944
+ <div class="require" id="AN"><p class="RecommendationTitle">Requirement A.1:</p>
945
945
  <span class="stem">(#(r = 1 %)#)</span>
946
946
  </div>
947
947
  </div>
948
948
  <div id="annex1b"><h2>A.2.&#160;</h2>
949
- <div class="require"><p class="RecommendationTitle">Requirement:</p>
949
+ <div class="require" id="Anote1"><p class="RecommendationTitle">Requirement:</p>
950
950
  <span class="stem">(#(r = 1 %)#)</span>
951
951
  </div>
952
- <div class="require"><p class="RecommendationTitle">Requirement A.2:</p>
952
+ <div class="require" id="Anote2"><p class="RecommendationTitle">Requirement A.2:</p>
953
953
  <span class="stem">(#(r = 1 %)#)</span>
954
954
  </div>
955
955
  </div>
@@ -1042,11 +1042,11 @@ OUTPUT
1042
1042
  <br/>
1043
1043
  <div class="Section3" id="intro">
1044
1044
  <h1 class="IntroTitle">Introduction</h1>
1045
- <div class="recommend"><p class="RecommendationTitle">Recommendation 1:</p>
1045
+ <div class="recommend" id="N1"><p class="RecommendationTitle">Recommendation 1:</p>
1046
1046
  <span class="stem">(#(r = 1 %)#)</span>
1047
1047
  </div>
1048
1048
  <div id="xyz"><h2>Preparatory</h2>
1049
- <div class="recommend"><p class="RecommendationTitle">Recommendation:</p>
1049
+ <div class="recommend" id="N2"><p class="RecommendationTitle">Recommendation:</p>
1050
1050
  <span class="stem">(#(r = 1 %)#)</span>
1051
1051
  </div>
1052
1052
  </div>
@@ -1054,7 +1054,7 @@ OUTPUT
1054
1054
  <p class="zzSTDTitle1"/>
1055
1055
  <div id="scope">
1056
1056
  <h1>1.&#160; Scope</h1>
1057
- <div class="recommend"><p class="RecommendationTitle">Recommendation 2:</p>
1057
+ <div class="recommend" id="N"><p class="RecommendationTitle">Recommendation 2:</p>
1058
1058
  <span class="stem">(#(r = 1 %)#)</span>
1059
1059
  </div>
1060
1060
  <p>
@@ -1066,10 +1066,10 @@ OUTPUT
1066
1066
  <div id="widgets">
1067
1067
  <h1>3.&#160; Widgets</h1>
1068
1068
  <div id="widgets1"><h2>3.1.&#160;</h2>
1069
- <div class="recommend"><p class="RecommendationTitle">Recommendation 3:</p>
1069
+ <div class="recommend" id="note1"><p class="RecommendationTitle">Recommendation 3:</p>
1070
1070
  <span class="stem">(#(r = 1 %)#)</span>
1071
1071
  </div>
1072
- <div class="recommend"><p class="RecommendationTitle">Recommendation 4:</p>
1072
+ <div class="recommend" id="note2"><p class="RecommendationTitle">Recommendation 4:</p>
1073
1073
  <span class="stem">(#(r = 1 %)#)</span>
1074
1074
  </div>
1075
1075
  <p> <a href="#note1">Recommendation 3</a> <a href="#note2">Recommendation 4</a> </p>
@@ -1086,15 +1086,15 @@ OUTPUT
1086
1086
  <b/>
1087
1087
  </h1>
1088
1088
  <div id="annex1a"><h2>A.1.&#160;</h2>
1089
- <div class="recommend"><p class="RecommendationTitle">Recommendation A.1:</p>
1089
+ <div class="recommend" id="AN"><p class="RecommendationTitle">Recommendation A.1:</p>
1090
1090
  <span class="stem">(#(r = 1 %)#)</span>
1091
1091
  </div>
1092
1092
  </div>
1093
1093
  <div id="annex1b"><h2>A.2.&#160;</h2>
1094
- <div class="recommend"><p class="RecommendationTitle">Recommendation:</p>
1094
+ <div class="recommend" id="Anote1"><p class="RecommendationTitle">Recommendation:</p>
1095
1095
  <span class="stem">(#(r = 1 %)#)</span>
1096
1096
  </div>
1097
- <div class="recommend"><p class="RecommendationTitle">Recommendation A.2:</p>
1097
+ <div class="recommend" id="Anote2"><p class="RecommendationTitle">Recommendation A.2:</p>
1098
1098
  <span class="stem">(#(r = 1 %)#)</span>
1099
1099
  </div>
1100
1100
  </div>
@@ -1187,11 +1187,11 @@ OUTPUT
1187
1187
  <br/>
1188
1188
  <div class="Section3" id="intro">
1189
1189
  <h1 class="IntroTitle">Introduction</h1>
1190
- <div class="permission"><p class="RecommendationTitle">Permission 1:</p>
1190
+ <div class="permission" id="N1"><p class="RecommendationTitle">Permission 1:</p>
1191
1191
  <span class="stem">(#(r = 1 %)#)</span>
1192
1192
  </div>
1193
1193
  <div id="xyz"><h2>Preparatory</h2>
1194
- <div class="permission"><p class="RecommendationTitle">Permission:</p>
1194
+ <div class="permission" id="N2"><p class="RecommendationTitle">Permission:</p>
1195
1195
  <span class="stem">(#(r = 1 %)#)</span>
1196
1196
  </div>
1197
1197
  </div>
@@ -1199,7 +1199,7 @@ OUTPUT
1199
1199
  <p class="zzSTDTitle1"/>
1200
1200
  <div id="scope">
1201
1201
  <h1>1.&#160; Scope</h1>
1202
- <div class="permission"><p class="RecommendationTitle">Permission 2:</p>
1202
+ <div class="permission" id="N"><p class="RecommendationTitle">Permission 2:</p>
1203
1203
  <span class="stem">(#(r = 1 %)#)</span>
1204
1204
  </div>
1205
1205
  <p>
@@ -1211,10 +1211,10 @@ OUTPUT
1211
1211
  <div id="widgets">
1212
1212
  <h1>3.&#160; Widgets</h1>
1213
1213
  <div id="widgets1"><h2>3.1.&#160;</h2>
1214
- <div class="permission"><p class="RecommendationTitle">Permission 3:</p>
1214
+ <div class="permission" id="note1"><p class="RecommendationTitle">Permission 3:</p>
1215
1215
  <span class="stem">(#(r = 1 %)#)</span>
1216
1216
  </div>
1217
- <div class="permission"><p class="RecommendationTitle">Permission 4:</p>
1217
+ <div class="permission" id="note2"><p class="RecommendationTitle">Permission 4:</p>
1218
1218
  <span class="stem">(#(r = 1 %)#)</span>
1219
1219
  </div>
1220
1220
  <p> <a href="#note1">Permission 3</a> <a href="#note2">Permission 4</a> </p>
@@ -1231,15 +1231,15 @@ OUTPUT
1231
1231
  <b/>
1232
1232
  </h1>
1233
1233
  <div id="annex1a"><h2>A.1.&#160;</h2>
1234
- <div class="permission"><p class="RecommendationTitle">Permission A.1:</p>
1234
+ <div class="permission" id="AN"><p class="RecommendationTitle">Permission A.1:</p>
1235
1235
  <span class="stem">(#(r = 1 %)#)</span>
1236
1236
  </div>
1237
1237
  </div>
1238
1238
  <div id="annex1b"><h2>A.2.&#160;</h2>
1239
- <div class="permission"><p class="RecommendationTitle">Permission:</p>
1239
+ <div class="permission" id="Anote1"><p class="RecommendationTitle">Permission:</p>
1240
1240
  <span class="stem">(#(r = 1 %)#)</span>
1241
1241
  </div>
1242
- <div class="permission"><p class="RecommendationTitle">Permission A.2:</p>
1242
+ <div class="permission" id="Anote2"><p class="RecommendationTitle">Permission A.2:</p>
1243
1243
  <span class="stem">(#(r = 1 %)#)</span>
1244
1244
  </div>
1245
1245
  </div>
@@ -1317,28 +1317,28 @@ OUTPUT
1317
1317
  <p class="zzSTDTitle1"/>
1318
1318
  <div id="xyz">
1319
1319
  <h1>1.&#160; Preparatory</h1>
1320
- <div class="permission"><p class="RecommendationTitle">Permission 1:</p>
1321
- <div class="permission"><p class="RecommendationTitle">Permission 1-1:</p>
1322
- <div class="permission"><p class="RecommendationTitle">Permission 1-1-1:</p>
1320
+ <div class="permission" id="N1"><p class="RecommendationTitle">Permission 1:</p>
1321
+ <div class="permission" id="N2"><p class="RecommendationTitle">Permission 1-1:</p>
1322
+ <div class="permission" id="N"><p class="RecommendationTitle">Permission 1-1-1:</p>
1323
1323
  </div>
1324
1324
  </div>
1325
- <div class="require"><p class="RecommendationTitle">Requirement 1-1:</p>
1325
+ <div class="require" id="Q1"><p class="RecommendationTitle">Requirement 1-1:</p>
1326
1326
  </div>
1327
- <div class="recommend"><p class="RecommendationTitle">Recommendation 1-1:</p>
1327
+ <div class="recommend" id="R1"><p class="RecommendationTitle">Recommendation 1-1:</p>
1328
1328
  </div>
1329
1329
  </div>
1330
1330
  </div>
1331
1331
  <br/>
1332
1332
  <div id="Axyz" class="Section3">
1333
1333
  <h1 class="Annex"><b>Annex A</b><br/>(informative)<br/><br/><b>Preparatory</b></h1>
1334
- <div class="permission"><p class="RecommendationTitle">Permission A.1:</p>
1335
- <div class="permission"><p class="RecommendationTitle">Permission A.1-1:</p>
1336
- <div class="permission"><p class="RecommendationTitle">Permission A.1-1-1:</p>
1334
+ <div class="permission" id="AN1"><p class="RecommendationTitle">Permission A.1:</p>
1335
+ <div class="permission" id='AN2'><p class="RecommendationTitle">Permission A.1-1:</p>
1336
+ <div class="permission" id="AN"><p class="RecommendationTitle">Permission A.1-1-1:</p>
1337
1337
  </div>
1338
1338
  </div>
1339
- <div class="require"><p class="RecommendationTitle">Requirement A.1-1:</p>
1339
+ <div class="require" id="AQ1"><p class="RecommendationTitle">Requirement A.1-1:</p>
1340
1340
  </div>
1341
- <div class="recommend"><p class="RecommendationTitle">Recommendation A.1-1:</p>
1341
+ <div class="recommend" id='AR1'><p class="RecommendationTitle">Recommendation A.1-1:</p>
1342
1342
  </div>
1343
1343
  </div>
1344
1344
  </div>
@@ -1491,14 +1491,14 @@ OUTPUT
1491
1491
  <table id="N1" class="MsoISOTable" style="border-width:1px;border-spacing:0;">
1492
1492
  <tbody>
1493
1493
  <tr>
1494
- <td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td>
1495
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td>
1496
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td>
1494
+ <td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td>
1495
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td>
1496
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td>
1497
1497
  </tr>
1498
1498
  </tbody>
1499
1499
  </table>
1500
1500
  <div id="xyz"><h2>Preparatory</h2>
1501
- <p class="TableTitle" style="text-align:center;">Repeatability and reproducibility of husked rice yield</p><table id="N2" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td></tr></tbody></table>
1501
+ <p class="TableTitle" style="text-align:center;">Repeatability and reproducibility of husked rice yield</p><table id="N2" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1502
1502
  </div>
1503
1503
  </div>
1504
1504
  <p class="zzSTDTitle1"/>
@@ -1510,9 +1510,9 @@ OUTPUT
1510
1510
  <table id="N" class="MsoISOTable" style="border-width:1px;border-spacing:0;">
1511
1511
  <tbody>
1512
1512
  <tr>
1513
- <td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td>
1514
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td>
1515
- <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td>
1513
+ <td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td>
1514
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td>
1515
+ <td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td>
1516
1516
  </tr>
1517
1517
  </tbody>
1518
1518
  </table>
@@ -1525,8 +1525,8 @@ OUTPUT
1525
1525
  <div id="widgets">
1526
1526
  <h1>3.&#160; Widgets</h1>
1527
1527
  <div id="widgets1"><h2>3.1.&#160;</h2>
1528
- <p class="TableTitle" style="text-align:center;">Table 3&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note1" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td></tr></tbody></table>
1529
- <p class="TableTitle" style="text-align:center;">Table 4&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note2" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td></tr></tbody></table>
1528
+ <p class="TableTitle" style="text-align:center;">Table 3&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note1" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1529
+ <p class="TableTitle" style="text-align:center;">Table 4&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="note2" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1530
1530
  <p> <a href="#note1">Table 3</a> <a href="#note2">Table 4</a> </p>
1531
1531
  </div>
1532
1532
  </div>
@@ -1541,11 +1541,11 @@ OUTPUT
1541
1541
  <b/>
1542
1542
  </h1>
1543
1543
  <div id="annex1a"><h2>A.1.&#160;</h2>
1544
- <p class="TableTitle" style="text-align:center;">Table A.1&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="AN" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td></tr></tbody></table>
1544
+ <p class="TableTitle" style="text-align:center;">Table A.1&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="AN" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1545
1545
  </div>
1546
1546
  <div id="annex1b"><h2>A.2.&#160;</h2>
1547
- <p class="TableTitle" style="text-align:center;">Repeatability and reproducibility of husked rice yield</p><table id="Anote1" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td></tr></tbody></table>
1548
- <p class="TableTitle" style="text-align:center;">Table A.2&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="Anote2" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;padding:0;">11</td></tr></tbody></table>
1547
+ <p class="TableTitle" style="text-align:center;">Repeatability and reproducibility of husked rice yield</p><table id="Anote1" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1548
+ <p class="TableTitle" style="text-align:center;">Table A.2&#160;&#8212; Repeatability and reproducibility of husked rice yield</p><table id="Anote2" class="MsoISOTable" style="border-width:1px;border-spacing:0;"><tbody><tr><td style="text-align:left;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">Number of laboratories retained after eliminating outliers</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">13</td><td style="text-align:center;border-top:solid windowtext 1.5pt;border-bottom:solid windowtext 1.5pt;">11</td></tr></tbody></table>
1549
1549
  </div>
1550
1550
  </div>
1551
1551
  </div>
@@ -1601,9 +1601,9 @@ OUTPUT
1601
1601
  </div>
1602
1602
  <div id="terms"><h1>2.&#160; </h1>
1603
1603
  <p class="TermNum" id="_waxy_rice">2.1.</p><p class="Terms" style="text-align:left;">waxy rice</p>
1604
- <div class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div><p class="TermNum" id="_nonwaxy_rice">2.2.</p><p class="Terms" style="text-align:left;">nonwaxy rice</p>
1605
- <div class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
1606
- <div class="Note"><p>Note 2 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div></div>
1604
+ <div id="note1" class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div><p class="TermNum" id="_nonwaxy_rice">2.2.</p><p class="Terms" style="text-align:left;">nonwaxy rice</p>
1605
+ <div id="note2" class="Note"><p>Note 1 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div>
1606
+ <div id="note3" class="Note"><p>Note 2 to entry: The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p></div></div>
1607
1607
  </div>
1608
1608
  </body>
1609
1609
  </html>
@@ -2258,4 +2258,124 @@ INPUT
2258
2258
  OUTPUT
2259
2259
  end
2260
2260
 
2261
+ it "realises numbering overrides" do
2262
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
2263
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
2264
+ <preface>
2265
+ <foreword id="fwd">
2266
+ <p>
2267
+ <xref target="N1"/>
2268
+ <xref target="N2"/>
2269
+ <xref target="N3"/>
2270
+ <xref target="N4"/>
2271
+ <xref target="N5"/>
2272
+ <xref target="N6"/>
2273
+ <xref target="N7"/>
2274
+ <xref target="N8"/>
2275
+ <xref target="N9"/>
2276
+ <xref target="N10"/>
2277
+ </p>
2278
+ </foreword>
2279
+ <introduction id="intro">
2280
+ <figure id="N1"> <name>Split-it-right sample divider</name>
2281
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2282
+ </figure>
2283
+ <figure id="N2" number="A"> <name>Split-it-right sample divider</name>
2284
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2285
+ </figure>
2286
+ <figure id="N3"> <name>Split-it-right sample divider</name>
2287
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2288
+ </figure>
2289
+ <figure id="N4" number="7"> <name>Split-it-right sample divider</name>
2290
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2291
+ </figure>
2292
+ <figure id="N5"> <name>Split-it-right sample divider</name>
2293
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2294
+ </figure>
2295
+ <figure id="N6" subsequence="B"> <name>Split-it-right sample divider</name>
2296
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2297
+ </figure>
2298
+ <figure id="N7" subsequence="B" number="c"> <name>Split-it-right sample divider</name>
2299
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2300
+ </figure>
2301
+ <figure id="N8" subsequence="B"> <name>Split-it-right sample divider</name>
2302
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2303
+ </figure>
2304
+ <figure id="N9" subsequence="C" number="20f"> <name>Split-it-right sample divider</name>
2305
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2306
+ </figure>
2307
+ <figure id="N10" subsequence="C"> <name>Split-it-right sample divider</name>
2308
+ <image src="rice_images/rice_image1.png" id="_8357ede4-6d44-4672-bac4-9a85e82ab7f0" mimetype="image/png"/>
2309
+ </figure>
2310
+ </introduction>
2311
+ </iso-standard>
2312
+ INPUT
2313
+ #{HTML_HDR}
2314
+ <br/>
2315
+ <div id='fwd'>
2316
+ <h1 class='ForewordTitle'>Foreword</h1>
2317
+ <p>
2318
+ <a href='#N1'>Figure 1</a>
2319
+ <a href='#N2'>Figure A</a>
2320
+ <a href='#N3'>Figure 2</a>
2321
+ <a href='#N4'>Figure 7</a>
2322
+ <a href='#N5'>Figure 8</a>
2323
+ <a href='#N6'>Figure 9a</a>
2324
+ <a href='#N7'>Figure 9c</a>
2325
+ <a href='#N8'>Figure 9d</a>
2326
+ <a href='#N9'>Figure 20f</a>
2327
+ <a href='#N10'>Figure 20g</a>
2328
+ </p>
2329
+ </div>
2330
+ <br/>
2331
+ <div class='Section3' id='intro'>
2332
+ <h1 class='IntroTitle'>Introduction</h1>
2333
+ <div id='N1' class='figure'>
2334
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2335
+ <p class='FigureTitle' style='text-align:center;'>Figure 1&#160;&#8212; Split-it-right sample divider</p>
2336
+ </div>
2337
+ <div id='N2' class='figure'>
2338
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2339
+ <p class='FigureTitle' style='text-align:center;'>Figure A&#160;&#8212; Split-it-right sample divider</p>
2340
+ </div>
2341
+ <div id='N3' class='figure'>
2342
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2343
+ <p class='FigureTitle' style='text-align:center;'>Figure 2&#160;&#8212; Split-it-right sample divider</p>
2344
+ </div>
2345
+ <div id='N4' class='figure'>
2346
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2347
+ <p class='FigureTitle' style='text-align:center;'>Figure 7&#160;&#8212; Split-it-right sample divider</p>
2348
+ </div>
2349
+ <div id='N5' class='figure'>
2350
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2351
+ <p class='FigureTitle' style='text-align:center;'>Figure 8&#160;&#8212; Split-it-right sample divider</p>
2352
+ </div>
2353
+ <div id='N6' class='figure'>
2354
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2355
+ <p class='FigureTitle' style='text-align:center;'>Figure 9a&#160;&#8212; Split-it-right sample divider</p>
2356
+ </div>
2357
+ <div id='N7' class='figure'>
2358
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2359
+ <p class='FigureTitle' style='text-align:center;'>Figure 9c&#160;&#8212; Split-it-right sample divider</p>
2360
+ </div>
2361
+ <div id='N8' class='figure'>
2362
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2363
+ <p class='FigureTitle' style='text-align:center;'>Figure 9d&#160;&#8212; Split-it-right sample divider</p>
2364
+ </div>
2365
+ <div id='N9' class='figure'>
2366
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2367
+ <p class='FigureTitle' style='text-align:center;'>Figure 20f&#160;&#8212; Split-it-right sample divider</p>
2368
+ </div>
2369
+ <div id='N10' class='figure'>
2370
+ <img src='rice_images/rice_image1.png' height='auto' width='auto'/>
2371
+ <p class='FigureTitle' style='text-align:center;'>Figure 20g&#160;&#8212; Split-it-right sample divider</p>
2372
+ </div>
2373
+ </div>
2374
+ <p class='zzSTDTitle1'/>
2375
+ </div>
2376
+ </body>
2377
+ </html>
2378
+ OUTPUT
2379
+ end
2380
+
2261
2381
  end