isodoc 1.5.2 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +1 -1
  3. data/.rubocop.yml +6 -2
  4. data/Gemfile +2 -2
  5. data/bin/rspec +1 -2
  6. data/isodoc.gemspec +11 -11
  7. data/lib/isodoc/base_style/all.css +7 -0
  8. data/lib/isodoc/base_style/metanorma_word.css +7 -0
  9. data/lib/isodoc/base_style/metanorma_word.scss +8 -0
  10. data/lib/isodoc/base_style/reset.css +7 -0
  11. data/lib/isodoc/base_style/reset.scss +9 -0
  12. data/lib/isodoc/base_style/scripts.html +187 -0
  13. data/lib/isodoc/class_utils.rb +6 -5
  14. data/lib/isodoc/convert.rb +30 -17
  15. data/lib/isodoc/css.rb +42 -28
  16. data/lib/isodoc/function/blocks.rb +15 -4
  17. data/lib/isodoc/function/blocks_example_note.rb +2 -2
  18. data/lib/isodoc/function/cleanup.rb +1 -2
  19. data/lib/isodoc/function/inline.rb +31 -10
  20. data/lib/isodoc/function/references.rb +1 -1
  21. data/lib/isodoc/function/to_word_html.rb +19 -8
  22. data/lib/isodoc/function/utils.rb +41 -38
  23. data/lib/isodoc/gem_tasks.rb +30 -31
  24. data/lib/isodoc/html_convert.rb +4 -4
  25. data/lib/isodoc/html_function/postprocess.rb +35 -76
  26. data/lib/isodoc/html_function/postprocess_footnotes.rb +59 -0
  27. data/lib/isodoc/i18n.rb +20 -20
  28. data/lib/isodoc/pdf_convert.rb +1 -3
  29. data/lib/isodoc/presentation_function/block.rb +26 -11
  30. data/lib/isodoc/presentation_function/inline.rb +44 -38
  31. data/lib/isodoc/presentation_xml_convert.rb +1 -1
  32. data/lib/isodoc/version.rb +1 -1
  33. data/lib/isodoc/word_function/footnotes.rb +22 -15
  34. data/lib/isodoc/word_function/inline.rb +6 -0
  35. data/lib/isodoc/word_function/postprocess.rb +16 -6
  36. data/lib/isodoc/xref.rb +10 -11
  37. data/lib/isodoc/xref/xref_counter.rb +31 -15
  38. data/lib/isodoc/xref/xref_gen.rb +28 -22
  39. data/lib/isodoc/xref/xref_sect_gen.rb +22 -20
  40. data/lib/isodoc/xslfo_convert.rb +36 -25
  41. data/spec/assets/html_override.css +1 -0
  42. data/spec/assets/word_override.css +1 -0
  43. data/spec/isodoc/blocks_spec.rb +2599 -2503
  44. data/spec/isodoc/cleanup_spec.rb +1107 -1109
  45. data/spec/isodoc/footnotes_spec.rb +1 -16
  46. data/spec/isodoc/i18n_spec.rb +984 -972
  47. data/spec/isodoc/inline_spec.rb +34 -0
  48. data/spec/isodoc/lists_spec.rb +316 -315
  49. data/spec/isodoc/postproc_spec.rb +1655 -1521
  50. data/spec/isodoc/presentation_xml_spec.rb +345 -338
  51. data/spec/isodoc/ref_spec.rb +718 -723
  52. data/spec/isodoc/section_spec.rb +910 -902
  53. data/spec/isodoc/table_spec.rb +566 -556
  54. data/spec/isodoc/terms_spec.rb +252 -256
  55. data/spec/isodoc/xref_spec.rb +3040 -2985
  56. data/spec/isodoc/xslfo_convert_spec.rb +39 -0
  57. data/spec/spec_helper.rb +30 -29
  58. metadata +72 -69
  59. data/.rubocop.ribose.yml +0 -65
  60. data/.rubocop.tb.yml +0 -650
@@ -590,6 +590,8 @@ OUTPUT
590
590
  <eref type="inline" bibitemid="ISO712" citeas="ISO 712">A</eref>
591
591
  <eref type="inline" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality></eref>
