metanorma-bsi 0.0.1 → 0.1.0

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.

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