metanorma-bsi 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of metanorma-bsi might be problematic. Click here for more details.

Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +43 -0
  3. data/.github/workflows/release_github_packages.yml +49 -0
  4. data/.hound.yml +3 -1
  5. data/.rubocop.yml +4 -8
  6. data/README.adoc +95 -11
  7. data/lib/asciidoctor/bsi/biblio.rng +1 -0
  8. data/lib/asciidoctor/bsi/bsi.rng +32 -4
  9. data/lib/asciidoctor/bsi/bsi_intro_en.xml +87 -61
  10. data/lib/asciidoctor/bsi/cleanup.rb +15 -8
  11. data/lib/asciidoctor/bsi/cleanup_ref.rb +10 -21
  12. data/lib/asciidoctor/bsi/converter.rb +7 -5
  13. data/lib/asciidoctor/bsi/front.rb +26 -5
  14. data/lib/asciidoctor/bsi/isodoc.rng +191 -3
  15. data/lib/asciidoctor/bsi/isostandard.rng +12 -0
  16. data/lib/asciidoctor/bsi/validate.rb +5 -6
  17. data/lib/asciidoctor/bsi/validate_list.rb +2 -2
  18. data/lib/isodoc/bsi/base_convert.rb +2 -1
  19. data/lib/isodoc/bsi/bsi.international-standard.xsl +3380 -2349
  20. data/lib/isodoc/bsi/html/htmlstyle.css +43 -22
  21. data/lib/isodoc/bsi/html/htmlstyle.scss +46 -22
  22. data/lib/isodoc/bsi/html_convert.rb +2 -2
  23. data/lib/isodoc/bsi/i18n-en.yaml +4 -4
  24. data/lib/isodoc/bsi/metadata.rb +2 -2
  25. data/lib/isodoc/bsi/presentation_xml_convert.rb +26 -5
  26. data/lib/isodoc/bsi/xref.rb +11 -4
  27. data/lib/metanorma/bsi/version.rb +1 -1
  28. data/metanorma-bsi.gemspec +2 -2
  29. data/spec/asciidoctor/base_spec.rb +564 -494
  30. data/spec/asciidoctor/blocks_spec.rb +192 -195
  31. data/spec/asciidoctor/cleanup_spec.rb +361 -361
  32. data/spec/asciidoctor/refs_spec.rb +8 -78
  33. data/spec/asciidoctor/section_spec.rb +227 -227
  34. data/spec/asciidoctor/validate_spec.rb +26 -1
  35. data/spec/isodoc/blocks_spec.rb +56 -21
  36. data/spec/isodoc/i18n_spec.rb +156 -234
  37. data/spec/isodoc/inline_spec.rb +7 -7
  38. data/spec/isodoc/iso_spec.rb +4 -4
  39. data/spec/isodoc/metadata_spec.rb +0 -1
  40. data/spec/isodoc/ref_spec.rb +7 -7
  41. data/spec/isodoc/section_spec.rb +400 -343
  42. data/spec/isodoc/terms_spec.rb +224 -225
  43. data/spec/isodoc/xref_spec.rb +1347 -1360
  44. data/spec/metanorma/processor_spec.rb +37 -40
  45. data/spec/spec_helper.rb +6 -4
  46. data/spec/vcr_cassettes/iso-639.yml +19 -19
  47. data/spec/vcr_cassettes/isobib_get_639_1967.yml +17 -17
  48. data/spec/vcr_cassettes/multistandard.yml +15 -193
  49. metadata +7 -5
@@ -1,22 +1,22 @@
1
1
  require "spec_helper"
2
2
 
3
3
  RSpec.describe Asciidoctor::BSI do
4
- before(:all) do
5
- @blank_hdr = blank_hdr_gen
6
- end
4
+ before(:all) do
5
+ @blank_hdr = blank_hdr_gen
6
+ end
7
7
 
8
8
  it "removes empty text elements" do
9
9
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
10
10
  #{ASCIIDOC_BLANK_HDR}
11
11
  == {blank}
12
12
  INPUT
