metanorma-standoc 2.2.6 → 2.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metanorma/standoc/base.rb +3 -5
  3. data/lib/metanorma/standoc/biblio.rng +5 -0
  4. data/lib/metanorma/standoc/cleanup.rb +17 -17
  5. data/lib/metanorma/standoc/cleanup_amend.rb +2 -2
  6. data/lib/metanorma/standoc/cleanup_biblio.rb +2 -1
  7. data/lib/metanorma/standoc/cleanup_maths.rb +12 -4
  8. data/lib/metanorma/standoc/cleanup_section.rb +19 -9
  9. data/lib/metanorma/standoc/cleanup_symbols.rb +14 -7
  10. data/lib/metanorma/standoc/cleanup_text.rb +10 -4
  11. data/lib/metanorma/standoc/cleanup_toc.rb +1 -2
  12. data/lib/metanorma/standoc/cleanup_xref.rb +55 -14
  13. data/lib/metanorma/standoc/inline.rb +27 -12
  14. data/lib/metanorma/standoc/isodoc.rng +46 -12
  15. data/lib/metanorma/standoc/ref_utility.rb +1 -0
  16. data/lib/metanorma/standoc/render.rb +10 -1
  17. data/lib/metanorma/standoc/section.rb +10 -3
  18. data/lib/metanorma/standoc/utils.rb +6 -1
  19. data/lib/metanorma/standoc/validate.rb +1 -1
  20. data/lib/metanorma/standoc/version.rb +1 -1
  21. data/metanorma-standoc.gemspec +5 -2
  22. metadata +4 -128
  23. data/.github/workflows/automerge.yml +0 -31
  24. data/.github/workflows/rake.yml +0 -15
  25. data/.github/workflows/release.yml +0 -24
  26. data/Rakefile +0 -8
  27. data/bin/rspec +0 -18
  28. data/spec/assets/a1.adoc +0 -8
  29. data/spec/assets/a2.adoc +0 -10
  30. data/spec/assets/a3.adoc +0 -9
  31. data/spec/assets/a3a.adoc +0 -7
  32. data/spec/assets/a4.adoc +0 -4
  33. data/spec/assets/boilerplate.xml +0 -4
  34. data/spec/assets/codes.yml +0 -695
  35. data/spec/assets/correct.png +0 -0
  36. data/spec/assets/corrupt.png +0 -0
  37. data/spec/assets/header.html +0 -7
  38. data/spec/assets/html-override.css +0 -1
  39. data/spec/assets/html.scss +0 -13
  40. data/spec/assets/htmlcover.html +0 -4
  41. data/spec/assets/htmlintro.html +0 -5
  42. data/spec/assets/i18n.yaml +0 -17
  43. data/spec/assets/iso.adoc +0 -10
  44. data/spec/assets/iso.headless.html +0 -33
  45. data/spec/assets/iso.xml +0 -8
  46. data/spec/assets/iso123.rxl +0 -107
  47. data/spec/assets/rice_image1.png +0 -0
  48. data/spec/assets/scripts.html +0 -3
  49. data/spec/assets/std.css +0 -2
  50. data/spec/assets/word-override.css +0 -1
  51. data/spec/assets/word.scss +0 -13
  52. data/spec/assets/wordcover.html +0 -3
  53. data/spec/assets/wordintro.html +0 -4
  54. data/spec/assets/xref_error.adoc +0 -8
  55. data/spec/examples/103_01_02.html +0 -247
  56. data/spec/examples/codes_table.html +0 -3174
  57. data/spec/examples/datamodel/address_class_profile.adoc +0 -5
  58. data/spec/examples/datamodel/address_class_profile.presentation.xml +0 -14
  59. data/spec/examples/datamodel/address_component_profile.adoc +0 -5
  60. data/spec/examples/datamodel/blank_definition_profile.adoc +0 -5
  61. data/spec/examples/datamodel/common_models_diagram.adoc +0 -5
  62. data/spec/examples/datamodel/models/models/AddressClassProfile.yml +0 -90
  63. data/spec/examples/datamodel/models/models/AddressComponentProfile.yml +0 -63
  64. data/spec/examples/datamodel/models/models/AddressComponentSpecification.yml +0 -15
  65. data/spec/examples/datamodel/models/models/AddressProfile.yml +0 -36
  66. data/spec/examples/datamodel/models/models/AttributeProfile.yml +0 -32
  67. data/spec/examples/datamodel/models/models/InterchangeAddressClassProfile.yml +0 -79
  68. data/spec/examples/datamodel/models/models/Localization copy.yml +0 -23
  69. data/spec/examples/datamodel/models/models/Localization.yml +0 -23
  70. data/spec/examples/datamodel/models/models/ProfileCompliantAddress.yml +0 -36
  71. data/spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml +0 -15
  72. data/spec/examples/datamodel/models/models/Signature.yml +0 -20
  73. data/spec/examples/datamodel/models/models/SignatureBlankDefinition.yml +0 -20
  74. data/spec/examples/datamodel/models/models/TextDirectionCode copy.yml +0 -16
  75. data/spec/examples/datamodel/models/models/TextDirectionCode.yml +0 -16
  76. data/spec/examples/datamodel/models/models/Validity.yml +0 -14
  77. data/spec/examples/datamodel/models/models/iso19160-1/Address.yml +0 -22
  78. data/spec/examples/datamodel/models/models/iso19160-1/AddressComponent.yml +0 -2
  79. data/spec/examples/datamodel/models/style.uml.inc +0 -37
  80. data/spec/examples/datamodel/models/views/CommonModels.yml +0 -9
  81. data/spec/examples/datamodel/models/views/TopDown.yml +0 -62
  82. data/spec/examples/datamodel/top_down_diagram.adoc +0 -5
  83. data/spec/examples/english.yaml +0 -69
  84. data/spec/examples/iso_123_.xml +0 -46
  85. data/spec/examples/iso_123_all_parts.xml +0 -46
  86. data/spec/examples/iso_123_no_year_note.xml +0 -47
  87. data/spec/examples/iso_124_.xml +0 -42
  88. data/spec/examples/iso_216_.xml +0 -48
  89. data/spec/examples/iso_iec_12382_.xml +0 -49
  90. data/spec/examples/rice.adoc +0 -715
  91. data/spec/examples/rice.preview.html +0 -1877
  92. data/spec/examples/rice.sh +0 -4
  93. data/spec/examples/rice_images/rice_image1.png +0 -0
  94. data/spec/examples/rice_images/rice_image2.png +0 -0
  95. data/spec/examples/rice_images/rice_image3_1.png +0 -0
  96. data/spec/examples/rice_images/rice_image3_2.png +0 -0
  97. data/spec/examples/rice_images/rice_image3_3.png +0 -0
  98. data/spec/fixtures/action_schemaexpg1.svg +0 -122
  99. data/spec/fixtures/datamodel_description_sections_tree.xml +0 -327
  100. data/spec/fixtures/diagram_definitions.lutaml +0 -22
  101. data/spec/fixtures/macros_datamodel/address_class_profile.xml +0 -149
  102. data/spec/fixtures/macros_datamodel/address_component_profile.xml +0 -71
  103. data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +0 -51
  104. data/spec/fixtures/macros_datamodel/common_models_diagram.xml +0 -7
  105. data/spec/fixtures/macros_datamodel/top_down_diagram.xml +0 -7
  106. data/spec/fixtures/test.exp +0 -121
  107. data/spec/fixtures/test.xmi +0 -9250
  108. data/spec/metanorma/base_spec.rb +0 -1125
  109. data/spec/metanorma/biblio_spec.rb +0 -1012
  110. data/spec/metanorma/blank_spec.rb +0 -37
  111. data/spec/metanorma/blocks_spec.rb +0 -1784
  112. data/spec/metanorma/cleanup_blocks_spec.rb +0 -1099
  113. data/spec/metanorma/cleanup_sections_spec.rb +0 -1849
  114. data/spec/metanorma/cleanup_spec.rb +0 -1931
  115. data/spec/metanorma/cleanup_terms_spec.rb +0 -1543
  116. data/spec/metanorma/datamodel/attributes_table_preprocessor_spec.rb +0 -111
  117. data/spec/metanorma/datamodel/diagram_preprocessor_spec.rb +0 -72
  118. data/spec/metanorma/inline_spec.rb +0 -785
  119. data/spec/metanorma/isobib_cache_spec.rb +0 -742
  120. data/spec/metanorma/lists_spec.rb +0 -232
  121. data/spec/metanorma/macros_concept_spec.rb +0 -1052
  122. data/spec/metanorma/macros_json2text_spec.rb +0 -10
  123. data/spec/metanorma/macros_plantuml_spec.rb +0 -402
  124. data/spec/metanorma/macros_spec.rb +0 -1183
  125. data/spec/metanorma/macros_yaml2text_spec.rb +0 -10
  126. data/spec/metanorma/processor_spec.rb +0 -96
  127. data/spec/metanorma/refs_spec.rb +0 -2807
  128. data/spec/metanorma/reqt_spec.rb +0 -130
  129. data/spec/metanorma/section_spec.rb +0 -1325
  130. data/spec/metanorma/table_spec.rb +0 -474
  131. data/spec/metanorma/validate_spec.rb +0 -886
  132. data/spec/spec_helper.rb +0 -290
  133. data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +0 -781
  134. data/spec/vcr_cassettes/bsi16341.yml +0 -486
  135. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +0 -611
  136. data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec1.yml +0 -149
  137. data/spec/vcr_cassettes/hide_refs.yml +0 -587
  138. data/spec/vcr_cassettes/isobib_get_123.yml +0 -149
  139. data/spec/vcr_cassettes/isobib_get_123_1.yml +0 -295
  140. data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +0 -385
  141. data/spec/vcr_cassettes/isobib_get_123_2.yml +0 -295
  142. data/spec/vcr_cassettes/isobib_get_123_2001.yml +0 -149
  143. data/spec/vcr_cassettes/isobib_get_124.yml +0 -149
  144. data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +0 -367
  145. data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +0 -560
  146. data/spec/vcr_cassettes/std-link.yml +0 -149