592
592
  <eref type="inline" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality><locality type="clause"><referenceFrom>1</referenceFrom></locality></eref>
593
+ <eref type="inline" droploc="true" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality><locality type="clause"><referenceFrom>1</referenceFrom></locality></eref>
594
+ <eref type="inline" case="lowercase" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality><locality type="clause"><referenceFrom>1</referenceFrom></locality></eref>
593
595
  </p>
594
596
  </foreword></preface>
595
597
  <bibliography><references id="_normative_references" obligation="informative" normative="true"><title>Normative References</title>
@@ -626,6 +628,8 @@ OUTPUT
626
628
  <eref type="inline" bibitemid="ISO712" citeas="ISO 712">A</eref>
627
629
  <eref type="inline" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality>ISO 712</eref>
628
630
  <eref type="inline" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality><locality type="clause"><referenceFrom>1</referenceFrom></locality>ISO 712, Clause 1</eref>
631
+ <eref type="inline" droploc="true" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality><locality type="clause"><referenceFrom>1</referenceFrom></locality>ISO 712, 1</eref>
632
+ <eref type="inline" case="lowercase" bibitemid="ISO712"><locality type="anchor"><referenceFrom>1</referenceFrom></locality><locality type="clause"><referenceFrom>1</referenceFrom></locality>ISO 712, clause 1</eref>
629
633
  </p>
630
634
  </foreword></preface>
631
635
  <bibliography><references id="_normative_references" obligation="informative" normative="true"><title depth='1'>1.<tab/>Normative References</title>
@@ -665,6 +669,8 @@ html = <<~OUTPUT
665
669
  <a href="#ISO712">A</a>
666
670
  <a href='#ISO712'>ISO 712</a>
667
671
  <a href='#ISO712'>ISO 712, Clause 1</a>
672
+ <a href='#ISO712'>ISO 712, 1</a>
673
+ <a href='#ISO712'>ISO 712, clause 1</a>
668
674
  </p>
669
675
  </div>
670
676
  <p class="zzSTDTitle1"/>
@@ -1017,4 +1023,32 @@ INPUT
1017
1023
  OUTPUT
1018
1024
  end
1019
1025
 
1026
+ it "processes add, del" do
1027
+ expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
1028
+ <itu-standard xmlns="https://www.calconnect.org/standards/itu">
1029
+ <preface><foreword id="A">
1030
+ <add>ABC <xref target="A"></add> <del><strong>B</strong></del>
1031
+ </foreword></preface>
1032
+ </itu-standard>
1033
+ INPUT
1034
+ #{HTML_HDR}
1035
+ <br/>
1036
+ <div id='A'>
1037
+ <h1 class='ForewordTitle'>Foreword</h1>
1038
+ <span class='addition'>
1039
+ ABC
1040
+ <a href='#A'/>
1041
+ <span class='deletion'>
1042
+ <b>B</b>
1043
+ </span>
1044
+ </span>
1045
+ </div>
1046
+ <p class='zzSTDTitle1'/>
1047
+ </div>
1048
+ </body>
1049
+ </html>
1050
+ OUTPUT
1051
+ end
1052
+
1053
+
1020
1054
  end
@@ -2,345 +2,346 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe IsoDoc do
4
4
  it "processes unordered lists" do