13
- #{@blank_hdr}
14
- <sections>
15
- <clause id="_" inline-header="false" obligation="normative">
13
+ #{@blank_hdr}
14
+ <sections>
15
+ <clause id="_" inline-header="false" obligation="normative">
16
16
 
17
- </clause>
18
- </sections>
19
- </bsi-standard>
17
+ </clause>
18
+ </sections>
19
+ </bsi-standard>
20
20
  OUTPUT
21
21
  end
22
22
 
@@ -31,30 +31,30 @@ end
31
31
 
32
32
  Time
33
33
  INPUT
34
- #{@blank_hdr}
35
- <sections>
36
- <terms id="_" obligation="normative">
37
- <title>Terms and definitions</title>
38
- <p id="_">For the purposes of this British Standard,
39
- the following terms and definitions apply.</p>
40
- #{TERMS_BOILERPLATE}
41
- <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
42
- <mi>t</mi>
43
- </mrow>
44
- <mrow>
45
- <mn>90</mn>
46
- </mrow>
47
- </msub></math></stem></preferred><admitted><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
48
- <mi>t</mi>
49
- </mrow>
50
- <mrow>
51
- <mn>91</mn>
52
- </mrow>
53
- </msub></math></stem></admitted>
54
- <definition><p id="_">Time</p></definition></term>
55
- </terms>
56
- </sections>
57
- </bsi-standard>
34
+ #{@blank_hdr}
35
+ <sections>
36
+ <terms id="_" obligation="normative">
37
+ <title>Terms and definitions</title>
38
+ <p id="_">For the purposes of this British Standard,#{' '}
39
+ the following terms and definitions apply.</p>
40
+ #{TERMS_BOILERPLATE}
41
+ <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
42
+ <mi>t</mi>
43
+ </mrow>
44
+ <mrow>
45
+ <mn>90</mn>
46
+ </mrow>
47
+ </msub></math></stem></preferred><admitted><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
48
+ <mi>t</mi>
49
+ </mrow>
50
+ <mrow>
51
+ <mn>91</mn>
52
+ </mrow>
53
+ </msub></math></stem></admitted>
54
+ <definition><p id="_">Time</p></definition></term>
55
+ </terms>
56
+ </sections>
57
+ </bsi-standard>
58
58
  OUTPUT
59
59
  end
60
60
 
@@ -79,32 +79,32 @@ end
79
79
 
80
80
  This paragraph is extraneous
81
81
  INPUT
82
- #{@blank_hdr}
83
- <sections>
84
- <terms id="_" obligation="normative">
85
- <title>Terms and definitions</title>
86
- <p id="_">For the purposes of this British Standard,
87
- the following terms and definitions apply.</p>
88
- #{TERMS_BOILERPLATE}
89
- <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
90
- <mi>t</mi>
91
- </mrow>
92
- <mrow>
93
- <mn>90</mn>
94
- </mrow>
95
- </msub></math></stem></preferred><definition><formula id="_">
96
- <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
97
- <mi>t</mi>
98
- </mrow>
99
- <mrow>
100
- <mi>A</mi>
101
- </mrow>
102
- </msub></math></stem>
103
- </formula><p id="_">This paragraph is extraneous</p></definition>
104
- </term>
105
- </terms>
106
- </sections>
107
- </bsi-standard>
82
+ #{@blank_hdr}
83
+ <sections>
84
+ <terms id="_" obligation="normative">
85
+ <title>Terms and definitions</title>
86
+ <p id="_">For the purposes of this British Standard,#{' '}
87
+ the following terms and definitions apply.</p>
88
+ #{TERMS_BOILERPLATE}
89
+ <term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
90
+ <mi>t</mi>
91
+ </mrow>
92
+ <mrow>
93
+ <mn>90</mn>
94
+ </mrow>
95
+ </msub></math></stem></preferred><definition><formula id="_">
96
+ <stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
97
+ <mi>t</mi>
98
+ </mrow>
99
+ <mrow>
100
+ <mi>A</mi>
101
+ </mrow>
102
+ </msub></math></stem>
103
+ </formula><p id="_">This paragraph is extraneous</p></definition>
104
+ </term>
105
+ </terms>
106
+ </sections>
107
+ </bsi-standard>
108
108
  OUTPUT