@@ -1,474 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe Metanorma::Standoc do
4
- it "processes basic tables" do
5
- input = <<~INPUT
6
- #{ASCIIDOC_BLANK_HDR}
7
- .Table Name
8
- |===
9
- |A |B |C
10
-
11
- h|1 |2 |3
12
- |===
13
- INPUT
14
- output = <<~OUTPUT
15
- #{BLANK_HDR}
16
- <sections>
17
- <table id="_">
18
- <name>Table Name</name>
19
- <thead>
20
- <tr>
21
- <th valign="top" align="left">A</th>
22
- <th valign="top" align="left">B</th>
23
- <th valign="top" align="left">C</th>
24
- </tr>
25
- </thead>
26
- <tbody>
27
- <tr>
28
- <th valign="top" align="left">1</th>
29
- <td valign="top" align="left">2</td>
30
- <td valign="top" align="left">3</td>
31
- </tr>
32
- </tbody>
33
- </table>
34
- </sections>
35
- </standard-document>
36
- OUTPUT
37
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
38
- .to be_equivalent_to xmlpp(output)
39
- end
40
-
41
- it "processes table widths" do
42
- input = <<~INPUT
43
- #{ASCIIDOC_BLANK_HDR}
44
- [width=75%]
45
- |===
46
- |A
47
- |B
48
- |===
49
-
50
- [width=75]
51
- |===
52
- |A
53
- |B
54
- |===
55
-
56
- [width=575]
57
- |===
58
- |A
59
- |B
60
- |===
61
-
62
- INPUT
63
- output = <<~OUTPUT
64
- #{BLANK_HDR}
65
- <sections>
66
- <table id='_' width='75%'>
67
- <tbody>
68
- <tr>
69
- <td valign='top' align='left'>A</td>
70
- </tr>
71
- <tr>
72
- <td valign='top' align='left'>B</td>
73
- </tr>
74
- </tbody>
75
- </table>
76
- <table id='_' width='75'>
77
- <tbody>
78
- <tr>
79
- <td valign='top' align='left'>A</td>
80
- </tr>
81
- <tr>
82
- <td valign='top' align='left'>B</td>
83
- </tr>
84
- </tbody>
85
- </table>
86
- <table id='_' width='575'>
87
- <tbody>
88
- <tr>
89
- <td valign='top' align='left'>A</td>
90
- </tr>
91
- <tr>
92
- <td valign='top' align='left'>B</td>
93
- </tr>
94
- </tbody>
95
- </table>
96
- </sections>
97
- </standard-document>
98
-
99
- OUTPUT
100
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
101
- .to be_equivalent_to xmlpp(output)
102
- end
103
-
104
- it "processes column widths in tables" do
105
- input = <<~INPUT
106
- #{ASCIIDOC_BLANK_HDR}
107
- [cols=".<,.^,^.>"]
108
- |===
109
- |A |B |C
110
-
111
- |1 |2 |3
112
- |===
113
-
114
- [cols="3"]
115
- |===
116
- |A |B |C
117
-
118
- |1 |2 |3
119
- |===
120
-
121
-
122
- [cols="1,2,6"]
123
- |===
124
- |A |B |C
125
-
126
- |1 |2 |3
127
- |===
128
- INPUT
129
- output = <<~OUTPUT
130
- #{BLANK_HDR}
131
- <sections>
132
- <table id='_'>
133
- <thead>
134
- <tr>
135
- <th valign='top' align='left'>A</th>
136
- <th valign='middle' align='left'>B</th>
137
- <th valign='bottom' align='center'>C</th>
138
- </tr>
139
- </thead>
140
- <tbody>
141
- <tr>
142
- <td valign='top' align='left'>1</td>
143
- <td valign='middle' align='left'>2</td>
144
- <td valign='bottom' align='center'>3</td>
145
- </tr>
146
- </tbody>
147
- </table>
148
- <table id='_'>
149
- <thead>
150
- <tr>
151
- <th valign='top' align='left'>A</th>
152
- <th valign='top' align='left'>B</th>
153
- <th valign='top' align='left'>C</th>
154
- </tr>
155
- </thead>
156
- <tbody>
157
- <tr>
158
- <td valign='top' align='left'>1</td>
159
- <td valign='top' align='left'>2</td>
160
- <td valign='top' align='left'>3</td>
161
- </tr>
162
- </tbody>
163
- </table>
164
- <table id='_'>
165
- <colgroup>
166
- <col width='11.1111%'/>
167
- <col width='22.2222%'/>
168
- <col width='66.6667%'/>
169
- </colgroup>
170
- <thead>
171
- <tr>
172
- <th valign='top' align='left'>A</th>
173
- <th valign='top' align='left'>B</th>
174
- <th valign='top' align='left'>C</th>
175
- </tr>
176
- </thead>
177
- <tbody>
178
- <tr>
179
- <td valign='top' align='left'>1</td>
180
- <td valign='top' align='left'>2</td>
181
- <td valign='top' align='left'>3</td>
182
- </tr>
183
- </tbody>
184
- </table>
185
- </sections>
186
- </standard-document>
187
- OUTPUT
188
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
189
- .to be_equivalent_to xmlpp(output)
190
- end
191
-
192
- it "inserts header rows in a table with a name and no header" do
193
- input = <<~INPUT
194
- #{ASCIIDOC_BLANK_HDR}
195
- [headerrows=2]
196
- .Table Name
197
- |===
198
- |A |B |C
199
- h|1 |2 |3
200
- h|1 |2 |3
201
- |===
202
- INPUT
203
- output = <<~OUTPUT
204
- #{BLANK_HDR}
205
- <sections>
206
- <table id="_">
207
- <name>Table Name</name>
208
- <thead><tr>
209
- <th valign="top" align="left">A</th>
210
- <th valign="top" align="left">B</th>
211
- <th valign="top" align="left">C</th>
212
- </tr><tr>
213
- <th valign="top" align="left">1</th>
214
- <th valign="top" align="left">2</th>
215
- <th valign="top" align="left">3</th>
216
- </tr></thead>
217
- <tbody>
218
-
219
-
220
- <tr>
221
- <th valign="top" align="left">1</th>
222
- <td valign="top" align="left">2</td>
223
- <td valign="top" align="left">3</td>
224
- </tr>
225
- </tbody>
226
- </table>
227
- </sections>
228
- </standard-document>
229
- OUTPUT
230
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
231
- .to be_equivalent_to xmlpp(output)
232
- end
233
-
234
- it "inserts header rows in a table without a name and no header" do
235
- input = <<~INPUT
236
- #{ASCIIDOC_BLANK_HDR}
237
- [headerrows=2]
238
- |===
239
- |A |B |C
240
- h|1 |2 |3
241
- h|1 |2 |3
242
- |===
243
- INPUT
244
- output = <<~OUTPUT
245
- #{BLANK_HDR}
246
- <sections>
247
- <table id="_"><thead><tr>
248
- <th valign="top" align="left">A</th>
249
- <th valign="top" align="left">B</th>
250
- <th valign="top" align="left">C</th>
251
- </tr><tr>
252
- <th valign="top" align="left">1</th>
253
- <th valign="top" align="left">2</th>
254
- <th valign="top" align="left">3</th>
255
- </tr></thead>
256
- <tbody>
257
-
258
-
259
- <tr>
260
- <th valign="top" align="left">1</th>
261
- <td valign="top" align="left">2</td>
262
- <td valign="top" align="left">3</td>
263
- </tr>
264
- </tbody>
265
- </table>
266
- </sections>
267
- </standard-document>
268
- OUTPUT
269
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
270
- .to be_equivalent_to xmlpp(output)
271
- end
272
-
273
- it "processes complex tables" do
274
- input = <<~INPUT
275
- #{ASCIIDOC_BLANK_HDR}
276
- [cols="<.^,^.<,^.>,^,^",options="header,footer",headerrows=2,alt="An extensive summary, and illustration, of tables",subsequence="A",options="unnumbered",summary="This is an extremely long, convoluted summary",width=70%,number="3",keep-with-next=true,keep-lines-together=true]
277
- .Maximum _permissible_ mass fraction of defects
278
- |===
279
- .2+|Defect 4+^| Maximum permissible mass fraction of defects in husked rice +
280
- stem:[w_max]
281
- | in husked rice | in milled rice (non-glutinous) | in husked parboiled rice | in milled parboiled rice
282
-
283
- | Extraneous matter: organic footnote:[Organic extraneous matter includes foreign seeds, husks, bran, parts of straw, etc.] | 1,0 | 0,5 | 1,0 | 0,5
284
- // not rendered list here
285
- | Extraneous matter: inorganic footnote:[Inorganic extraneous matter includes stones, sand, dust, etc.] | 0,5 | 0,5 | 0,5 | 0,5
286
- | Paddy | 2,5 | 0,3 | 2,5 | 0,3
287
- | Husked rice, non-parboiled | Not applicable | 1,0 | 1,0 | 1,0
288
- | Milled rice, non-parboiled | 1,0 | Not applicable | 1,0 | 1,0
289
- | Husked rice, parboiled | 1,0 | 1,0 | Not applicable | 1,0
290
- | Milled rice, parboiled | 1,0 | 1,0 | 1,0 | Not applicable
291
- | Chips | 0,1 | 0,1 | 0,1 | 0,1
292
- | HDK | 2,0 footnote:defectsmass[The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.] | 2,0 | 2,0 footnote:defectsmass[] | 2,0
293
- | Damaged kernels | 4,0 | 3,0 | 4,0 | 3,0
294
- | Immature and/or malformed kernels | 8,0 | 2,0 | 8,0 | 2,0
295
- | Chalky kernels | 5,0 footnote:defectsmass[] | 5,0 | Not applicable | Not applicable
296
- | Red kernels and red-streaked kernels | 12,0 | 12,0 | 12,0 footnote:defectsmass[] | 12,0
297
- | Partly gelatinized kernels | Not applicable | Not applicable | 11,0 footnote:defectsmass[] | 11,0
298
- | Pecks | Not applicable | Not applicable | 4,0 | 2,0
299
- | Waxy rice | 1,0 footnote:defectsmass[] | 1,0 | 1,0 footnote:defectsmass[] | 1,0
300
-
301
- 5+a| Live insects shall not be present. Dead insects shall be included in extraneous matter.
302
- |===
303
- INPUT
304
- output = <<~OUTPUT
305
- #{BLANK_HDR}
306
- <sections>
307
- <table id="_" alt="An extensive summary, and illustration, of tables" unnumbered="true" subsequence="A" summary="This is an extremely long, convoluted summary" width="70%" number="3" keep-with-next="true" keep-lines-together="true">
308
- <name>Maximum <em>permissible</em> mass fraction of defects</name>
309
- <thead>
310
- <tr>
311
- <th rowspan="2" valign="middle" align="left">Defect</th>
312
- <th colspan="4" valign="top" align="center">Maximum permissible mass fraction of defects in husked rice<br/>
313
- <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
314
- <mi>w</mi>
315
- </mrow>
316
- <mrow>
317
- <mo>max</mo>
318
- </mrow>
319
- </msub></math></stem></th>
320
- </tr>
321
- <tr>
322
- <th valign="middle" align="left">in husked rice</th>
323
- <th valign="top" align="center">in milled rice (non-glutinous)</th>
324
- <th valign="bottom" align="center">in husked parboiled rice</th>
325
- <th valign="top" align="center">in milled parboiled rice</th>
326
- </tr></thead>
327
- <tbody>
328
-
329
- <tr>
330
- <td valign="middle" align="left">Extraneous matter: organic<fn reference="a">
331
- <p id="_">Organic extraneous matter includes foreign seeds, husks, bran, parts of straw, etc.</p>
332
- </fn></td>
333
- <td valign="top" align="center">1,0</td>
334
- <td valign="bottom" align="center">0,5</td>
335
- <td valign="top" align="center">1,0</td>
336
- <td valign="top" align="center">0,5</td>
337
- </tr>
338
- <tr>
339
- <td valign="middle" align="left">Extraneous matter: inorganic<fn reference="b">
340
- <p id="_">Inorganic extraneous matter includes stones, sand, dust, etc.</p>
341
- </fn></td>
342
- <td valign="top" align="center">0,5</td>
343
- <td valign="bottom" align="center">0,5</td>
344
- <td valign="top" align="center">0,5</td>
345
- <td valign="top" align="center">0,5</td>
346
- </tr>
347
- <tr>
348
- <td valign="middle" align="left">Paddy</td>
349
- <td valign="top" align="center">2,5</td>
350
- <td valign="bottom" align="center">0,3</td>
351
- <td valign="top" align="center">2,5</td>
352
- <td valign="top" align="center">0,3</td>
353
- </tr>
354
- <tr>
355
- <td valign="middle" align="left">Husked rice, non-parboiled</td>
356
- <td valign="top" align="center">Not applicable</td>
357
- <td valign="bottom" align="center">1,0</td>
358
- <td valign="top" align="center">1,0</td>
359
- <td valign="top" align="center">1,0</td>
360
- </tr>
361
- <tr>
362
- <td valign="middle" align="left">Milled rice, non-parboiled</td>
363
- <td valign="top" align="center">1,0</td>
364
- <td valign="bottom" align="center">Not applicable</td>
365
- <td valign="top" align="center">1,0</td>
366
- <td valign="top" align="center">1,0</td>
367
- </tr>
368
- <tr>
369
- <td valign="middle" align="left">Husked rice, parboiled</td>
370
- <td valign="top" align="center">1,0</td>
371
- <td valign="bottom" align="center">1,0</td>
372
- <td valign="top" align="center">Not applicable</td>
373
- <td valign="top" align="center">1,0</td>
374
- </tr>
375
- <tr>
376
- <td valign="middle" align="left">Milled rice, parboiled</td>
377
- <td valign="top" align="center">1,0</td>
378
- <td valign="bottom" align="center">1,0</td>
379
- <td valign="top" align="center">1,0</td>
380
- <td valign="top" align="center">Not applicable</td>
381
- </tr>
382
- <tr>
383
- <td valign="middle" align="left">Chips</td>
384
- <td valign="top" align="center">0,1</td>
385
- <td valign="bottom" align="center">0,1</td>
386
- <td valign="top" align="center">0,1</td>
387
- <td valign="top" align="center">0,1</td>
388
- </tr>
389
- <tr>
390
- <td valign="middle" align="left">HDK</td>
391
- <td valign="top" align="center">2,0<fn reference="c">
392
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
393
- </fn></td>
394
- <td valign="bottom" align="center">2,0</td>
395
- <td valign="top" align="center">2,0<fn reference="c">
396
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
397
- </fn></td>
398
- <td valign="top" align="center">2,0</td>
399
- </tr>
400
- <tr>
401
- <td valign="middle" align="left">Damaged kernels</td>
402
- <td valign="top" align="center">4,0</td>
403
- <td valign="bottom" align="center">3,0</td>
404
- <td valign="top" align="center">4,0</td>
405
- <td valign="top" align="center">3,0</td>
406
- </tr>
407
- <tr>
408
- <td valign="middle" align="left">Immature and/or malformed kernels</td>
409
- <td valign="top" align="center">8,0</td>
410
- <td valign="bottom" align="center">2,0</td>
411
- <td valign="top" align="center">8,0</td>
412
- <td valign="top" align="center">2,0</td>
413
- </tr>
414
- <tr>
415
- <td valign="middle" align="left">Chalky kernels</td>
416
- <td valign="top" align="center">5,0<fn reference="c">
417
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
418
- </fn></td>
419
- <td valign="bottom" align="center">5,0</td>
420
- <td valign="top" align="center">Not applicable</td>
421
- <td valign="top" align="center">Not applicable</td>
422
- </tr>
423
- <tr>
424
- <td valign="middle" align="left">Red kernels and red-streaked kernels</td>
425
- <td valign="top" align="center">12,0</td>
426
- <td valign="bottom" align="center">12,0</td>
427
- <td valign="top" align="center">12,0<fn reference="c">
428
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
429
- </fn></td>
430
- <td valign="top" align="center">12,0</td>
431
- </tr>
432
- <tr>
433
- <td valign="middle" align="left">Partly gelatinized kernels</td>
434
- <td valign="top" align="center">Not applicable</td>
435
- <td valign="bottom" align="center">Not applicable</td>
436
- <td valign="top" align="center">11,0<fn reference="c">
437
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
438
- </fn></td>
439
- <td valign="top" align="center">11,0</td>
440
- </tr>
441
- <tr>
442
- <td valign="middle" align="left">Pecks</td>
443
- <td valign="top" align="center">Not applicable</td>
444
- <td valign="bottom" align="center">Not applicable</td>
445
- <td valign="top" align="center">4,0</td>
446
- <td valign="top" align="center">2,0</td>
447
- </tr>
448
- <tr>
449
- <td valign="middle" align="left">Waxy rice</td>
450
- <td valign="top" align="center">1,0<fn reference="c">
451
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
452
- </fn></td>
453
- <td valign="bottom" align="center">1,0</td>
454
- <td valign="top" align="center">1,0<fn reference="c">
455
- <p id="_">The maximum permissible mass fraction of defects shall be determined with respect to the mass fraction obtained after milling.</p>
456
- </fn></td>
457
- <td valign="top" align="center">1,0</td>
458
- </tr>
459
- </tbody>
460
- <tfoot>
461
- <tr>
462
- <td colspan="5" valign="middle" align="left">
463
- <p id="_">Live insects shall not be present. Dead insects shall be included in extraneous matter.</p>
464
- </td>
465
- </tr>
466
- </tfoot>
467
- </table>
468
- </sections>
469
- </standard-document>
470
- OUTPUT
471
- expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
472
- .to be_equivalent_to xmlpp(output)
473
- end
474
- end