metanorma-iso 1.0.12 → 1.0.13
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/docs/adopting-spec.adoc +1 -1
- data/docs/adopting-toolchain.adoc +3 -3
- data/docs/guidance.adoc +6 -6
- data/docs/navigation.adoc +16 -16
- data/lib/asciidoctor/iso/biblio.rng +31 -0
- data/lib/asciidoctor/iso/isodoc.rng +3 -31
- data/lib/asciidoctor/iso/isostandard.rng +6 -3
- data/lib/isodoc/iso/html/isodoc.scss +0 -8
- data/lib/isodoc/iso/html/style-human.scss +15 -2
- data/lib/isodoc/iso/html/style-iso.scss +15 -2
- data/lib/isodoc/iso/html/wordstyle.scss +0 -2
- data/lib/isodoc/iso/html_convert.rb +4 -3
- data/lib/isodoc/iso/word_convert.rb +5 -4
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +1 -1
- data/spec/asciidoctor-iso/refs_spec.rb +1 -1
- data/spec/assets/iso.doc +16 -17
- data/spec/isodoc/postproc_spec.rb +1 -1
- data/spec/isodoc/section_spec.rb +10 -10
- data/spec/isodoc/terms_spec.rb +5 -3
- data/spec/spec_helper.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 179190ccdc49a7ddf4f806925dcf997b6285d13d4309ead22f55f8aeaf231889
|
|
4
|
+
data.tar.gz: afc5ed2bd10715e2a812aa5407deb4c37b77f2a5f665565c074c7cab46f76b80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5489d3e8cf75741c9f55318594a33e951de37a147c734a3cd4c5ce3d9360ab1427acae5cf0eb1d825f515d5c60d9ed199aeae804d56be671a444ebba36036558
|
|
7
|
+
data.tar.gz: aa09a4f8e3927f98c84739d9b4df370d447b168cb298ddf17af3449cc2be653befe2242fc93e456c08cd663df1cd97cb328847dc080d085563e9001a400c2924
|
data/docs/adopting-spec.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= How can I adopt the StanDoc specification for my own publications?
|
|
2
2
|
|
|
3
|
-
TIP: Copy the RSD schema from https://github.com/riboseinc/metanorma-iso/blob/master/grammars/rsd.rng. You may need to adapt some of the enums in the model, or in the ISO Standards model that it inherits; but in the first instance, you can just ignore the differences—and ignore the validation feedback that the toolset gives.
|
|
3
|
+
TIP: Copy the RSD schema from https://github.com/riboseinc/metanorma-model-iso/blob/master/grammars/rsd.rng. You may need to adapt some of the enums in the model, or in the ISO Standards model that it inherits; but in the first instance, you can just ignore the differences—and ignore the validation feedback that the toolset gives.
|
|
4
4
|
|
|
5
5
|
The Standoc specification is expressed in http://www.relaxng.org[RelaxNG schema for XML], and is intended to be customisable for different types of publication. The customisation of Standoc relies on inheritance, with the following schemas embedded hierarchically:
|
|
6
6
|
|
|
@@ -20,9 +20,9 @@ The modules involve classes which rely on inheritance from other classes; the cu
|
|
|
20
20
|
|
|
21
21
|
In the case of `Asciidoctor::X` classes, the changes you will need to make involve the intermediate XML representation of your document, which is built up through Nokogiri Builder; e.g. adding different enums, or adding new elements. The adaptations in `Asciidoctor::Sample::Converter` are limited, and most projects can take them across as is.
|
|
22
22
|
|
|
23
|
-
The customisations needed for Metanorma::Sample::Processor are minor, and involve invoking methods specific to the gem for document generation.
|
|
23
|
+
The customisations needed for `Metanorma::Sample::Processor` are minor, and involve invoking methods specific to the gem for document generation.
|
|
24
24
|
|
|
25
|
-
The customisations needed for Isodoc::Sample are more extensive. Three base classes are involved:
|
|
25
|
+
The customisations needed for `Isodoc::Sample` are more extensive. Three base classes are involved:
|
|
26
26
|
|
|
27
27
|
* `Isodoc::Metadata` processes the metadata about the document stored in `//bibdata`. This information typically ends up in the document title page, as opposed to the document body. For that reason, metadata is extracted into a hash, which is passed to document output (title page, Word header) via the https://shopify.github.io/liquid/[Liquid template language].
|
|
28
28
|
* `Isodoc::HtmlConvert` converts Standoc XML to HTML.
|
|
@@ -32,7 +32,7 @@ The `Isodoc::HtmlConvert` and `Isodoc::WordConvert` overlap substantially, as bo
|
|
|
32
32
|
|
|
33
33
|
=== Asciidoctor::Standoc customisation in metanorma-sample
|
|
34
34
|
|
|
35
|
-
Examples from Asciidoctor::Sample in metanorma-sample. In the following snippets, the parameter `node` represents the current node of the Asciidoctor document, and `xml` represents the Nokogiri Builder node of the XML output.
|
|
35
|
+
Examples from `Asciidoctor::Sample` in metanorma-sample. In the following snippets, the parameter `node` represents the current node of the Asciidoctor document, and `xml` represents the Nokogiri Builder node of the XML output.
|
|
36
36
|
|
|
37
37
|
* The boilerplate representation of the document's author, publisher and copyright holder names Acme instead of ISO as the responsible organisation.
|
|
38
38
|
|
data/docs/guidance.adoc
CHANGED
|
@@ -98,8 +98,8 @@ For references to standards with a document identifier, the entry must be preced
|
|
|
98
98
|
[subs="quotes"]
|
|
99
99
|
ISO 6646 in this example would be cited from elsewhere in the document through crossreferences to the `ricepotentialmilling` identifier; e.g. `<< ricepotentialmilling>>` (which will be rendered as `ISO 6646`), `<<``ricepotentialmilling, section 5``>>` (which will be rendered as `ISO 6646, Section 5`), `<<``ricepotentialmilling,section 5: the foregoing discussion``>>` (which will be tagged in the XML representation as Section 5 of ISO 6646, but will be displayed as `the foregoing discussion`.)
|
|
100
100
|
|
|
101
|
-
TIP
|
|
102
|
-
|
|
101
|
+
[TIP]
|
|
102
|
+
====
|
|
103
103
|
If an ISO reference is in preparation, ISO/IEC DIR 2 dictates that details of the reference status be given as a footnote. In Asciidoc, this is done by giving the date as a double dash, and following the bibliographic anchor with a footnote macro:
|
|
104
104
|
|
|
105
105
|
[source,asciidoc]
|
|
@@ -113,7 +113,7 @@ If an ISO reference includes all parts of the standard, that is indicated by app
|
|
|
113
113
|
--
|
|
114
114
|
* [[[ISO16634,ISO 16634 (all parts)]]] _Cereals, pulses, milled cereal products, oilseeds and animal feeding stuffs -- Determination of the total nitrogen content by combustion according to the Dumas principle and calculation of the crude protein content_
|
|
115
115
|
--
|
|
116
|
-
|
|
116
|
+
====
|
|
117
117
|
|
|
118
118
|
In informative references, references to standards documents are still given with the same format of bibliographic anchor, and they are cited by their document identifier -- although they are displayed with an incrementing reference number in brackets, for consistency with any bibliographic entries that are not standards documents. (This convention is taken from ISO.) So
|
|
119
119
|
|
|
@@ -309,8 +309,8 @@ Informative clauses are indicated with the attribute `[obligation=informative]`;
|
|
|
309
309
|
|
|
310
310
|
All annexes must be preceded by the style attribute `[appendix]`, in order to be recognised correctly. Like all clauses, annexes are normative by default, an informative annex is indicated with `[appendix,obligation=informative]`.
|
|
311
311
|
|
|
312
|
-
TIP
|
|
313
|
-
|
|
312
|
+
[TIP]
|
|
313
|
+
====
|
|
314
314
|
In ISO, Appendixes to annexes can occur, although they are not mentioned in ISO/IEC DIR 2; ISO/IEC DIR 1 features them. They are marked up as immediate subsections of annexes, and must be tagged with an option attribute of "appendix":
|
|
315
315
|
|
|
316
316
|
[source,asciidoc]
|
|
@@ -323,7 +323,7 @@ Text
|
|
|
323
323
|
=== Appendix 1
|
|
324
324
|
Text
|
|
325
325
|
--
|
|
326
|
-
|
|
326
|
+
====
|
|
327
327
|
|
|
328
328
|
The numbering of annexes and appendices is automatic: do not insert "Annex A" or "Appendix 1" as part of the title. Annex and Appendix titles can be left blank, as with Clauses.
|
|
329
329
|
|
data/docs/navigation.adoc
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
-
|
|
2
|
+
items:
|
|
3
|
+
- title: Introduction
|
|
4
4
|
items:
|
|
5
|
-
- quickstart
|
|
6
|
-
-
|
|
5
|
+
- { title: Quickstart, path: quickstart/ }
|
|
6
|
+
- title: Using Metanorma-ISO
|
|
7
7
|
items:
|
|
8
|
-
- guidance
|
|
9
|
-
- outputs
|
|
10
|
-
- htmloutput
|
|
11
|
-
- customisation
|
|
12
|
-
- asciiiso-syntax
|
|
13
|
-
-
|
|
8
|
+
- { title: Authoring guidance, path: guidance/ }
|
|
9
|
+
- { title: Output formats, path: outputs/ }
|
|
10
|
+
- { title: HTML output, path: htmloutput/ }
|
|
11
|
+
- { title: Customisation, path: customisation/ }
|
|
12
|
+
- { title: AsciiISO syntax, path: asciiiso-syntax/ }
|
|
13
|
+
- title: "Adopting Metanorma: FAQ"
|
|
14
14
|
items:
|
|
15
|
-
- adopting-spec
|
|
16
|
-
- adopting-toolchain
|
|
17
|
-
- styling-output-html
|
|
18
|
-
- styling-output-msword
|
|
19
|
-
- localizing-output
|
|
20
|
-
- replacing-asciidoc
|
|
15
|
+
- { title: How to adopt StanDoc in your own specs, path: adopting-spec/ }
|
|
16
|
+
- { title: How to use StanDoc toolchain for your specs, path: adopting-toolchain/ }
|
|
17
|
+
- { title: How to style HTML output, path: styling-output-html/ }
|
|
18
|
+
- { title: How to style MS Word output, path: styling-output-msword/ }
|
|
19
|
+
- { title: How to localize the output, path: localizing-output/ }
|
|
20
|
+
- { title: How to bypass AsciiDoc, path: replacing-asciidoc/ }
|
|
21
21
|
---
|
|
22
22
|
|
|
23
23
|
= Navigation
|
|
@@ -488,6 +488,9 @@
|
|
|
488
488
|
<optional>
|
|
489
489
|
<ref name="edition"/>
|
|
490
490
|
</optional>
|
|
491
|
+
<optional>
|
|
492
|
+
<ref name="version"/>
|
|
493
|
+
</optional>
|
|
491
494
|
<zeroOrMore>
|
|
492
495
|
<ref name="biblionote"/>
|
|
493
496
|
</zeroOrMore>
|
|
@@ -866,6 +869,34 @@
|
|
|
866
869
|
</zeroOrMore>
|
|
867
870
|
</element>
|
|
868
871
|
</define>
|
|
872
|
+
<define name="version">
|
|
873
|
+
<element name="version">
|
|
874
|
+
<optional>
|
|
875
|
+
<ref name="vedition"/>
|
|
876
|
+
</optional>
|
|
877
|
+
<optional>
|
|
878
|
+
<ref name="revision-date"/>
|
|
879
|
+
</optional>
|
|
880
|
+
<zeroOrMore>
|
|
881
|
+
<ref name="draft"/>
|
|
882
|
+
</zeroOrMore>
|
|
883
|
+
</element>
|
|
884
|
+
</define>
|
|
885
|
+
<define name="vedition">
|
|
886
|
+
<element name="edition">
|
|
887
|
+
<data type="int"/>
|
|
888
|
+
</element>
|
|
889
|
+
</define>
|
|
890
|
+
<define name="revision-date">
|
|
891
|
+
<element name="revision-date">
|
|
892
|
+
<data type="date"/>
|
|
893
|
+
</element>
|
|
894
|
+
</define>
|
|
895
|
+
<define name="draft">
|
|
896
|
+
<element name="draft">
|
|
897
|
+
<text/>
|
|
898
|
+
</element>
|
|
899
|
+
</define>
|
|
869
900
|
<!--
|
|
870
901
|
Anycontents = mixed {
|
|
871
902
|
https://github.com/relaxng/jing-trang/issues/211
|
|
@@ -39,9 +39,6 @@
|
|
|
39
39
|
<define name="standard-document">
|
|
40
40
|
<element name="standard-document">
|
|
41
41
|
<ref name="bibdata"/>
|
|
42
|
-
<optional>
|
|
43
|
-
<ref name="version"/>
|
|
44
|
-
</optional>
|
|
45
42
|
<optional>
|
|
46
43
|
<ref name="preface"/>
|
|
47
44
|
</optional>
|
|
@@ -59,34 +56,6 @@
|
|
|
59
56
|
<ref name="BibData"/>
|
|
60
57
|
</element>
|
|
61
58
|
</define>
|
|
62
|
-
<define name="version">
|
|
63
|
-
<element name="version">
|
|
64
|
-
<optional>
|
|
65
|
-
<ref name="vedition"/>
|
|
66
|
-
</optional>
|
|
67
|
-
<optional>
|
|
68
|
-
<ref name="revision-date"/>
|
|
69
|
-
</optional>
|
|
70
|
-
<zeroOrMore>
|
|
71
|
-
<ref name="draft"/>
|
|
72
|
-
</zeroOrMore>
|
|
73
|
-
</element>
|
|
74
|
-
</define>
|
|
75
|
-
<define name="vedition">
|
|
76
|
-
<element name="edition">
|
|
77
|
-
<data type="int"/>
|
|
78
|
-
</element>
|
|
79
|
-
</define>
|
|
80
|
-
<define name="revision-date">
|
|
81
|
-
<element name="revision-date">
|
|
82
|
-
<data type="date"/>
|
|
83
|
-
</element>
|
|
84
|
-
</define>
|
|
85
|
-
<define name="draft">
|
|
86
|
-
<element name="draft">
|
|
87
|
-
<text/>
|
|
88
|
-
</element>
|
|
89
|
-
</define>
|
|
90
59
|
<define name="preface">
|
|
91
60
|
<element name="preface">
|
|
92
61
|
<oneOrMore>
|
|
@@ -1068,6 +1037,9 @@
|
|
|
1068
1037
|
<optional>
|
|
1069
1038
|
<ref name="edition"/>
|
|
1070
1039
|
</optional>
|
|
1040
|
+
<optional>
|
|
1041
|
+
<ref name="version"/>
|
|
1042
|
+
</optional>
|
|
1071
1043
|
<zeroOrMore>
|
|
1072
1044
|
<ref name="biblionote"/>
|
|
1073
1045
|
</zeroOrMore>
|
|
@@ -96,6 +96,9 @@
|
|
|
96
96
|
<optional>
|
|
97
97
|
<ref name="edition"/>
|
|
98
98
|
</optional>
|
|
99
|
+
<optional>
|
|
100
|
+
<ref name="version"/>
|
|
101
|
+
</optional>
|
|
99
102
|
<zeroOrMore>
|
|
100
103
|
<ref name="biblionote"/>
|
|
101
104
|
</zeroOrMore>
|
|
@@ -178,6 +181,9 @@
|
|
|
178
181
|
<optional>
|
|
179
182
|
<ref name="edition"/>
|
|
180
183
|
</optional>
|
|
184
|
+
<optional>
|
|
185
|
+
<ref name="version"/>
|
|
186
|
+
</optional>
|
|
181
187
|
<zeroOrMore>
|
|
182
188
|
<ref name="biblionote"/>
|
|
183
189
|
</zeroOrMore>
|
|
@@ -762,9 +768,6 @@
|
|
|
762
768
|
<define name="iso-standard">
|
|
763
769
|
<element name="iso-standard">
|
|
764
770
|
<ref name="bibdata"/>
|
|
765
|
-
<optional>
|
|
766
|
-
<ref name="version"/>
|
|
767
|
-
</optional>
|
|
768
771
|
<zeroOrMore>
|
|
769
772
|
<ref name="termdocsource"/>
|
|
770
773
|
</zeroOrMore>
|
|
@@ -478,8 +478,6 @@ table.MsoISOTable
|
|
|
478
478
|
mso-yfti-tbllook:480;
|
|
479
479
|
mso-border-insideh:.75pt solid windowtext;
|
|
480
480
|
mso-border-insidev:.75pt solid windowtext;
|
|
481
|
-
mso-table-anchor-vertical:paragraph;
|
|
482
|
-
mso-table-bspace:12.0pt;
|
|
483
481
|
font-size:10.0pt;
|
|
484
482
|
font-family:$bodyfont;}
|
|
485
483
|
table.MsoISOTable tr
|
|
@@ -506,8 +504,6 @@ table.MsoTableGrid
|
|
|
506
504
|
mso-para-margin:0cm;
|
|
507
505
|
mso-para-margin-bottom:.0001pt;
|
|
508
506
|
mso-pagination:widow-orphan;
|
|
509
|
-
mso-table-anchor-vertical:paragraph;
|
|
510
|
-
mso-table-bspace:12.0pt;
|
|
511
507
|
font-size:10.0pt;
|
|
512
508
|
font-family:$bodyfont;}
|
|
513
509
|
td { page-break-inside:avoid; }
|
|
@@ -669,10 +665,6 @@ p.example, li.example, div.example, td.example
|
|
|
669
665
|
font-size:10.0pt;
|
|
670
666
|
font-family:$bodyfont;}
|
|
671
667
|
|
|
672
|
-
table.example {
|
|
673
|
-
margin-bottom:12pt;
|
|
674
|
-
}
|
|
675
|
-
|
|
676
668
|
td.example p.MsoListParagraph {
|
|
677
669
|
font-size: 10.0pt;
|
|
678
670
|
}
|
|
@@ -369,7 +369,7 @@ p.Terms {
|
|
|
369
369
|
}
|
|
370
370
|
|
|
371
371
|
@media screen {
|
|
372
|
-
img {
|
|
372
|
+
div.figure > img {
|
|
373
373
|
width: 100%;
|
|
374
374
|
height: auto;
|
|
375
375
|
}
|
|
@@ -417,7 +417,7 @@ p.Terms {
|
|
|
417
417
|
color: white;
|
|
418
418
|
}
|
|
419
419
|
|
|
420
|
-
ul li {
|
|
420
|
+
ul > li {
|
|
421
421
|
list-style: none;
|
|
422
422
|
}
|
|
423
423
|
|
|
@@ -651,6 +651,19 @@ text-align: center;
|
|
|
651
651
|
margin: 0;
|
|
652
652
|
}
|
|
653
653
|
|
|
654
|
+
.Admonition {
|
|
655
|
+
background-color: #ffcccc;
|
|
656
|
+
color: #47430c;
|
|
657
|
+
padding: 0.5em;
|
|
658
|
+
margin: 1.5em 0 1.5em 0;
|
|
659
|
+
text-align: left;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
.Admonition p {
|
|
663
|
+
margin: 0;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
|
|
654
667
|
/*
|
|
655
668
|
3.8 Examples
|
|
656
669
|
*/
|
|
@@ -253,7 +253,7 @@ h2 p {
|
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
|
|
256
|
-
ul li {
|
|
256
|
+
ul > li {
|
|
257
257
|
list-style: none;
|
|
258
258
|
}
|
|
259
259
|
|
|
@@ -372,7 +372,7 @@ p.Terms {
|
|
|
372
372
|
}
|
|
373
373
|
|
|
374
374
|
@media screen {
|
|
375
|
-
img {
|
|
375
|
+
div.figure > img {
|
|
376
376
|
width: 100%;
|
|
377
377
|
height: auto;
|
|
378
378
|
}
|
|
@@ -636,6 +636,19 @@ text-align: left;
|
|
|
636
636
|
margin: 0;
|
|
637
637
|
}
|
|
638
638
|
|
|
639
|
+
.Admonition {
|
|
640
|
+
background-color: #ffcccc;
|
|
641
|
+
color: #47430c;
|
|
642
|
+
padding: 0.5em;
|
|
643
|
+
margin: 1.5em 0 1.5em 0;
|
|
644
|
+
text-align: left;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
.Admonition p {
|
|
648
|
+
margin: 0;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
|
|
639
652
|
/*
|
|
640
653
|
3.8 Examples
|
|
641
654
|
*/
|
|
@@ -1242,8 +1242,6 @@ table.MsoNormalTable
|
|
|
1242
1242
|
mso-para-margin:0cm;
|
|
1243
1243
|
mso-para-margin-bottom:.0001pt;
|
|
1244
1244
|
mso-pagination:widow-orphan;
|
|
1245
|
-
mso-table-anchor-vertical:paragraph;
|
|
1246
|
-
mso-table-bspace:12.0pt;
|
|
1247
1245
|
font-size:10.0pt;
|
|
1248
1246
|
font-family:$bodyfont;}
|
|
1249
1247
|
br.section
|
|
@@ -109,7 +109,7 @@ module IsoDoc
|
|
|
109
109
|
|
|
110
110
|
def annex_names1(clause, num, level)
|
|
111
111
|
@anchors[clause["id"]] = { label: num, xref: num, level: level }
|
|
112
|
-
clause.xpath(ns("
|
|
112
|
+
clause.xpath(ns("./clause")).each_with_index do |c, i|
|
|
113
113
|
annex_names1(c, "#{num}.#{i + 1}", level + 1)
|
|
114
114
|
end
|
|
115
115
|
end
|
|
@@ -120,17 +120,18 @@ module IsoDoc
|
|
|
120
120
|
ret += " 第#{from.text}" if from
|
|
121
121
|
ret += "–#{to}" if to
|
|
122
122
|
loc = (@locality[type] || type.sub(/^locality:/, "").capitalize )
|
|
123
|
-
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV
|
|
123
|
+
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV$|^IEC 60050-/)
|
|
124
124
|
ret += ")" if type == "list"
|
|
125
125
|
ret
|
|
126
126
|
end
|
|
127
127
|
|
|
128
128
|
def eref_localities1(target, type, from, to, lang = "en")
|
|
129
129
|
subsection = from&.text&.match(/\./)
|
|
130
|
+
type = type.downcase
|
|
130
131
|
return l10n(eref_localities1_zh(target, type, from, to)) if lang == "zh"
|
|
131
132
|
ret = type == "list" ? "" : ","
|
|
132
133
|
loc = @locality[type] || type.sub(/^locality:/, "").capitalize
|
|
133
|
-
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV
|
|
134
|
+
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV$|^IEC 60050-/)
|
|
134
135
|
ret += " #{from.text}" if from
|
|
135
136
|
ret += "–#{to.text}" if to
|
|
136
137
|
ret += ")" if type == "list"
|
|
@@ -134,28 +134,29 @@ module IsoDoc
|
|
|
134
134
|
|
|
135
135
|
def annex_names1(clause, num, level)
|
|
136
136
|
@anchors[clause["id"]] = { label: num, xref: num, level: level }
|
|
137
|
-
clause.xpath(ns("
|
|
137
|
+
clause.xpath(ns("./clause")).each_with_index do |c, i|
|
|
138
138
|
annex_names1(c, "#{num}.#{i + 1}", level + 1)
|
|
139
139
|
end
|
|
140
140
|
end
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
def eref_localities1_zh(target, type, from, to)
|
|
143
143
|
subsection = from&.text&.match(/\./)
|
|
144
144
|
ret = type == "list" ? "" : ","
|
|
145
145
|
ret += " 第#{from.text}" if from
|
|
146
146
|
ret += "–#{to}" if to
|
|
147
147
|
loc = (@locality[type] || type.sub(/^locality:/, "").capitalize )
|
|
148
|
-
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV
|
|
148
|
+
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV$|^IEC 60050-/)
|
|
149
149
|
ret += ")" if type == "list"
|
|
150
150
|
ret
|
|
151
151
|
end
|
|
152
152
|
|
|
153
153
|
def eref_localities1(target, type, from, to, lang = "en")
|
|
154
154
|
subsection = from&.text&.match(/\./)
|
|
155
|
+
type = type.downcase
|
|
155
156
|
return l10n(eref_localities1_zh(target, type, from, to)) if lang == "zh"
|
|
156
157
|
ret = type == "list" ? "" : ","
|
|
157
158
|
loc = @locality[type] || type.sub(/^locality:/, "").capitalize
|
|
158
|
-
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV
|
|
159
|
+
ret += " #{loc}" unless subsection && type == "clause" || type == "list" || target.match(/^IEV$|^IEC 60050-/)
|
|
159
160
|
ret += " #{from.text}" if from
|
|
160
161
|
ret += "–#{to.text}" if to
|
|
161
162
|
ret += ")" if type == "list"
|
data/metanorma-iso.gemspec
CHANGED
|
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
spec.add_dependency "iev", "~> 0.2.0"
|
|
36
36
|
spec.add_dependency "metanorma-standoc", "~> 1.0.0"
|
|
37
37
|
|
|
38
|
-
spec.add_development_dependency "bundler", "~> 1
|
|
38
|
+
spec.add_development_dependency "bundler", "~> 2.0.1"
|
|
39
39
|
spec.add_development_dependency "byebug"
|
|
40
40
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
|
41
41
|
spec.add_development_dependency "guard", "~> 2.14"
|
data/spec/assets/iso.doc
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
MIME-Version: 1.0
|
|
2
|
-
Content-Type: multipart/related; boundary="----=
|
|
2
|
+
Content-Type: multipart/related; boundary="----=_NextPart_46e31af2.9c48.4ec0"
|
|
3
3
|
|
|
4
|
-
------=
|
|
4
|
+
------=_NextPart_46e31af2.9c48.4ec0
|
|
5
5
|
Content-Location: file:///C:/Doc/iso.htm
|
|
6
6
|
Content-Type: text/html; charset="utf-8"
|
|
7
7
|
|
|
@@ -533,8 +533,6 @@ table.MsoISOTable {
|
|
|
533
533
|
mso-yfti-tbllook: 480;
|
|
534
534
|
mso-border-insideh: .75pt solid windowtext;
|
|
535
535
|
mso-border-insidev: .75pt solid windowtext;
|
|
536
|
-
mso-table-anchor-vertical: paragraph;
|
|
537
|
-
mso-table-bspace: 12.0pt;
|
|
538
536
|
font-size: 10.0pt;
|
|
539
537
|
font-family: "Cambria", serif; }
|
|
540
538
|
|
|
@@ -565,8 +563,6 @@ table.MsoTableGrid {
|
|
|
565
563
|
mso-para-margin: 0cm;
|
|
566
564
|
mso-para-margin-bottom: .0001pt;
|
|
567
565
|
mso-pagination: widow-orphan;
|
|
568
|
-
mso-table-anchor-vertical: paragraph;
|
|
569
|
-
mso-table-bspace: 12.0pt;
|
|
570
566
|
font-size: 10.0pt;
|
|
571
567
|
font-family: "Cambria", serif; }
|
|
572
568
|
|
|
@@ -724,9 +720,6 @@ p.example, li.example, div.example, td.example {
|
|
|
724
720
|
font-size: 10.0pt;
|
|
725
721
|
font-family: "Cambria", serif; }
|
|
726
722
|
|
|
727
|
-
table.example {
|
|
728
|
-
margin-bottom: 12pt; }
|
|
729
|
-
|
|
730
723
|
td.example p.MsoListParagraph {
|
|
731
724
|
font-size: 10.0pt; }
|
|
732
725
|
|
|
@@ -798,7 +791,9 @@ span.note_label, span.example_label, td.example_label, td.note_label {
|
|
|
798
791
|
|
|
799
792
|
<p class="MsoNormal"> </p>
|
|
800
793
|
</div>
|
|
801
|
-
<
|
|
794
|
+
<p class="MsoNormal">
|
|
795
|
+
<br clear="all" class="section"/>
|
|
796
|
+
</p>
|
|
802
797
|
<div class="WordSection2"><div style="mso-element:para-border-div;border:solid windowtext 1.0pt; border-bottom:none;mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt: solid windowtext .5pt;mso-border-right-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 0cm 4.0pt; margin-left:5.1pt;margin-right:5.1pt">
|
|
803
798
|
|
|
804
799
|
<p class="zzCopyright" align="left" style="margin-top:2.0pt;margin-right:0cm; margin-bottom:12.0pt;margin-left:0cm;text-align:left;page-break-before:always; mso-layout-grid-align:none;text-autospace:none;border:none;mso-border-top-alt: solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;mso-border-right-alt: solid windowtext .5pt;padding:0cm;mso-padding-alt:1.0pt 4.0pt 0cm 4.0pt"><span lang="EN-GB" style="color:windowtext" xml:lang="EN-GB">© , Published in Switzerland.<p class="MsoNormal"></p></span></p>
|
|
@@ -834,11 +829,11 @@ Switzerland<p class="MsoNormal"></p></span></p>
|
|
|
834
829
|
<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
|
|
835
830
|
\o "1-2" \h \z \u <span style="mso-element:field-separator"></span></span>
|
|
836
831
|
<span class="MsoHyperlink"><span lang="EN-GB" style="mso-no-proof:yes" xml:lang="EN-GB">
|
|
837
|
-
<a href="#
|
|
832
|
+
<a href="#_Toc221259265">Foreword<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
838
833
|
<span style="mso-tab-count:1 dotted">. </span>
|
|
839
834
|
</span><span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB">
|
|
840
835
|
<span style="mso-element:field-begin"></span></span>
|
|
841
|
-
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"> PAGEREF
|
|
836
|
+
<span lang="EN-GB" class="MsoTocTextSpan" xml:lang="EN-GB"> PAGEREF _Toc221259265 \h </span>
|
|
842
837
|
<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>
|
|
843
838
|
<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>
|
|
844
839
|
|
|
@@ -852,7 +847,9 @@ Switzerland<p class="MsoNormal"></p></span></p>
|
|
|
852
847
|
</p>
|
|
853
848
|
|
|
854
849
|
|
|
855
|
-
<
|
|
850
|
+
<p class="MsoNormal">
|
|
851
|
+
<br clear="all" style="mso-special-character:line-break;page-break-before:always"/>
|
|
852
|
+
</p>
|
|
856
853
|
<div>
|
|
857
854
|
<h1 class="ForewordTitle">Foreword</h1>
|
|
858
855
|
<div id="" class="Note">
|
|
@@ -861,7 +858,9 @@ Switzerland<p class="MsoNormal"></p></span></p>
|
|
|
861
858
|
</div>
|
|
862
859
|
<p class="MsoNormal"> </p>
|
|
863
860
|
</div>
|
|
864
|
-
<
|
|
861
|
+
<p class="MsoNormal">
|
|
862
|
+
<br clear="all" class="section"/>
|
|
863
|
+
</p>
|
|
865
864
|
<div class="WordSection3">
|
|
866
865
|
<p class="zzSTDTitle1"></p>
|
|
867
866
|
</div>
|
|
@@ -871,7 +870,7 @@ Switzerland<p class="MsoNormal"></p></span></p>
|
|
|
871
870
|
</html>
|
|
872
871
|
|
|
873
872
|
|
|
874
|
-
------=
|
|
873
|
+
------=_NextPart_46e31af2.9c48.4ec0
|
|
875
874
|
Content-Location: file:///C:/Doc/iso_files/filelist.xml
|
|
876
875
|
Content-Transfer-Encoding: base64
|
|
877
876
|
Content-Type: application/xml
|
|
@@ -881,7 +880,7 @@ ICAgICAgIDxvOk1haW5GaWxlIEhSZWY9Ii4uL3NwZWMvYXNzZXRzL2lzby5odG0iLz4gIDxvOkZp
|
|
|
881
880
|
bGUgSFJlZj0iZmlsZWxpc3QueG1sIi8+CiAgPG86RmlsZSBIUmVmPSJoZWFkZXIuaHRtbCIvPgo8
|
|
882
881
|
L3htbD4K
|
|
883
882
|
|
|
884
|
-
------=
|
|
883
|
+
------=_NextPart_46e31af2.9c48.4ec0
|
|
885
884
|
Content-Location: file:///C:/Doc/iso_files/header.html
|
|
886
885
|
Content-Transfer-Encoding: base64
|
|
887
886
|
Content-Type: text/html charset="utf-8"
|
|
@@ -1074,4 +1073,4 @@ cD4NCg0KPHAgY2xhc3M9TXNvRm9vdGVyPjxzcGFuIGxhbmc9RU4tQVUgc3R5bGU9J2ZvbnQtc2l6
|
|
|
1074
1073
|
ZToxMC4wcHQ7Jz7CqQ0KJm5ic3A7Jm5ic3A74oCTIEFsbCByaWdodHMgcmVzZXJ2ZWQ8bzpwPjwv
|
|
1075
1074
|
bzpwPjwvc3Bhbj48L3A+DQoNCjwvZGl2Pg0KDQoNCg0KPC9ib2R5Pg0KDQo8L2h0bWw+DQo=
|
|
1076
1075
|
|
|
1077
|
-
------=
|
|
1076
|
+
------=_NextPart_46e31af2.9c48.4ec0--
|
|
@@ -112,7 +112,7 @@ RSpec.describe IsoDoc do
|
|
|
112
112
|
expect(word).to be_equivalent_to <<~"OUTPUT"
|
|
113
113
|
<div class="WordSection3">
|
|
114
114
|
<p class="zzSTDTitle1"></p>
|
|
115
|
-
<br clear="all" style="mso-special-character:line-break;page-break-before:always"
|
|
115
|
+
<p class="MsoNormal"><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
|
|
116
116
|
<div class="Section3"><a name="P" id="P"></a>
|
|
117
117
|
<h1 class="Annex"><b>Annex A</b><br/>(normative)<br/><br/><b>Annex</b></h1>
|
|
118
118
|
<div><a name="Q" id="Q"></a>
|
data/spec/isodoc/section_spec.rb
CHANGED
|
@@ -228,14 +228,14 @@ OUTPUT
|
|
|
228
228
|
<div class="WordSection1">
|
|
229
229
|
<p> </p>
|
|
230
230
|
</div>
|
|
231
|
-
<br clear="all" class="section"
|
|
231
|
+
<p><br clear="all" class="section"/></p>
|
|
232
232
|
<div class="WordSection2">
|
|
233
|
-
<br clear="all" style="mso-special-character:line-break;page-break-before:always"
|
|
233
|
+
<p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
|
|
234
234
|
<div>
|
|
235
235
|
<h1 class="ForewordTitle">Foreword</h1>
|
|
236
236
|
<p id="A">This is a preamble</p>
|
|
237
237
|
</div>
|
|
238
|
-
<br clear="all" style="mso-special-character:line-break;page-break-before:always"
|
|
238
|
+
<p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
|
|
239
239
|
<div class="Section3" id="B">
|
|
240
240
|
<h1 class="IntroTitle">0.<span style="mso-tab-count:1">  </span>Introduction</h1>
|
|
241
241
|
<div id="C">
|
|
@@ -245,7 +245,7 @@ OUTPUT
|
|
|
245
245
|
</div>
|
|
246
246
|
<p> </p>
|
|
247
247
|
</div>
|
|
248
|
-
<br clear="all" class="section"
|
|
248
|
+
<p><br clear="all" class="section"/></p>
|
|
249
249
|
<div class="WordSection3">
|
|
250
250
|
<p class="zzSTDTitle1"/>
|
|
251
251
|
<div id="D">
|
|
@@ -295,7 +295,7 @@ OUTPUT
|
|
|
295
295
|
<h2>5.2. Clause 4.2</h2>
|
|
296
296
|
</div>
|
|
297
297
|
</div>
|
|
298
|
-
<br clear="all" style="mso-special-character:line-break;page-break-before:always"
|
|
298
|
+
<p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
|
|
299
299
|
<div id="P" class="Section3">
|
|
300
300
|
<h1 class="Annex"><b>Annex A</b><br/>(normative)<br/><br/><b>Annex</b></h1>
|
|
301
301
|
<div id="Q">
|
|
@@ -308,7 +308,7 @@ OUTPUT
|
|
|
308
308
|
<h2>Appendix 1. An Appendix</h2>
|
|
309
309
|
</div>
|
|
310
310
|
</div>
|
|
311
|
-
<br clear="all" style="mso-special-character:line-break;page-break-before:always"
|
|
311
|
+
<p><br clear="all" style="mso-special-character:line-break;page-break-before:always"/></p>
|
|
312
312
|
<div>
|
|
313
313
|
<h1 class="Section3">Bibliography</h1>
|
|
314
314
|
<div>
|
|
@@ -535,11 +535,11 @@ OUTPUT
|
|
|
535
535
|
<div class="WordSection1">
|
|
536
536
|
<p> </p>
|
|
537
537
|
</div>
|
|
538
|
-
<br clear="all" class="section"
|
|
538
|
+
<p><br clear="all" class="section"/></p>
|
|
539
539
|
<div class="WordSection2">
|
|
540
540
|
<p> </p>
|
|
541
541
|
</div>
|
|
542
|
-
<br clear="all" class="section"
|
|
542
|
+
<p><br clear="all" class="section"/></p>
|
|
543
543
|
<div class="WordSection3">
|
|
544
544
|
<p class="zzSTDTitle1"/>
|
|
545
545
|
</div>
|
|
@@ -566,11 +566,11 @@ OUTPUT
|
|
|
566
566
|
<div class="WordSection1">
|
|
567
567
|
<p> </p>
|
|
568
568
|
</div>
|
|
569
|
-
<br clear="all" class="section"
|
|
569
|
+
<p><br clear="all" class="section"/></p>
|
|
570
570
|
<div class="WordSection2">
|
|
571
571
|
<p> </p>
|
|
572
572
|
</div>
|
|
573
|
-
<br clear="all" class="section"
|
|
573
|
+
<p><br clear="all" class="section"/></p>
|
|
574
574
|
<div class="WordSection3">
|
|
575
575
|
<p class="zzSTDTitle1"/>
|
|
576
576
|
</div>
|
data/spec/isodoc/terms_spec.rb
CHANGED
|
@@ -169,13 +169,13 @@ OUTPUT
|
|
|
169
169
|
<p class="TermNum" id="paddy1">1.1</p><p class="Terms" style="text-align:left;">paddy</p>
|
|
170
170
|
|
|
171
171
|
<p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f"><rice> rice retaining its husk after threshing</p>
|
|
172
|
-
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example" cellspacing="0" cellpadding="0" style="border-collapse:collapse"><tr><td valign="top" class="example_label" style="width:82.8pt;padding:0 0 0 1em;margin-left:0pt">EXAMPLE 1</td><td valign="top" class="example">
|
|
172
|
+
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f892" class="example" cellspacing="0" cellpadding="0" style="mso-table-lspace:15.0cm;margin-left:423.0pt;mso-table-rspace:15.0cm;margin-right:423.0pt;mso-table-bspace:14.2pt;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal:column;mso-table-overlap:never;border-collapse:collapse;"><tr><td valign="top" class="example_label" style="width:82.8pt;padding:0 0 0 1em;margin-left:0pt">EXAMPLE 1</td><td valign="top" class="example">
|
|
173
173
|
<p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
|
|
174
174
|
<ul>
|
|
175
175
|
<li>A</li>
|
|
176
176
|
</ul>
|
|
177
177
|
</td></tr></table>
|
|
178
|
-
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f894" class="example" cellspacing="0" cellpadding="0" style="border-collapse:collapse"><tr><td valign="top" class="example_label" style="width:82.8pt;padding:0 0 0 1em;margin-left:0pt">EXAMPLE 2</td><td valign="top" class="example">
|
|
178
|
+
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f894" class="example" cellspacing="0" cellpadding="0" style="mso-table-lspace:15.0cm;margin-left:423.0pt;mso-table-rspace:15.0cm;margin-right:423.0pt;mso-table-bspace:14.2pt;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal:column;mso-table-overlap:never;border-collapse:collapse;"><tr><td valign="top" class="example_label" style="width:82.8pt;padding:0 0 0 1em;margin-left:0pt">EXAMPLE 2</td><td valign="top" class="example">
|
|
179
179
|
<ul>
|
|
180
180
|
<li>A</li>
|
|
181
181
|
</ul>
|
|
@@ -188,7 +188,7 @@ OUTPUT
|
|
|
188
188
|
<p class="AltTerms" style="text-align:left;">rough rice</p>
|
|
189
189
|
<p class="DeprecatedTerms" style="text-align:left;">DEPRECATED: cargo rice</p>
|
|
190
190
|
<p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p>
|
|
191
|
-
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example" cellspacing="0" cellpadding="0" style="border-collapse:collapse"><tr><td valign="top" class="example_label" style="width:82.8pt;padding:0 0 0 1em;margin-left:0pt">EXAMPLE</td><td valign="top" class="example">
|
|
191
|
+
<table id="_bd57bbf1-f948-4bae-b0ce-73c00431f893" class="example" cellspacing="0" cellpadding="0" style="mso-table-lspace:15.0cm;margin-left:423.0pt;mso-table-rspace:15.0cm;margin-right:423.0pt;mso-table-bspace:14.2pt;mso-table-anchor-vertical:paragraph;mso-table-anchor-horizontal:column;mso-table-overlap:never;border-collapse:collapse;"><tr><td valign="top" class="example_label" style="width:82.8pt;padding:0 0 0 1em;margin-left:0pt">EXAMPLE</td><td valign="top" class="example">
|
|
192
192
|
<ul>
|
|
193
193
|
<li>A</li>
|
|
194
194
|
</ul>
|
|
@@ -199,6 +199,8 @@ OUTPUT
|
|
|
199
199
|
<a href="#ISO7301">ISO 7301:2011, 3.1</a>
|
|
200
200
|
[/TERMREF]</p></div>
|
|
201
201
|
</div>
|
|
202
|
+
<br clear="all" style="page-break-before:left;mso-break-type:section-break"/>
|
|
203
|
+
<div class="colophon"/>
|
|
202
204
|
</body>
|
|
203
205
|
</html>
|
|
204
206
|
|
data/spec/spec_helper.rb
CHANGED
|
@@ -155,11 +155,11 @@ WORD_HDR = <<~END
|
|
|
155
155
|
<div class="WordSection1">
|
|
156
156
|
<p> </p>
|
|
157
157
|
</div>
|
|
158
|
-
<br clear="all" class="section"
|
|
158
|
+
<p><br clear="all" class="section"/></p>
|
|
159
159
|
<div class="WordSection2">
|
|
160
160
|
<p> </p>
|
|
161
161
|
</div>
|
|
162
|
-
<br clear="all" class="section"
|
|
162
|
+
<p><br clear="all" class="section"/></p>
|
|
163
163
|
<div class="WordSection3">
|
|
164
164
|
END
|
|
165
165
|
|
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.0.
|
|
4
|
+
version: 1.0.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-01-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: asciidoctor
|
|
@@ -86,14 +86,14 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version:
|
|
89
|
+
version: 2.0.1
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version:
|
|
96
|
+
version: 2.0.1
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: byebug
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|