109
109
  end
110
110
 
@@ -121,24 +121,24 @@ end
121
121
 
122
122
  This paragraph is extraneous
123
123
  INPUT
124
- #{@blank_hdr}
125
- <sections>
126
- <terms id="_" obligation="normative"><title>Terms and definitions</title>
127
- <p id="_">For the purposes of this British Standard,
128
- the following terms and definitions apply.</p>
129
- #{TERMS_BOILERPLATE}
130
- <p id='_'>I am boilerplate</p>
131
- <ul id='_'>
132
- <li>
133
- <p id='_'>So am I</p>
134
- </li>
135
- </ul>
136
- <term id="term-time">
137
- <preferred>Time</preferred>
138
- <definition><p id="_">This paragraph is extraneous</p></definition>
139
- </term></terms>
140
- </sections>
141
- </bsi-standard>
124
+ #{@blank_hdr}
125
+ <sections>
126
+ <terms id="_" obligation="normative"><title>Terms and definitions</title>
127
+ <p id="_">For the purposes of this British Standard,#{' '}
128
+ the following terms and definitions apply.</p>
129
+ #{TERMS_BOILERPLATE}
130
+ <p id='_'>I am boilerplate</p>
131
+ <ul id='_'>
132
+ <li>
133
+ <p id='_'>So am I</p>
134
+ </li>
135
+ </ul>
136
+ <term id="term-time">
137
+ <preferred>Time</preferred>
138
+ <definition><p id="_">This paragraph is extraneous</p></definition>
139
+ </term></terms>
140
+ </sections>
141
+ </bsi-standard>
142
142
  OUTPUT
143
143
  end
144
144
 
@@ -151,36 +151,36 @@ end
151
151
  == Clause
152
152
  * [[[iso216,ISO 216]]], _Reference_
153
153
  INPUT
154
- #{@blank_hdr}
155
- <preface>
156
- <foreword id="_" obligation="informative">
157
- <title>FOREWORD</title>
158
- <p id="_">
159
- <eref type="inline" bibitemid="iso216" citeas="[1]"/>
160
- </p>
161
- </foreword></preface><sections>
162
- </sections><bibliography><references id="_" obligation="informative" normative="false">
163
- <title>Bibliography</title>
164
- <p id='_'>
165
- For dated references, only the edition cited applies. For undated
166
- references, the latest edition of the referenced document (including any
167
- amendments) applies.
168
- </p>
169
- <bibitem id="iso216" type="standard">
170
- <title format="text/plain">Reference</title>
171
- <docidentifier type='metanorma'>[1]</docidentifier>
172
- <docidentifier>ISO 216</docidentifier>
173
- <docnumber>216</docnumber>
174
- <contributor>
175
- <role type="publisher"/>
176
- <organization>
177
- <name>International Organization for Standardization</name>
178
- <abbreviation>ISO</abbreviation>
179
- </organization>
180
- </contributor>
181
- </bibitem>
182
- </references></bibliography>
183
- </bsi-standard>
154
+ #{@blank_hdr}
155
+ <preface>
156
+ <foreword id="_" obligation="informative">
157
+ <title>Foreword</title>
158
+ <p id="_">
159
+ <eref type="inline" bibitemid="iso216" citeas="[1]"/>
160
+ </p>
161
+ </foreword></preface><sections>
162
+ </sections><bibliography><references id="_" obligation="informative" normative="false">
163
+ <title>Bibliography</title>
164
+ <p id='_'>
165
+ For dated references, only the edition cited applies. For undated
166
+ references, the latest edition of the referenced document (including any
167
+ amendments) applies.
168
+ </p>
169
+ <bibitem id="iso216" type="standard">
170
+ <title format="text/plain">Reference</title>
171
+ <docidentifier type='metanorma'>[1]</docidentifier>
172
+ <docidentifier>ISO 216</docidentifier>
173
+ <docnumber>216</docnumber>
174
+ <contributor>
175
+ <role type="publisher"/>
176
+ <organization>
177
+ <name>International Organization for Standardization</name>
178
+ <abbreviation>ISO</abbreviation>
179
+ </organization>
180
+ </contributor>
181
+ </bibitem>
182
+ </references></bibliography>
183
+ </bsi-standard>
184
184
  OUTPUT
