metanorma-iso 1.5.3 → 1.5.4
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.
- checksums.yaml +4 -4
- data/lib/asciidoctor/iso/base.rb +1 -1
- data/lib/asciidoctor/iso/front.rb +2 -2
- data/lib/asciidoctor/iso/front_id.rb +5 -5
- data/lib/asciidoctor/iso/isodoc.rng +4 -1
- data/lib/isodoc/iso/html/wordstyle.css +10 -9
- data/lib/isodoc/iso/html/wordstyle.scss +15 -9
- data/lib/isodoc/iso/word_convert.rb +17 -13
- data/lib/metanorma/iso/version.rb +1 -1
- data/spec/asciidoctor-iso/cleanup_spec.rb +27 -3
- data/spec/asciidoctor-iso/inline_spec.rb +7 -1
- data/spec/asciidoctor-iso/table_spec.rb +7 -1
- data/spec/isodoc/postproc_spec.rb +76 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9b80a62eb663a85ad1428d97e32114a9b6341303689f0d43a5bac63e071e4740
|
|
4
|
+
data.tar.gz: 11412874aa684c02fde2eb00899f1f4290b3cede75b6981f6df11c2b0e99be29
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8a513b51527259420edc479f2cb6a2438e47383c66a1aceb2386cfba0ce7b2c7f16d3c55661cf83c6b5d8db35550c1a7354d81474df66d32df3a4dce6c79f104
|
|
7
|
+
data.tar.gz: 7676550f3771804a384e1b1d7f7948e46e950be96844031108f5d0ef019bbc605d18c8367b428858ea36d97b398134e34a529cb8ab4b09a82ac20594140c420a
|
data/lib/asciidoctor/iso/base.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Asciidoctor
|
|
|
13
13
|
super
|
|
14
14
|
structured_id(node, xml)
|
|
15
15
|
xml.stagename stage_name(get_stage(node), get_substage(node),
|
|
16
|
-
node
|
|
16
|
+
doctype(node), node.attr("iteration"))
|
|
17
17
|
@amd && a = node.attr("updates-document-type") and
|
|
18
18
|
xml.updates_document_type a
|
|
19
19
|
end
|
|
@@ -68,7 +68,7 @@ module Asciidoctor
|
|
|
68
68
|
stage = get_stage(node)
|
|
69
69
|
substage = get_substage(node)
|
|
70
70
|
xml.status do |s|
|
|
71
|
-
s.stage stage, **attr_code(abbreviation: stage_abbr(stage, substage, node
|
|
71
|
+
s.stage stage, **attr_code(abbreviation: stage_abbr(stage, substage, doctype(node)))
|
|
72
72
|
s.substage substage
|
|
73
73
|
node.attr("iteration") && (s.iteration node.attr("iteration"))
|
|
74
74
|
end
|
|
@@ -95,7 +95,7 @@ module Asciidoctor
|
|
|
95
95
|
def add_amd_parts(dn, node)
|
|
96
96
|
a = node.attr("amendment-number")
|
|
97
97
|
c = node.attr("corrigendum-number")
|
|
98
|
-
case node
|
|
98
|
+
case doctype(node)
|
|
99
99
|
when "amendment"
|
|
100
100
|
"#{dn}/Amd #{node.attr('amendment-number')}"
|
|
101
101
|
when "technical-corrigendum"
|
|
@@ -134,11 +134,11 @@ module Asciidoctor
|
|
|
134
134
|
|
|
135
135
|
def id_stage_abbr(stage, substage, node)
|
|
136
136
|
ret = IsoDoc::Iso::Metadata.new("en", "Latn", @i18n).
|
|
137
|
-
status_abbrev(stage_abbr(stage, substage, node
|
|
137
|
+
status_abbrev(stage_abbr(stage, substage, doctype(node)),
|
|
138
138
|
substage, node.attr("iteration"),
|
|
139
|
-
node.attr("draft"), node
|
|
139
|
+
node.attr("draft"), doctype(node))
|
|
140
140
|
if %w(amendment technical-corrigendum amendment
|
|
141
|
-
technical-corrigendum).include?(node
|
|
141
|
+
technical-corrigendum).include?(doctype(node))
|
|
142
142
|
ret = ret + " " unless %w(40 50).include?(stage)
|
|
143
143
|
end
|
|
144
144
|
ret
|
|
@@ -184,7 +184,7 @@ module Asciidoctor
|
|
|
184
184
|
end
|
|
185
185
|
|
|
186
186
|
def get_typeabbr(node)
|
|
187
|
-
case node
|
|
187
|
+
case doctype(node)
|
|
188
188
|
when "technical-report" then "TR "
|
|
189
189
|
when "technical-specification" then "TS "
|
|
190
190
|
else
|
|
@@ -42,8 +42,11 @@
|
|
|
42
42
|
</define>
|
|
43
43
|
<define name="xref">
|
|
44
44
|
<element name="xref">
|
|
45
|
+
<!-- attribute target { xsd:IDREF }, -->
|
|
45
46
|
<attribute name="target">
|
|
46
|
-
<data type="
|
|
47
|
+
<data type="string">
|
|
48
|
+
<param name="pattern">\i\c*|\c+#\c+</param>
|
|
49
|
+
</data>
|
|
47
50
|
</attribute>
|
|
48
51
|
<optional>
|
|
49
52
|
<attribute name="type">
|
|
@@ -263,7 +263,6 @@ h1.Annex {
|
|
|
263
263
|
line-height: 12.5pt;
|
|
264
264
|
mso-pagination: widow-orphan;
|
|
265
265
|
page-break-after: avoid;
|
|
266
|
-
mso-outline-level: 2;
|
|
267
266
|
mso-hyphenate: none;
|
|
268
267
|
tab-stops: 27.0pt 35.0pt;
|
|
269
268
|
{% if doctype == "Amendment" or doctype == "Technical Corrigendum" %}
|
|
@@ -282,7 +281,8 @@ h1.Annex {
|
|
|
282
281
|
mso-bidi-font-weight: normal; }
|
|
283
282
|
|
|
284
283
|
h2 {
|
|
285
|
-
mso-list: l1 level2 lfo6;
|
|
284
|
+
mso-list: l1 level2 lfo6;
|
|
285
|
+
mso-outline-level: 2; }
|
|
286
286
|
|
|
287
287
|
.h3Annex, h3 {
|
|
288
288
|
mso-style-priority: 3;
|
|
@@ -317,7 +317,8 @@ h2 {
|
|
|
317
317
|
mso-bidi-font-weight: normal; }
|
|
318
318
|
|
|
319
319
|
h3 {
|
|
320
|
-
mso-list: l1 level3 lfo6;
|
|
320
|
+
mso-list: l1 level3 lfo6;
|
|
321
|
+
mso-outline-level: 3; }
|
|
321
322
|
|
|
322
323
|
.h4Annex, h4 {
|
|
323
324
|
mso-style-priority: 4;
|
|
@@ -334,7 +335,6 @@ h3 {
|
|
|
334
335
|
line-height: 12.0pt;
|
|
335
336
|
mso-pagination: widow-orphan;
|
|
336
337
|
page-break-after: avoid;
|
|
337
|
-
mso-outline-level: 4;
|
|
338
338
|
mso-hyphenate: none;
|
|
339
339
|
tab-stops: 51.05pt 57.0pt 68.0pt;
|
|
340
340
|
font-size: 11.0pt;
|
|
@@ -351,7 +351,8 @@ h3 {
|
|
|
351
351
|
mso-bidi-font-weight: normal; }
|
|
352
352
|
|
|
353
353
|
h4 {
|
|
354
|
-
mso-list: l1 level4 lfo6;
|
|
354
|
+
mso-list: l1 level4 lfo6;
|
|
355
|
+
mso-outline-level: 4; }
|
|
355
356
|
|
|
356
357
|
.h5Annex, h5 {
|
|
357
358
|
mso-style-priority: 5;
|
|
@@ -368,7 +369,6 @@ h4 {
|
|
|
368
369
|
line-height: 12.0pt;
|
|
369
370
|
mso-pagination: widow-orphan;
|
|
370
371
|
page-break-after: avoid;
|
|
371
|
-
mso-outline-level: 5;
|
|
372
372
|
mso-hyphenate: none;
|
|
373
373
|
tab-stops: 51.05pt list 54.0pt;
|
|
374
374
|
font-size: 11.0pt;
|
|
@@ -385,7 +385,8 @@ h4 {
|
|
|
385
385
|
mso-bidi-font-weight: normal; }
|
|
386
386
|
|
|
387
387
|
h5 {
|
|
388
|
-
mso-list: l1 level5 lfo6;
|
|
388
|
+
mso-list: l1 level5 lfo6;
|
|
389
|
+
mso-outline-level: 5; }
|
|
389
390
|
|
|
390
391
|
h6 {
|
|
391
392
|
mso-style-priority: 6;
|
|
@@ -402,7 +403,6 @@ h6 {
|
|
|
402
403
|
line-height: 12.0pt;
|
|
403
404
|
mso-pagination: widow-orphan;
|
|
404
405
|
page-break-after: avoid;
|
|
405
|
-
mso-outline-level: 6;
|
|
406
406
|
mso-hyphenate: none;
|
|
407
407
|
tab-stops: 51.05pt list 72.0pt;
|
|
408
408
|
font-size: 11.0pt;
|
|
@@ -419,7 +419,8 @@ h6 {
|
|
|
419
419
|
mso-bidi-font-weight: normal; }
|
|
420
420
|
|
|
421
421
|
h6 {
|
|
422
|
-
mso-list: l1 level6 lfo6;
|
|
422
|
+
mso-list: l1 level6 lfo6;
|
|
423
|
+
mso-outline-level: 6; }
|
|
423
424
|
|
|
424
425
|
p.MsoToc1, li.MsoToc1, div.MsoToc1 {
|
|
425
426
|
mso-style-priority: 39;
|
|
@@ -246,7 +246,6 @@ h1.Annex
|
|
|
246
246
|
line-height:12.5pt;
|
|
247
247
|
mso-pagination:widow-orphan;
|
|
248
248
|
page-break-after:avoid;
|
|
249
|
-
mso-outline-level:2;
|
|
250
249
|
mso-hyphenate:none;
|
|
251
250
|
tab-stops:27.0pt 35.0pt;
|
|
252
251
|
{% if doctype == "Amendment" or doctype == "Technical Corrigendum" %}
|
|
@@ -264,7 +263,9 @@ h1.Annex
|
|
|
264
263
|
mso-fareast-language:JA;
|
|
265
264
|
mso-bidi-font-weight:normal;}
|
|
266
265
|
h2
|
|
267
|
-
{ mso-list:l1 level2 lfo6;
|
|
266
|
+
{ mso-list:l1 level2 lfo6;
|
|
267
|
+
mso-outline-level:2;
|
|
268
|
+
}
|
|
268
269
|
.h3Annex, h3
|
|
269
270
|
{mso-style-priority:3;
|
|
270
271
|
mso-style-unhide:no;
|
|
@@ -296,7 +297,9 @@ h2
|
|
|
296
297
|
mso-ansi-language:EN-GB;
|
|
297
298
|
mso-fareast-language:JA;
|
|
298
299
|
mso-bidi-font-weight:normal;}
|
|
299
|
-
h3 {mso-list:l1 level3 lfo6;
|
|
300
|
+
h3 {mso-list:l1 level3 lfo6;
|
|
301
|
+
mso-outline-level:3;
|
|
302
|
+
}
|
|
300
303
|
.h4Annex, h4
|
|
301
304
|
{mso-style-priority:4;
|
|
302
305
|
mso-style-unhide:no;
|
|
@@ -312,7 +315,6 @@ h3 {mso-list:l1 level3 lfo6;}
|
|
|
312
315
|
line-height:12.0pt;
|
|
313
316
|
mso-pagination:widow-orphan;
|
|
314
317
|
page-break-after:avoid;
|
|
315
|
-
mso-outline-level:4;
|
|
316
318
|
mso-hyphenate:none;
|
|
317
319
|
tab-stops:51.05pt 57.0pt 68.0pt;
|
|
318
320
|
font-size:11.0pt;
|
|
@@ -327,7 +329,9 @@ h3 {mso-list:l1 level3 lfo6;}
|
|
|
327
329
|
mso-ansi-language:EN-GB;
|
|
328
330
|
mso-fareast-language:JA;
|
|
329
331
|
mso-bidi-font-weight:normal;}
|
|
330
|
-
h4 {mso-list:l1 level4 lfo6;
|
|
332
|
+
h4 {mso-list:l1 level4 lfo6;
|
|
333
|
+
mso-outline-level:4;
|
|
334
|
+
}
|
|
331
335
|
.h5Annex, h5
|
|
332
336
|
{mso-style-priority:5;
|
|
333
337
|
mso-style-unhide:no;
|
|
@@ -343,7 +347,6 @@ h4 {mso-list:l1 level4 lfo6;}
|
|
|
343
347
|
line-height:12.0pt;
|
|
344
348
|
mso-pagination:widow-orphan;
|
|
345
349
|
page-break-after:avoid;
|
|
346
|
-
mso-outline-level:5;
|
|
347
350
|
mso-hyphenate:none;
|
|
348
351
|
tab-stops:51.05pt list 54.0pt;
|
|
349
352
|
font-size:11.0pt;
|
|
@@ -358,7 +361,9 @@ h4 {mso-list:l1 level4 lfo6;}
|
|
|
358
361
|
mso-ansi-language:EN-GB;
|
|
359
362
|
mso-fareast-language:JA;
|
|
360
363
|
mso-bidi-font-weight:normal;}
|
|
361
|
-
h5 {mso-list:l1 level5 lfo6;
|
|
364
|
+
h5 {mso-list:l1 level5 lfo6;
|
|
365
|
+
mso-outline-level:5;
|
|
366
|
+
}
|
|
362
367
|
h6
|
|
363
368
|
{mso-style-priority:6;
|
|
364
369
|
mso-style-unhide:no;
|
|
@@ -374,7 +379,6 @@ h6
|
|
|
374
379
|
line-height:12.0pt;
|
|
375
380
|
mso-pagination:widow-orphan;
|
|
376
381
|
page-break-after:avoid;
|
|
377
|
-
mso-outline-level:6;
|
|
378
382
|
mso-hyphenate:none;
|
|
379
383
|
tab-stops:51.05pt list 72.0pt;
|
|
380
384
|
font-size:11.0pt;
|
|
@@ -389,7 +393,9 @@ h6
|
|
|
389
393
|
mso-ansi-language:EN-GB;
|
|
390
394
|
mso-fareast-language:JA;
|
|
391
395
|
mso-bidi-font-weight:normal;}
|
|
392
|
-
h6 {mso-list:l1 level6 lfo6;
|
|
396
|
+
h6 {mso-list:l1 level6 lfo6;
|
|
397
|
+
mso-outline-level:6;
|
|
398
|
+
}
|
|
393
399
|
p.MsoToc1, li.MsoToc1, div.MsoToc1
|
|
394
400
|
{mso-style-priority:39;
|
|
395
401
|
mso-style-unhide:no;
|
|
@@ -8,15 +8,19 @@ module IsoDoc
|
|
|
8
8
|
def initialize(options)
|
|
9
9
|
@libdir = File.dirname(__FILE__)
|
|
10
10
|
super
|
|
11
|
+
@wordToClevels = options[:doctoclevels].to_i
|
|
12
|
+
@wordToClevels = 3 if @wordToClevels.zero?
|
|
13
|
+
@htmlToClevels = options[:htmltoclevels].to_i
|
|
14
|
+
@htmlToClevels = 3 if @htmlToClevels.zero?
|
|
11
15
|
end
|
|
12
16
|
|
|
13
17
|
def default_fonts(options)
|
|
14
18
|
{
|
|
15
19
|
bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' :
|
|
16
20
|
'"Cambria",serif'),
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' :
|
|
22
|
+
'"Cambria",serif'),
|
|
23
|
+
monospacefont: '"Courier New",monospace',
|
|
20
24
|
}
|
|
21
25
|
end
|
|
22
26
|
|
|
@@ -24,16 +28,16 @@ module IsoDoc
|
|
|
24
28
|
{
|
|
25
29
|
htmlstylesheet: (options[:alt] ? html_doc_path("style-human.scss") :
|
|
26
30
|
html_doc_path("style-iso.scss")),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
htmlcoverpage: html_doc_path("html_iso_titlepage.html"),
|
|
32
|
+
htmlintropage: html_doc_path("html_iso_intro.html"),
|
|
33
|
+
scripts: html_doc_path("scripts.html"),
|
|
34
|
+
wordstylesheet: html_doc_path("wordstyle.scss"),
|
|
35
|
+
standardstylesheet: html_doc_path("isodoc.scss"),
|
|
36
|
+
header: html_doc_path("header.html"),
|
|
37
|
+
wordcoverpage: html_doc_path("word_iso_titlepage.html"),
|
|
38
|
+
wordintropage: html_doc_path("word_iso_intro.html"),
|
|
39
|
+
ulstyle: "l3",
|
|
40
|
+
olstyle: "l2",
|
|
37
41
|
}
|
|
38
42
|
end
|
|
39
43
|
|
|
@@ -32,7 +32,19 @@ RSpec.describe Asciidoctor::ISO do
|
|
|
32
32
|
<terms id="_" obligation="normative">
|
|
33
33
|
<title>Terms and definitions</title>
|
|
34
34
|
#{TERM_BOILERPLATE}
|
|
35
|
-
<term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><
|
|
35
|
+
<term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
|
|
36
|
+
<mi>t</mi>
|
|
37
|
+
</mrow>
|
|
38
|
+
<mrow>
|
|
39
|
+
<mn>90</mn>
|
|
40
|
+
</mrow>
|
|
41
|
+
</msub></math></stem></preferred><admitted><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
|
|
42
|
+
<mi>t</mi>
|
|
43
|
+
</mrow>
|
|
44
|
+
<mrow>
|
|
45
|
+
<mn>91</mn>
|
|
46
|
+
</mrow>
|
|
47
|
+
</msub></math></stem></admitted>
|
|
36
48
|
<definition><p id="_">Time</p></definition></term>
|
|
37
49
|
</terms>
|
|
38
50
|
</sections>
|
|
@@ -90,8 +102,20 @@ RSpec.describe Asciidoctor::ISO do
|
|
|
90
102
|
<terms id="_" obligation="normative">
|
|
91
103
|
<title>Terms and definitions</title>
|
|
92
104
|
#{TERM_BOILERPLATE}
|
|
93
|
-
<term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><
|
|
94
|
-
|
|
105
|
+
<term id="term-t90"><preferred><stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
|
|
106
|
+
<mi>t</mi>
|
|
107
|
+
</mrow>
|
|
108
|
+
<mrow>
|
|
109
|
+
<mn>90</mn>
|
|
110
|
+
</mrow>
|
|
111
|
+
</msub></math></stem></preferred><definition><formula id="_">
|
|
112
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
|
|
113
|
+
<mi>t</mi>
|
|
114
|
+
</mrow>
|
|
115
|
+
<mrow>
|
|
116
|
+
<mi>A</mi>
|
|
117
|
+
</mrow>
|
|
118
|
+
</msub></math></stem>
|
|
95
119
|
</formula><p id="_">This paragraph is extraneous</p></definition>
|
|
96
120
|
</term>
|
|
97
121
|
</terms>
|
|
@@ -28,7 +28,13 @@ RSpec.describe Asciidoctor::ISO do
|
|
|
28
28
|
‘single quote’
|
|
29
29
|
super<sup>script</sup>
|
|
30
30
|
sub<sub>script</sub>
|
|
31
|
-
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><
|
|
31
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
|
|
32
|
+
<mi>a</mi>
|
|
33
|
+
</mrow>
|
|
34
|
+
<mrow>
|
|
35
|
+
<mn>90</mn>
|
|
36
|
+
</mrow>
|
|
37
|
+
</msub></math></stem>
|
|
32
38
|
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub> <mrow> <mrow> <mi mathvariant="bold-italic">F</mi> </mrow> </mrow> <mrow> <mrow> <mi mathvariant="bold-italic">Α</mi> </mrow> </mrow> </msub> </math></stem>
|
|
33
39
|
<admitted>alt</admitted>
|
|
34
40
|
<deprecates>deprecated</deprecates>
|
|
@@ -150,7 +150,13 @@ RSpec.describe Asciidoctor::ISO do
|
|
|
150
150
|
<tr>
|
|
151
151
|
<th rowspan="2" align="left">Defect</th>
|
|
152
152
|
<th colspan="4" align="center">Maximum permissible mass fraction of defects in husked rice<br/>
|
|
153
|
-
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><
|
|
153
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mrow>
|
|
154
|
+
<mi>w</mi>
|
|
155
|
+
</mrow>
|
|
156
|
+
<mrow>
|
|
157
|
+
<mo>max</mo>
|
|
158
|
+
</mrow>
|
|
159
|
+
</msub></math></stem></th>
|
|
154
160
|
</tr>
|
|
155
161
|
<tr>
|
|
156
162
|
<th align="left">in husked rice</th>
|
|
@@ -215,7 +215,7 @@ RSpec.describe IsoDoc do
|
|
|
215
215
|
expect(xmlpp("<div>" + word.gsub(/_Toc\d\d+/, "_Toc") )).to be_equivalent_to xmlpp(<<~'OUTPUT')
|
|
216
216
|
<div>
|
|
217
217
|
<p class="MsoToc1"><span lang="EN-GB" xml:lang="EN-GB"><span style="mso-element:field-begin"></span><span style="mso-spacerun:yes"> </span>TOC
|
|
218
|
-
\o "1-
|
|
218
|
+
\o "1-3" \h \z \u <span style="mso-element:field-separator"></span></span>
|
|
219
219
|
<span class="MsoHyperlink"><span lang="EN-GB" style="mso-no-proof:yes" xml:lang="EN-GB">
|
|
220
220
|
<a href="#_Toc">1 Clause 4<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
221
221
|
<span style="mso-tab-count:1 dotted">. </span>
|
|
@@ -705,4 +705,79 @@ expect((IsoDoc::Iso::PresentationXMLConvert.new({wordstylesheet: "spec/assets/wo
|
|
|
705
705
|
expect(word).to include '<p class="zzWarning">This document is not an ISO International Standard'
|
|
706
706
|
end
|
|
707
707
|
|
|
708
|
+
it "populates Word ToC" do
|
|
709
|
+
FileUtils.rm_f "test.doc"
|
|
710
|
+
IsoDoc::WordConvert.new({wordstylesheet: "spec/assets/word.css", htmlstylesheet: "spec/assets/html.scss", wordintropage: "spec/assets/wordintro.html"}).convert("test", <<~"INPUT", false)
|
|
711
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
|
712
|
+
<sections>
|
|
713
|
+
<clause id="A" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
|
|
714
|
+
<title>Introduction<bookmark id="Q"/> to this<fn reference="1">
|
|
715
|
+
<p id="_ff27c067-2785-4551-96cf-0a73530ff1e6">Formerly denoted as 15 % (m/m).</p>
|
|
716
|
+
</fn></title>
|
|
717
|
+
</clause>
|
|
718
|
+
<clause id="O" inline-header="false" obligation="normative">
|
|
719
|
+
<title>Clause 4.2</title>
|
|
720
|
+
<p>A<fn reference="1">
|
|
721
|
+
<p id="_ff27c067-2785-4551-96cf-0a73530ff1e6">Formerly denoted as 15 % (m/m).</p>
|
|
722
|
+
</fn></p>
|
|
723
|
+
<clause id="P" inline-header="false" obligation="normative">
|
|
724
|
+
<title>Clause 4.2.1</title>
|
|
725
|
+
</clause>
|
|
726
|
+
</clause></clause>
|
|
727
|
+
</sections>
|
|
728
|
+
</iso-standard>
|
|
729
|
+
INPUT
|
|
730
|
+
word = File.read("test.doc").sub(/^.*<div class="WordSection2">/m, '<div class="WordSection2">').
|
|
731
|
+
sub(%r{<p class="MsoNormal">\s*<br clear="all" class="section"/>\s*</p>\s*<div class="WordSection3">.*$}m, "")
|
|
732
|
+
expect(xmlpp(word.gsub(/_Toc\d\d+/, "_Toc"))).to be_equivalent_to xmlpp(<<~'OUTPUT')
|
|
733
|
+
<div class="WordSection2">
|
|
734
|
+
An empty word intro page.
|
|
735
|
+
|
|
736
|
+
<p class="MsoToc1"><span lang="EN-GB" xml:lang="EN-GB"><span style="mso-element:field-begin"></span><span style="mso-spacerun:yes"> </span>TOC
|
|
737
|
+
\o "1-2" \h \z \u <span style="mso-element:field-separator"></span></span>
|
|
738
|
+
<span class="MsoHyperlink"><span lang="EN-GB" style="mso-no-proof:yes" xml:lang="EN-GB">
|
|
739
|
+
<a href="#_Toc">Clause 4<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
740
|
+
<span style="mso-tab-count:1 dotted">. </span>
|
|
741
|
+
</span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
742
|
+
<span style="mso-element:field-begin"></span></span>
|
|
743
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"> PAGEREF _Toc \h </span>
|
|
744
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"><span style="mso-element:field-separator"></span></span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">1</span>
|
|
745
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"></span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"><span style="mso-element:field-end"></span></span></a></span></span></p>
|
|
746
|
+
<p class="MsoToc2">
|
|
747
|
+
<span class="MsoHyperlink">
|
|
748
|
+
<span lang="EN-GB" style="mso-no-proof:yes" xml:lang="EN-GB">
|
|
749
|
+
<a href="#_Toc">Introduction to this<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
750
|
+
<span style="mso-tab-count:1 dotted">. </span>
|
|
751
|
+
</span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
752
|
+
<span style="mso-element:field-begin"></span></span>
|
|
753
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"> PAGEREF _Toc \h </span>
|
|
754
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"><span style="mso-element:field-separator"></span></span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">1</span>
|
|
755
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"></span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"><span style="mso-element:field-end"></span></span></a></span>
|
|
756
|
+
</span>
|
|
757
|
+
</p>
|
|
758
|
+
<p class="MsoToc2">
|
|
759
|
+
<span class="MsoHyperlink">
|
|
760
|
+
<span lang="EN-GB" style="mso-no-proof:yes" xml:lang="EN-GB">
|
|
761
|
+
<a href="#_Toc">Clause 4.2<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
762
|
+
<span style="mso-tab-count:1 dotted">. </span>
|
|
763
|
+
</span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
764
|
+
<span style="mso-element:field-begin"></span></span>
|
|
765
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"> PAGEREF _Toc \h </span>
|
|
766
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"><span style="mso-element:field-separator"></span></span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">1</span>
|
|
767
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"></span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"><span style="mso-element:field-end"></span></span></a></span>
|
|
768
|
+
</span>
|
|
769
|
+
</p>
|
|
770
|
+
<p class="MsoToc1">
|
|
771
|
+
<span lang="EN-GB" xml:lang="EN-GB">
|
|
772
|
+
<span style="mso-element:field-end"></span>
|
|
773
|
+
</span>
|
|
774
|
+
<span lang="EN-GB" xml:lang="EN-GB">
|
|
775
|
+
<p class="MsoNormal"> </p>
|
|
776
|
+
</span>
|
|
777
|
+
</p>
|
|
778
|
+
<p class="MsoNormal"> </p>
|
|
779
|
+
</div>
|
|
780
|
+
OUTPUT
|
|
781
|
+
end
|
|
782
|
+
|
|
708
783
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metanorma-iso
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.5.
|
|
4
|
+
version: 1.5.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-08-
|
|
11
|
+
date: 2020-08-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ruby-jing
|