5
- expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
6
- <iso-standard xmlns="http://riboseinc.com/isoxml">
7
- <preface><foreword>
8
- <ul id="_61961034-0fb1-436b-b281-828857a59ddb" keep-with-next="true" keep-lines-together="true">
9
- <li>
10
- <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
11
- </li>
12
- <li>
13
- <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
14
- </li>
15
- </ul>
16
- </foreword></preface>
17
- </iso-standard>
18
- INPUT
19
- #{HTML_HDR}
20
- <br/>
21
- <div>
22
- <h1 class="ForewordTitle">Foreword</h1>
23
- <ul id="_61961034-0fb1-436b-b281-828857a59ddb" style="page-break-after: avoid;page-break-inside: avoid;">
24
- <li>
25
- <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
26
- </li>
27
- <li>
28
- <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
29
- </li>
30
- </ul>
31
- </div>
32
- <p class="zzSTDTitle1"/>
33
- </div>
34
- </body>
35
- </html>
36
- OUTPUT
5
+ expect(xmlpp(IsoDoc::HtmlConvert.new({})
6
+ .convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
7
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
8
+ <preface><foreword>
9
+ <ul id="_61961034-0fb1-436b-b281-828857a59ddb" keep-with-next="true" keep-lines-together="true">
10
+ <li>
11
+ <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
12
+ </li>
13
+ <li>
14
+ <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
15
+ </li>
16
+ </ul>
17
+ </foreword></preface>
18
+ </iso-standard>
19
+ INPUT
20
+ #{HTML_HDR}
21
+ <br/>
22
+ <div>
23
+ <h1 class="ForewordTitle">Foreword</h1>
24
+ <ul id="_61961034-0fb1-436b-b281-828857a59ddb" style="page-break-after: avoid;page-break-inside: avoid;">
25
+ <li>
26
+ <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
27
+ </li>
28
+ <li>
29
+ <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
30
+ </li>
31
+ </ul>
32
+ </div>
33
+ <p class="zzSTDTitle1"/>
34
+ </div>
35
+ </body>
36
+ </html>
37
+ OUTPUT
37
38
  end
38
39
 
39
40
  it "processes unordered checklists" do
40
- expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
41
- <iso-standard xmlns="http://riboseinc.com/isoxml">
42
- <preface><foreword>
43
- <ul id="_61961034-0fb1-436b-b281-828857a59ddb">
44
- <li checkedcheckbox="true" uncheckedcheckbox="false">
45
- <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
46
- </li>
47
- <li checkedcheckbox="false" uncheckedcheckbox="true">
48
- <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
49
- </li>
50
- </ul>
51
- </foreword></preface>
52
- </iso-standard>
53
- INPUT
54
- #{HTML_HDR}
55
- <br/>
56
- <div>
57
- <h1 class='ForewordTitle'>Foreword</h1>
58
- <ul id='_61961034-0fb1-436b-b281-828857a59ddb'>
59
- <li>
60
- <span class='zzMoveToFollowing'>
61
- <input type='checkbox'/>
62
- </span>
63
- <p id='_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2'>updated normative references;</p>
64
- </li>
65
- <li>
66
- <span class='zzMoveToFollowing'>
67
- <input type='checkbox' checked='checked'/>
68
- </span>
69
- <p id='_60eb765c-1f6c-418a-8016-29efa06bf4f9'>deletion of 4.3.</p>
70
- </li>
71
- </ul>
72
- </div>
73
- <p class='zzSTDTitle1'/>
74
- </div>
75
- </body>
76
- </html>
77
- OUTPUT
41
+ expect(xmlpp(IsoDoc::HtmlConvert.new({})
42
+ .convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
43
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
44
+ <preface><foreword>
45
+ <ul id="_61961034-0fb1-436b-b281-828857a59ddb">
46
+ <li checkedcheckbox="true" uncheckedcheckbox="false">
47
+ <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
48
+ </li>
49
+ <li checkedcheckbox="false" uncheckedcheckbox="true">
50
+ <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
51
+ </li>
52
+ </ul>
53
+ </foreword></preface>
54
+ </iso-standard>
55
+ INPUT
56
+ #{HTML_HDR}
57
+ <br/>
58
+ <div>
59
+ <h1 class='ForewordTitle'>Foreword</h1>
60
+ <ul id='_61961034-0fb1-436b-b281-828857a59ddb'>
61
+ <li>
62
+ <span class='zzMoveToFollowing'>
63
+ <input type='checkbox'/>
64
+ </span>
65
+ <p id='_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2'>updated normative references;</p>
66
+ </li>
67
+ <li>
68
+ <span class='zzMoveToFollowing'>
69
+ <input type='checkbox' checked='checked'/>
70
+ </span>
71
+ <p id='_60eb765c-1f6c-418a-8016-29efa06bf4f9'>deletion of 4.3.</p>
72
+ </li>
73
+ </ul>
74
+ </div>
75
+ <p class='zzSTDTitle1'/>
76
+ </div>
77
+ </body>
78
+ </html>
79
+ OUTPUT
78
80
  end
79
81
 
80
- it "processes unordered checklists (Word)" do
81
- expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
82
- <iso-standard xmlns="http://riboseinc.com/isoxml">
83
- <preface><foreword>
84
- <ul id="_61961034-0fb1-436b-b281-828857a59ddb">
85
- <li checkedcheckbox="true" uncheckedcheckbox="false">
86
- <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
87
- </li>
88
- <li checkedcheckbox="false" uncheckedcheckbox="true">
89
- <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
90
- </li>
91
- </ul>
92
- </foreword></preface>
93
- </iso-standard>
94
- INPUT
95
- <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
96
- <head><style/></head>
97
- <body lang='EN-US' link='blue' vlink='#954F72'>
98
- <div class='WordSection1'>
99
- <p>&#160;</p>
100
- </div>
101
- <p>
102
- <br clear='all' class='section'/>
103
- </p>
104
- <div class='WordSection2'>
105
- <p>
106
- <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
107
- </p>
108
- <div>
109
- <h1 class='ForewordTitle'>Foreword</h1>
110
- <ul id='_61961034-0fb1-436b-b281-828857a59ddb'>
111
- <li>
112
- <span class='zzMoveToFollowing'>&#9745; </span>
113
- <p id='_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2'>updated normative references;</p>
114
- </li>
115
- <li>
116
- <span class='zzMoveToFollowing'>&#9744; </span>
117
- <p id='_60eb765c-1f6c-418a-8016-29efa06bf4f9'>deletion of 4.3.</p>
118
- </li>
119
- </ul>
120
- </div>
121
- <p>&#160;</p>
122
- </div>
123
- <p>
124
- <br clear='all' class='section'/>
125
- </p>
126
- <div class='WordSection3'>
127
- <p class='zzSTDTitle1'/>
128
- </div>
129
- </body>
130
- </html>
131
- OUTPUT
82
+ it "processes unordered checklists (Word)" do
83
+ expect(xmlpp(IsoDoc::WordConvert.new({})
84
+ .convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
85
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
86
+ <preface><foreword>
87
+ <ul id="_61961034-0fb1-436b-b281-828857a59ddb">
88
+ <li checkedcheckbox="true" uncheckedcheckbox="false">
89
+ <p id="_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2">updated normative references;</p>
90
+ </li>
91
+ <li checkedcheckbox="false" uncheckedcheckbox="true">
92
+ <p id="_60eb765c-1f6c-418a-8016-29efa06bf4f9">deletion of 4.3.</p>
93
+ </li>
94
+ </ul>
95
+ </foreword></preface>
96
+ </iso-standard>
97
+ INPUT
98
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
99
+ <head><style/></head>
100
+ <body lang='EN-US' link='blue' vlink='#954F72'>
101
+ <div class='WordSection1'>
102
+ <p>&#160;</p>
103
+ </div>
104
+ <p>
105
+ <br clear='all' class='section'/>
106
+ </p>
107
+ <div class='WordSection2'>
108
+ <p>
109
+ <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
110
+ </p>
111
+ <div>
112
+ <h1 class='ForewordTitle'>Foreword</h1>
113
+ <ul id='_61961034-0fb1-436b-b281-828857a59ddb'>
114
+ <li>
115
+ <span class='zzMoveToFollowing'>&#9745; </span>
116
+ <p id='_cb370dd3-8463-4ec7-aa1a-96f644e2e9a2'>updated normative references;</p>
117
+ </li>
118
+ <li>
119
+ <span class='zzMoveToFollowing'>&#9744; </span>
120
+ <p id='_60eb765c-1f6c-418a-8016-29efa06bf4f9'>deletion of 4.3.</p>
121
+ </li>
122
+ </ul>
123
+ </div>
124
+ <p>&#160;</p>
125
+ </div>
126
+ <p>
127
+ <br clear='all' class='section'/>
128
+ </p>
129
+ <div class='WordSection3'>
130
+ <p class='zzSTDTitle1'/>
131
+ </div>
132
+ </body>
133
+ </html>
134
+ OUTPUT
132
135
  end
133
136
 
134
-
135
137
  it "processes ordered lists" do
136
- expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
137
- <iso-standard xmlns="http://riboseinc.com/isoxml">
138
- <preface><foreword>
139
- <ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="alphabet" keep-with-next="true" keep-lines-together="true">
140
- <li>
141
- <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
142
- </li>
143
- <ol>
144
- <li>
145
- <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
146
- </li>
147
- <ol>
148
- <li>
149
- <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
150
- </li>
151
- </ol>
152
- </ol>
153
- </ol>
154
- </foreword></preface>
155
- </iso-standard>
156
- INPUT
157
- #{HTML_HDR}
158
- <br/>
159
- <div>
160
- <h1 class="ForewordTitle">Foreword</h1>
161
- <ol type="a" id="_ae34a226-aab4-496d-987b-1aa7b6314026" style="page-break-after: avoid;page-break-inside: avoid;">
162
- <li>
163
- <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
164
- </li>
165
- <ol type="1">
166
- <li>
167
- <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
168
- </li>
169
- <ol type="i">
170
- <li>
171
- <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
172
- </li>
173
- </ol>
174
- </ol>
175
- </ol>
176
- </div>
177
- <p class="zzSTDTitle1"/>
178
- </div>
179
- </body>
180
- </html>
181
- OUTPUT
138
+ expect(xmlpp(IsoDoc::HtmlConvert.new({})
139
+ .convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
140
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
141
+ <preface><foreword>
142
+ <ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="alphabet" keep-with-next="true" keep-lines-together="true">
143
+ <li>
144
+ <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
145
+ </li>
146
+ <ol>
147
+ <li>
148
+ <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
149
+ </li>
150
+ <ol>
151
+ <li>
152
+ <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
153
+ </li>
154
+ </ol>
155
+ </ol>
156
+ </ol>
157
+ </foreword></preface>
158
+ </iso-standard>
159
+ INPUT
160
+ #{HTML_HDR}
161
+ <br/>
162
+ <div>
163
+ <h1 class="ForewordTitle">Foreword</h1>
164
+ <ol type="a" id="_ae34a226-aab4-496d-987b-1aa7b6314026" style="page-break-after: avoid;page-break-inside: avoid;">
165
+ <li>
166
+ <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
167
+ </li>
168
+ <ol type="1">
169
+ <li>
170
+ <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
171
+ </li>
172
+ <ol type="i">
173
+ <li>
174
+ <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
175
+ </li>
176
+ </ol>
177
+ </ol>
178
+ </ol>
179
+ </div>
180
+ <p class="zzSTDTitle1"/>
181
+ </div>
182
+ </body>
183
+ </html>
184
+ OUTPUT
182
185
  end
183
186
 
184
187
  it "processes Roman Upper ordered lists" do
185
- expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
186
- <iso-standard xmlns="http://riboseinc.com/isoxml">
187
- <preface><foreword>
188
- <ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="roman_upper">
189
- <li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
190
- <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
191
- </li>
192
- <li>
193
- <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
194
- </li>
195
- <li>
196
- <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
197
- </li>
198
- </ol>
199
- </foreword></preface>
200
- </iso-standard>
201
- INPUT
202
- #{HTML_HDR}
203
- <br/>
204
- <div>
205
- <h1 class="ForewordTitle">Foreword</h1>
206
- <ol type="I" id="_ae34a226-aab4-496d-987b-1aa7b6314026">
207
- <li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
208
- <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
209
- </li>
210
- <li>
211
- <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
212
- </li>
213
- <li>
214
- <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
215
- </li>
216
- </ol>
217
- </div>
218
- <p class="zzSTDTitle1"/>
219
- </div>
220
- </body>
221
- </html>
222
- OUTPUT
188
+ expect(xmlpp(IsoDoc::HtmlConvert.new({})
189
+ .convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
190
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
191
+ <preface><foreword>
192
+ <ol id="_ae34a226-aab4-496d-987b-1aa7b6314026" type="roman_upper">
193
+ <li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
194
+ <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
195
+ </li>
196
+ <li>
197
+ <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
198
+ </li>
199
+ <li>
200
+ <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
201
+ </li>
202
+ </ol>
203
+ </foreword></preface>
204
+ </iso-standard>
205
+ INPUT
206
+ #{HTML_HDR}
207
+ <br/>
208
+ <div>
209
+ <h1 class="ForewordTitle">Foreword</h1>
210
+ <ol type="I" id="_ae34a226-aab4-496d-987b-1aa7b6314026">
211
+ <li id="_ae34a226-aab4-496d-987b-1aa7b6314027">
212
+ <p id="_0091a277-fb0e-424a-aea8-f0001303fe78">all information necessary for the complete identification of the sample;</p>
213
+ </li>
214
+ <li>
215
+ <p id="_8a7b6299-db05-4ff8-9de7-ff019b9017b2">a reference to this document (i.e. ISO 17301-1);</p>
216
+ </li>
217
+ <li>
218
+ <p id="_ea248b7f-839f-460f-a173-a58a830b2abe">the sampling method used;</p>
219
+ </li>
220
+ </ol>
221
+ </div>
222
+ <p class="zzSTDTitle1"/>
223
+ </div>
224
+ </body>
225
+ </html>
226
+ OUTPUT
223
227
  end
224
228
 
225
229
  it "processes definition lists" do
226
230
  expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
227
- <iso-standard xmlns="http://riboseinc.com/isoxml">
228
- <preface><foreword>
229
- <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395" keep-with-next="true" keep-lines-together="true">
230
- <dt>
231
- W
232
- </dt>
233
- <dd>
234
- <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
235
- </dd>
236
- <dt><stem type="AsciiMath">w</stem></dt>
237
- <dd><p>??</p></dd>
238
- <note><p>This is a note</p></note>
239
- </dl>
240
- </foreword></preface>
241
- </iso-standard>
231
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
232
+ <preface><foreword>
233
+ <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395" keep-with-next="true" keep-lines-together="true">
234
+ <dt>
235
+ W
236
+ </dt>
237
+ <dd>
238
+ <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
239
+ </dd>
240
+ <dt><stem type="AsciiMath">w</stem></dt>
241
+ <dd><p>??</p></dd>
242
+ <note><p>This is a note</p></note>
243
+ </dl>
244
+ </foreword></preface>
245
+ </iso-standard>
242
246
  INPUT
243
- #{HTML_HDR}
244
- <br/>
245
- <div>
246
- <h1 class="ForewordTitle">Foreword</h1>
247
- <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395" style="page-break-after: avoid;page-break-inside: avoid;">
248
- <dt>
249
- <p>
250
- W
251
- </p>
252
- </dt>
253
- <dd>
254
- <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
255
- </dd>
256
- <dt>
257
- <span class="stem">(#(w)#)</span>
258
- </dt>
259
- <dd>
260
- <p>??</p>
261
- </dd>
262
- </dl>
263
- <div class="Note">
264
- <p>&#160; This is a note</p>
265
- </div>
266
- </div>
267
- <p class="zzSTDTitle1"/>
268
- </div>
269
- </body>
270
- </html>
247
+ #{HTML_HDR}
248
+ <br/>
249
+ <div>
250
+ <h1 class="ForewordTitle">Foreword</h1>
251
+ <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395" style="page-break-after: avoid;page-break-inside: avoid;">
252
+ <dt>
253
+ <p>
254
+ W
255
+ </p>
256
+ </dt>
257
+ <dd>
258
+ <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
259
+ </dd>
260
+ <dt>
261
+ <span class="stem">(#(w)#)</span>
262
+ </dt>
263
+ <dd>
264
+ <p>??</p>
265
+ </dd>
266
+ </dl>
267
+ <div class="Note">
268
+ <p>&#160; This is a note</p>
269
+ </div>
270
+ </div>
271
+ <p class="zzSTDTitle1"/>
272
+ </div>
273
+ </body>
274
+ </html>
271
275
  OUTPUT
272
276
  end
273
277
 
274
278
  it "processes definition lists (Word)" do
275
279
  expect(xmlpp(IsoDoc::WordConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
276
- <iso-standard xmlns="http://riboseinc.com/isoxml">
277
- <preface><foreword>
278
- <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395">
279
- <dt>
280
- W
281
- </dt>
282
- <dd>
283
- <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
284
- </dd>
285
- <dt><stem type="AsciiMath">w</stem></dt>
286
- <dd><p>??</p></dd>
287
- <note><p>This is a note</p></note>
288
- </dl>
289
- </foreword></preface>
290
- </iso-standard>
280
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
281
+ <preface><foreword>
282
+ <dl id="_732d3f57-4f88-40bf-9ae9-633891edc395">
283
+ <dt>
284
+ W
285
+ </dt>
286
+ <dd>
287
+ <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
288
+ </dd>
289
+ <dt><stem type="AsciiMath">w</stem></dt>
290
+ <dd><p>??</p></dd>
291
+ <note><p>This is a note</p></note>
292
+ </dl>
293
+ </foreword></preface>
294
+ </iso-standard>
291
295
  INPUT
292
- <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
293
- <head><style/></head>
294
- <body lang="EN-US" link="blue" vlink="#954F72">
295
- <div class="WordSection1">
296
- <p>&#160;</p>
297
- </div>
298
- <p><br clear="all" class="section"/></p>
299
- <div class="WordSection2">
300
- <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
301
- <div>
302
- <h1 class="ForewordTitle">Foreword</h1>
303
- <table class="dl">
304
- <tr>
305
- <td valign="top" align="left">
306
- <p align="left" style="margin-left:0pt;text-align:left;">
307
- W
308
- </p>
309
- </td>
310
- <td valign="top">
311
- <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
312
- </td>
313
- </tr>
314
- <tr>
315
- <td valign="top" align="left">
296
+ <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
297
+ <head><style/></head>
298
+ <body lang="EN-US" link="blue" vlink="#954F72">
299
+ <div class="WordSection1">
300
+ <p>&#160;</p>
301
+ </div>
302
+ <p><br clear="all" class="section"/></p>
303
+ <div class="WordSection2">
304
+ <p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
305
+ <div>
306
+ <h1 class="ForewordTitle">Foreword</h1>
307
+ <table class="dl">
308
+ <tr>
309
+ <td valign="top" align="left">
316
310
  <p align="left" style="margin-left:0pt;text-align:left;">
317
- <span class="stem">(#(w)#)</span>
318
- </p>
319
- </td>
320
- <td valign="top">
321
- <p>??</p>
322
- </td>
323
- </tr>
324
- <tr>
325
- <td colspan="2">
326
- <div class="Note">
327
- <p class="Note"><span class="note_label"/><span style="mso-tab-count:1">&#160; </span>This is a note</p>
328
- </div>
329
- </td>
330
- </tr>
331
- </table>
332
- </div>
333
- <p>&#160;</p>
334
- </div>
335
- <p><br clear="all" class="section"/></p>
336
- <div class="WordSection3">
337
- <p class="zzSTDTitle1"/>
311
+ W
312
+ </p>
313
+ </td>
314
+ <td valign="top">
315
+ <p id="_05d81174-3a41-44af-94d8-c78b8d2e175d">mass fraction of gelatinized kernels, expressed in per cent</p>
316
+ </td>
317
+ </tr>
318
+ <tr>
319
+ <td valign="top" align="left">
320
+ <p align="left" style="margin-left:0pt;text-align:left;">
321
+ <span class="stem">(#(w)#)</span>
322
+ </p>
323
+ </td>
324
+ <td valign="top">
325
+ <p>??</p>
326
+ </td>
327
+ </tr>
328
+ <tr>
329
+ <td colspan="2">
330
+ <div class="Note">
331
+ <p class="Note"><span class="note_label"/><span style="mso-tab-count:1">&#160; </span>This is a note</p>
332
+ </div>
333
+ </td>
334
+ </tr>
335
+ </table>
338
336
  </div>
339
- </body>
340
- </html>
337
+ <p>&#160;</p>
338
+ </div>
339
+ <p><br clear="all" class="section"/></p>
340
+ <div class="WordSection3">
341
+ <p class="zzSTDTitle1"/>
342
+ </div>
343
+ </body>
344
+ </html>
341
345
  OUTPUT
342
346
  end
343
-
344
-
345
347
  end
346
-