185
185
  end
186
186
 
@@ -193,27 +193,27 @@ end
193
193
 
194
194
  [.source]
195
195
  <<ISO2191,section=1>>
196
- INPUT
197
- #{@blank_hdr}
198
- <sections>
199
- <terms id="_" obligation="normative">
200
- <title>Terms and definitions</title>
201
- <p id="_">For the purposes of this British Standard, the following terms and definitions apply.</p>
202
- #{TERMS_BOILERPLATE}
203
- <term id="term-term1">
204
- <preferred>Term1</preferred>
205
- <termsource status="identical">
206
- <origin bibitemid="ISO2191" type="inline" citeas="">
207
- <localityStack>
208
- <locality type="section"><referenceFrom>1</referenceFrom></locality>
209
- </localityStack>
210
- </origin>
211
- </termsource>
212
- </term>
213
- </terms>
214
- </sections>
215
- </bsi-standard>
216
- OUTPUT
196
+ INPUT
197
+ #{@blank_hdr}
198
+ <sections>
199
+ <terms id="_" obligation="normative">
200
+ <title>Terms and definitions</title>
201
+ <p id="_">For the purposes of this British Standard, the following terms and definitions apply.</p>
202
+ #{TERMS_BOILERPLATE}
203
+ <term id="term-term1">
204
+ <preferred>Term1</preferred>
205
+ <termsource status="identical">
206
+ <origin bibitemid="ISO2191" type="inline" citeas="">
207
+ <localityStack>
208
+ <locality type="section"><referenceFrom>1</referenceFrom></locality>
209
+ </localityStack>
210
+ </origin>
211
+ </termsource>
212
+ </term>
213
+ </terms>
214
+ </sections>
215
+ </bsi-standard>
216
+ OUTPUT
217
217
  end
218
218
 
219
219
  it "removes extraneous material from Normative References" do
@@ -254,11 +254,11 @@ end
254
254
  #{ASCIIDOC_BLANK_HDR}
255
255
  Paragraph
256
256
  INPUT
257
- #{@blank_hdr}
258
- <sections>
259
- <p id="_">Paragraph</p>
260
- </sections>
261
- </bsi-standard>
257
+ #{@blank_hdr}
258
+ <sections>
259
+ <p id="_">Paragraph</p>
260
+ </sections>
261
+ </bsi-standard>
262
262
  OUTPUT
263
263
  end
264
264
 
@@ -270,15 +270,15 @@ end
270
270
  NOTE: This note has no ID
271
271
  ====
272
272
  INPUT
273
- #{@blank_hdr}
274
- <sections>
275
- <example id="_">
276
- <note id="_">
277
- <p id="_">This note has no ID</p>
278
- </note>
279
- </example>
280
- </sections>
281
- </bsi-standard>
273
+ #{@blank_hdr}
274
+ <sections>
275
+ <example id="_">
276
+ <note id="_">
277
+ <p id="_">This note has no ID</p>
278
+ </note>
279
+ </example>
280
+ </sections>
281
+ </bsi-standard>
282
282
  OUTPUT
283
283
  end
284
284
 
@@ -291,22 +291,22 @@ end
291
291
 
292
292
  footnote:[This is another footnote to a figure]
293
293
  INPUT
294
- #{@blank_hdr}
295
- <sections><figure id="_">
296
- <image src="spec/examples/rice_images/rice_image1.png" id="_" mimetype="image/png" height="auto" width="auto"/>
297
- <fn reference="A">
298
- <p id="_">This is a footnote to a figure</p>
299
- </fn><fn reference="B">
300
- <p id="_">This is another footnote to a figure</p>
301
- </fn></figure>
302
-
303
- </sections>
304
-
305
- </bsi-standard>
294
+ #{@blank_hdr}
295
+ <sections><figure id="_">
296
+ <image src="spec/examples/rice_images/rice_image1.png" id="_" mimetype="image/png" height="auto" width="auto"/>
297
+ <fn reference="A">
298
+ <p id="_">This is a footnote to a figure</p>
299
+ </fn><fn reference="B">
300
+ <p id="_">This is another footnote to a figure</p>
301
+ </fn></figure>
302
+
303
+ </sections>
304
+
305
+ </bsi-standard>
306
306
  OUTPUT
307
307
  end
308
308
 
309
- it "footnotes tables" do
309
+ it "footnotes tables" do
310
310
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
311
311
  #{ASCIIDOC_BLANK_HDR}
312
312
 
@@ -314,23 +314,23 @@ end
314
314
  | a | b footnote:[footnote text]
315
315
  |===
316
316
  INPUT
317
- #{@blank_hdr}
318
- <sections>
319
- <table id='_'>
320
- <tbody>
321
- <tr>
322
- <td valign='top' align='left'>a</td>
323
- <td valign='top' align='left'>
324
- b
325
- <fn reference='A'>
326
- <p id='_'>footnote text</p>
327
- </fn>
328
- </td>
329
- </tr>
330
- </tbody>
331
- </table>
332
- </sections>
333
- </bsi-standard>
317
+ #{@blank_hdr}
318
+ <sections>
319
+ <table id='_'>
320
+ <tbody>
321
+ <tr>
322
+ <td valign='top' align='left'>a</td>
323
+ <td valign='top' align='left'>
324
+ b
325
+ <fn reference='A'>
326
+ <p id='_'>footnote text</p>
327
+ </fn>
328
+ </td>
329
+ </tr>
330
+ </tbody>
331
+ </table>
332
+ </sections>
333
+ </bsi-standard>
334
334
  OUTPUT
335
335
  end
336
336
 
@@ -346,202 +346,202 @@ end
346
346
 
347
347
  Text
348
348
  INPUT
349
- #{@blank_hdr}
350
- <sections><clause id="_" inline-header="false" obligation="normative">
351
- <title>Clause</title>
352
- <p id="_">Text</p>
353
- </clause>
354
- </sections><annex id="_" inline-header="false" obligation="normative">
355
- <title>Clause</title>
356
- <p id="_">Text</p>
357
- </annex>
358
- </bsi-standard>
349
+ #{@blank_hdr}
350
+ <sections><clause id="_" inline-header="false" obligation="normative">
351
+ <title>Clause</title>
352
+ <p id="_">Text</p>
353
+ </clause>
354
+ </sections><annex id="_" inline-header="false" obligation="normative">
355
+ <title>Clause</title>
356
+ <p id="_">Text</p>
357
+ </annex>
358
+ </bsi-standard>
359
359
  OUTPUT
360
360
  end
361
361
 
362
362
  it "styles ordered lists" do
363
363
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :bsi, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
364
- #{ASCIIDOC_BLANK_HDR}
365
-
366
- == Clause1
367
-
368
- . A
369
- .. B
370
- ... C
371
- .... D
372
- ..... E
373
- ...... F
374
- ....... G
375
- ........ H
376
-
377
- [note]
378
- --
379
- . A
380
- .. B
381
- --
382
-
383
- . A
384
- .. B
385
- ... C
386
- .... D
387
- ..... E
388
- .. F
389
- .. G
390
- ... H
391
- .... I
392
- ..... J
393
-
394
- [note]
395
- --
396
- . A
397
- .. B
398
- --
399
-
400
- . A
401
- .. B
402
- ... C
403
- .... D
404
- ..... E
364
+ #{ASCIIDOC_BLANK_HDR}
365
+
366
+ == Clause1
367
+
368
+ . A
369
+ .. B
370
+ ... C
371
+ .... D
372
+ ..... E
373
+ ...... F
374
+ ....... G
375
+ ........ H
376
+
377
+ [note]
378
+ --
379
+ . A
380
+ .. B
381
+ --
382
+
383
+ . A
384
+ .. B
385
+ ... C
386
+ .... D
387
+ ..... E
388
+ .. F
389
+ .. G
390
+ ... H
391
+ .... I
392
+ ..... J
393
+
394
+ [note]
395
+ --
396
+ . A
397
+ .. B
398
+ --
399
+
400
+ . A
401
+ .. B
402
+ ... C
403
+ .... D
404
+ ..... E
405
405
 
406
406
  INPUT
407
- #{@blank_hdr}
408
- <sections>
409
- <clause id='_' inline-header='false' obligation='normative'>
410
- <title>Clause1</title>
411
- <ol id='_' type='alphabet'>
412
- <li>
413
- <p id='_'>A</p>
414
- <ol id='_' type='arabic'>
415
- <li>
416
- <p id='_'>B</p>
417
- <ol id='_' type='roman'>
418
- <li>
419
- <p id='_'>C</p>
420
- <ol id='_' type='alphabet'>
421
- <li>
422
- <p id='_'>D</p>
423
- <ol id='_' type='arabic'>
424
- <li>
425
- <p id='_'>E</p>
426
- <ol id='_' type='roman'>
427
- <li>
428
- <p id='_'>F</p>
429
- <ol id='_' type='alphabet'>
430
- <li>
431
- <p id='_'>G</p>
432
- <ol id='_' type='arabic'>
433
- <li>
434
- <p id='_'>H</p>
435
- </li>
436
- </ol>
437
- </li>
438
- </ol>
439
- </li>
440
- </ol>
441
- </li>
442
- </ol>
443
- </li>
444
- </ol>
445
- </li>
446
- </ol>
447
- </li>
448
- </ol>
449
- </li>
450
- </ol>
451
- <ol id='_' type='arabic'>
452
- <li>
453
- <p id='_'>A</p>
454
- <ol id='_' type='roman'>
455
- <li>
456
- <p id='_'>B</p>
457
- </li>
458
- </ol>
459
- </li>
460
- </ol>
461
- <ol id='_' type='roman'>
462
- <li>
463
- <p id='_'>A</p>
464
- <ol id='_' type='alphabet'>
465
- <li>
466
- <p id='_'>B</p>
467
- <ol id='_' type='arabic'>
468
- <li>
469
- <p id='_'>C</p>
470
- <ol id='_' type='roman'>
471
- <li>
472
- <p id='_'>D</p>
473
- <ol id='_' type='alphabet'>
474
- <li>
475
- <p id='_'>E</p>
476
- </li>
477
- </ol>
478
- </li>
479
- </ol>
480
- </li>
481
- </ol>
482
- </li>
483
- <li>
484
- <p id='_'>F</p>
485
- </li>
486
- <li>
487
- <p id='_'>G</p>
488
- <ol id='_' type='arabic'>
489
- <li>
490
- <p id='_'>H</p>
491
- <ol id='_' type='roman'>
492
- <li>
493
- <p id='_'>I</p>
494
- <ol id='_' type='alphabet'>
495
- <li>
496
- <p id='_'>J</p>
497
- </li>
498
- </ol>
499
- </li>
500
- </ol>
501
- </li>
502
- </ol>
503
- </li>
504
- </ol>
505
- </li>
506
- </ol>
507
- <ol id='_' type='alphabet'>
508
- <li>
509
- <p id='_'>A</p>
510
- <ol id='_' type='arabic'>
511
- <li>
512
- <p id='_'>B</p>
513
- </li>
514
- </ol>
515
- </li>
516
- </ol>
517
- <ol id='_' type='arabic'>
518
- <li>
519
- <p id='_'>A</p>
520
- <ol id='_' type='roman'>
521
- <li>
522
- <p id='_'>B</p>
523
- <ol id='_' type='alphabet'>
524
- <li>
525
- <p id='_'>C</p>
526
- <ol id='_' type='arabic'>
527
- <li>
528
- <p id='_'>D</p>
529
- <ol id='_' type='roman'>
530
- <li>
531
- <p id='_'>E</p>
532
- </li>
533
- </ol>
534
- </li>
535
- </ol>
536
- </li>
537
- </ol>
538
- </li>
539
- </ol>
540
- </li>
541
- </ol>
542
- </clause>
543
- </sections>
544
- </bsi-standard>
407
+ #{@blank_hdr}
408
+ <sections>
409
+ <clause id='_' inline-header='false' obligation='normative'>
410
+ <title>Clause1</title>
411
+ <ol id='_' type='alphabet'>
412
+ <li>
413
+ <p id='_'>A</p>
414
+ <ol id='_' type='arabic'>
415
+ <li>
416
+ <p id='_'>B</p>
417
+ <ol id='_' type='roman'>
418
+ <li>
419
+ <p id='_'>C</p>
420
+ <ol id='_' type='alphabet'>
421
+ <li>
422
+ <p id='_'>D</p>
423
+ <ol id='_' type='arabic'>
424
+ <li>
425
+ <p id='_'>E</p>
426
+ <ol id='_' type='roman'>
427
+ <li>
428
+ <p id='_'>F</p>
429
+ <ol id='_' type='alphabet'>
430
+ <li>
431
+ <p id='_'>G</p>
432
+ <ol id='_' type='arabic'>
433
+ <li>
434
+ <p id='_'>H</p>
435
+ </li>
436
+ </ol>
437
+ </li>
438
+ </ol>
439
+ </li>
440
+ </ol>
441
+ </li>
442
+ </ol>
443
+ </li>
444
+ </ol>
445
+ </li>
446
+ </ol>
447
+ </li>
448
+ </ol>
449
+ </li>
450
+ </ol>
451
+ <ol id='_' type='arabic'>
452
+ <li>
453
+ <p id='_'>A</p>
454
+ <ol id='_' type='roman'>
455
+ <li>
456
+ <p id='_'>B</p>
457
+ </li>
458
+ </ol>
459
+ </li>
460
+ </ol>
461
+ <ol id='_' type='roman'>
462
+ <li>
463
+ <p id='_'>A</p>
464
+ <ol id='_' type='alphabet'>
465
+ <li>
466
+ <p id='_'>B</p>
467
+ <ol id='_' type='arabic'>
468
+ <li>
469
+ <p id='_'>C</p>
470
+ <ol id='_' type='roman'>
471
+ <li>
472
+ <p id='_'>D</p>
473
+ <ol id='_' type='alphabet'>
474
+ <li>
475
+ <p id='_'>E</p>
476
+ </li>
477
+ </ol>
478
+ </li>
479
+ </ol>
480
+ </li>
481
+ </ol>
482
+ </li>
483
+ <li>
484
+ <p id='_'>F</p>
485
+ </li>
486
+ <li>
487
+ <p id='_'>G</p>
488
+ <ol id='_' type='arabic'>
489
+ <li>
490
+ <p id='_'>H</p>
491
+ <ol id='_' type='roman'>
492
+ <li>
493
+ <p id='_'>I</p>
494
+ <ol id='_' type='alphabet'>
495
+ <li>
496
+ <p id='_'>J</p>
497
+ </li>
498
+ </ol>
499
+ </li>
500
+ </ol>
501
+ </li>
502
+ </ol>
503
+ </li>
504
+ </ol>
505
+ </li>
506
+ </ol>
507
+ <ol id='_' type='alphabet'>
508
+ <li>
509
+ <p id='_'>A</p>
510
+ <ol id='_' type='arabic'>
511
+ <li>
512
+ <p id='_'>B</p>
513
+ </li>
514
+ </ol>
515
+ </li>
516
+ </ol>
517
+ <ol id='_' type='arabic'>
518
+ <li>
519
+ <p id='_'>A</p>
520
+ <ol id='_' type='roman'>
521
+ <li>
522
+ <p id='_'>B</p>
523
+ <ol id='_' type='alphabet'>
524
+ <li>
525
+ <p id='_'>C</p>
526
+ <ol id='_' type='arabic'>
527
+ <li>
528
+ <p id='_'>D</p>
529
+ <ol id='_' type='roman'>
530
+ <li>
531
+ <p id='_'>E</p>
532
+ </li>
533
+ </ol>
534
+ </li>
535
+ </ol>
536
+ </li>
537
+ </ol>
538
+ </li>
539
+ </ol>
540
+ </li>
541
+ </ol>
542
+ </clause>
543
+ </sections>
544
+ </bsi-standard>
545
545
  OUTPUT
546
546
  end
547
547
  end