metanorma-iec 1.0.3 → 1.0.8
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/.github/workflows/macos.yml +8 -7
- data/.github/workflows/ubuntu.yml +12 -9
- data/.github/workflows/windows.yml +8 -8
- data/lib/asciidoctor/iec/biblio.rng +142 -37
- data/lib/asciidoctor/iec/converter.rb +22 -130
- data/lib/asciidoctor/iec/front.rb +220 -0
- data/lib/asciidoctor/iec/isodoc.rng +48 -2
- data/lib/asciidoctor/iec/isostandard.rng +17 -1
- data/lib/isodoc/iec/base_convert.rb +157 -0
- data/lib/isodoc/iec/html/htmlstyle.scss +11 -8
- data/lib/isodoc/iec/html/isodoc.scss +15 -9
- data/lib/isodoc/iec/html/scripts.html +23 -21
- data/lib/isodoc/iec/html/wordstyle.scss +0 -3
- data/lib/isodoc/iec/html_convert.rb +8 -0
- data/lib/isodoc/iec/i18n-en.yaml +2 -0
- data/lib/isodoc/iec/i18n-fr.yaml +2 -0
- data/lib/isodoc/iec/iec.international-standard.xsl +4133 -0
- data/lib/isodoc/iec/metadata.rb +3 -52
- data/lib/isodoc/iec/pdf_convert.rb +31 -0
- data/lib/isodoc/iec/word_convert.rb +17 -6
- data/lib/metanorma-iec.rb +1 -0
- data/lib/metanorma/iec/processor.rb +12 -1
- data/lib/metanorma/iec/version.rb +1 -1
- data/spec/asciidoctor-iec/base_spec.rb +20 -29
- data/spec/asciidoctor-iec/blocks_spec.rb +15 -7
- data/spec/asciidoctor-iec/cleanup_spec.rb +13 -7
- data/spec/asciidoctor-iec/iev_spec.rb +161 -0
- data/spec/asciidoctor-iec/inline_spec.rb +2 -1
- data/spec/asciidoctor-iec/section_spec.rb +8 -8
- data/spec/assets/iso.xml +65 -2
- data/spec/examples/rice.html +5 -5
- data/spec/examples/rice_img/rice_image1.png +0 -0
- data/spec/examples/rice_img/rice_image2.png +0 -0
- data/spec/examples/rice_img/rice_image3_1.png +0 -0
- data/spec/examples/rice_img/rice_image3_2.png +0 -0
- data/spec/examples/rice_img/rice_image3_3.png +0 -0
- data/spec/isodoc/blocks_spec.rb +160 -0
- data/spec/isodoc/i18n_spec.rb +15 -22
- data/spec/isodoc/iev_spec.rb +360 -0
- data/spec/isodoc/inline_spec.rb +2 -2
- data/spec/isodoc/iso_spec.rb +2 -19
- data/spec/isodoc/metadata_spec.rb +92 -9
- data/spec/isodoc/postproc_spec.rb +8 -2
- data/spec/isodoc/ref_spec.rb +249 -0
- data/spec/isodoc/section_spec.rb +49 -14
- data/spec/isodoc/terms_spec.rb +2 -2
- data/spec/metanorma/processor_spec.rb +3 -3
- data/spec/spec_helper.rb +3 -2
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fbe3d530ca404960dbb29bf3e17cf9edd87f3aaf490c611237d0bdb24c0b9f4
|
4
|
+
data.tar.gz: 24d862f45615ae61c6763c8a3ed1a0ce7ef111daf7d7298182be2fd85d6689e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9caee1648d816b662e0a28802746b6a22c3d17d3ca1c6cb0ed5adc8b179b54f7d2a7172a64bc8a1658849b2f17080df009118d15be601d91f3bc23310933d3a1
|
7
|
+
data.tar.gz: c253b48e4750170511dfcfcc5496570fe6f85a4eb32372e1f95e161425b29ffb5ad21131ebb8083bae5188c6e0f0dfca9dfed79250b1d68278a3418b3a79f3a2
|
data/.github/workflows/macos.yml
CHANGED
@@ -6,15 +6,23 @@ on:
|
|
6
6
|
push:
|
7
7
|
branches: [ master ]
|
8
8
|
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/ubuntu.yml
|
11
|
+
- .github/workflows/windows.yml
|
9
12
|
|
10
13
|
jobs:
|
11
14
|
test-macos:
|
12
15
|
name: Test on Ruby ${{ matrix.ruby }} macOS
|
13
16
|
runs-on: macos-latest
|
17
|
+
continue-on-error: ${{ matrix.experimental }}
|
14
18
|
strategy:
|
15
19
|
fail-fast: false
|
16
20
|
matrix:
|
17
21
|
ruby: [ '2.6', '2.5', '2.4' ]
|
22
|
+
experimental: [false]
|
23
|
+
include:
|
24
|
+
- ruby: '2.7'
|
25
|
+
experimental: true
|
18
26
|
steps:
|
19
27
|
- uses: actions/checkout@master
|
20
28
|
- name: Use Ruby
|
@@ -26,13 +34,6 @@ jobs:
|
|
26
34
|
run: |
|
27
35
|
sudo gem install bundler --force
|
28
36
|
bundle install --jobs 4 --retry 3
|
29
|
-
- name: Use Node
|
30
|
-
uses: actions/setup-node@v1
|
31
|
-
with:
|
32
|
-
node-version: '8'
|
33
|
-
- name: Install Puppeteer
|
34
|
-
run: |
|
35
|
-
npm install -g puppeteer
|
36
37
|
- name: Run specs
|
37
38
|
run: |
|
38
39
|
bundle exec rake
|
@@ -5,16 +5,26 @@ name: ubuntu
|
|
5
5
|
on:
|
6
6
|
push:
|
7
7
|
branches: [ master ]
|
8
|
+
tags:
|
9
|
+
- '*'
|
8
10
|
pull_request:
|
11
|
+
paths-ignore:
|
12
|
+
- .github/workflows/macos.yml
|
13
|
+
- .github/workflows/windows.yml
|
9
14
|
|
10
15
|
jobs:
|
11
16
|
test-linux:
|
12
17
|
name: Test on Ruby ${{ matrix.ruby }} Ubuntu
|
13
18
|
runs-on: ubuntu-latest
|
19
|
+
continue-on-error: ${{ matrix.experimental }}
|
14
20
|
strategy:
|
15
21
|
fail-fast: false
|
16
22
|
matrix:
|
17
23
|
ruby: [ '2.6', '2.5', '2.4' ]
|
24
|
+
experimental: [false]
|
25
|
+
include:
|
26
|
+
- ruby: '2.7'
|
27
|
+
experimental: true
|
18
28
|
steps:
|
19
29
|
- uses: actions/checkout@master
|
20
30
|
- name: Use Ruby
|
@@ -26,18 +36,11 @@ jobs:
|
|
26
36
|
run: |
|
27
37
|
gem install bundler
|
28
38
|
bundle install --jobs 4 --retry 3
|
29
|
-
- name: Use Node
|
30
|
-
uses: actions/setup-node@v1
|
31
|
-
with:
|
32
|
-
node-version: '8'
|
33
|
-
- name: Install Puppeteer
|
34
|
-
run: |
|
35
|
-
npm install -g puppeteer
|
36
39
|
- name: Run specs
|
37
40
|
run: |
|
38
41
|
bundle exec rake
|
39
42
|
- name: Trigger dependent repositories
|
40
|
-
if: github.ref == 'refs/heads/master'
|
43
|
+
if: github.ref == 'refs/heads/master' && matrix.ruby == '2.6'
|
41
44
|
env:
|
42
45
|
GH_USERNAME: ${{ secrets.PAT_USERNAME }}
|
43
46
|
GH_ACCESS_TOKEN: ${{ secrets.PAT_TOKEN }}
|
@@ -46,5 +49,5 @@ jobs:
|
|
46
49
|
[[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
|
47
50
|
for repo in $DEPENDENT_REPOS
|
48
51
|
do
|
49
|
-
sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY
|
52
|
+
sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "{ \"ref\": \"${GITHUB_REF}\" }"
|
50
53
|
done
|
@@ -6,15 +6,23 @@ on:
|
|
6
6
|
push:
|
7
7
|
branches: [ master ]
|
8
8
|
pull_request:
|
9
|
+
paths-ignore:
|
10
|
+
- .github/workflows/macos.yml
|
11
|
+
- .github/workflows/ubuntu.yml
|
9
12
|
|
10
13
|
jobs:
|
11
14
|
test-windows:
|
12
15
|
name: Test on Ruby ${{ matrix.ruby }} Windows
|
13
16
|
runs-on: windows-latest
|
17
|
+
continue-on-error: ${{ matrix.experimental }}
|
14
18
|
strategy:
|
15
19
|
fail-fast: false
|
16
20
|
matrix:
|
17
21
|
ruby: [ '2.6', '2.5', '2.4' ]
|
22
|
+
experimental: [false]
|
23
|
+
include:
|
24
|
+
- ruby: '2.7'
|
25
|
+
experimental: true
|
18
26
|
steps:
|
19
27
|
- uses: actions/checkout@master
|
20
28
|
- name: Use Ruby
|
@@ -27,15 +35,7 @@ jobs:
|
|
27
35
|
run: |
|
28
36
|
gem install bundler
|
29
37
|
bundle config --local path vendor/bundle
|
30
|
-
bundle update
|
31
38
|
bundle install --jobs 4 --retry 3
|
32
|
-
- name: Use Node
|
33
|
-
uses: actions/setup-node@v1
|
34
|
-
with:
|
35
|
-
node-version: '8'
|
36
|
-
- name: Install Puppeteer
|
37
|
-
run: |
|
38
|
-
npm install -g puppeteer
|
39
39
|
- name: Run specs
|
40
40
|
run: |
|
41
41
|
bundle exec rake
|
@@ -49,11 +49,17 @@
|
|
49
49
|
</define>
|
50
50
|
<define name="stage">
|
51
51
|
<element name="stage">
|
52
|
+
<optional>
|
53
|
+
<attribute name="abbreviation"/>
|
54
|
+
</optional>
|
52
55
|
<text/>
|
53
56
|
</element>
|
54
57
|
</define>
|
55
58
|
<define name="substage">
|
56
59
|
<element name="substage">
|
60
|
+
<optional>
|
61
|
+
<attribute name="abbreviation"/>
|
62
|
+
</optional>
|
57
63
|
<text/>
|
58
64
|
</element>
|
59
65
|
</define>
|
@@ -82,7 +88,7 @@
|
|
82
88
|
<text/>
|
83
89
|
</element>
|
84
90
|
</define>
|
85
|
-
<define name="
|
91
|
+
<define name="LocalizedString1">
|
86
92
|
<optional>
|
87
93
|
<!-- multiple languages and scripts possible: comma delimit them if so -->
|
88
94
|
<attribute name="language"/>
|
@@ -92,6 +98,16 @@
|
|
92
98
|
</optional>
|
93
99
|
<text/>
|
94
100
|
</define>
|
101
|
+
<define name="LocalizedString">
|
102
|
+
<choice>
|
103
|
+
<ref name="LocalizedString1"/>
|
104
|
+
<oneOrMore>
|
105
|
+
<element name="variant">
|
106
|
+
<ref name="LocalizedString1"/>
|
107
|
+
</element>
|
108
|
+
</oneOrMore>
|
109
|
+
</choice>
|
110
|
+
</define>
|
95
111
|
<!--
|
96
112
|
Unlike UML, change type to format: type is overloaded
|
97
113
|
Would be need if plain were default value and could omit the attribute
|
@@ -115,7 +131,7 @@
|
|
115
131
|
</optional>
|
116
132
|
<ref name="LocalizedStringOrXsAny"/>
|
117
133
|
</define>
|
118
|
-
<define name="
|
134
|
+
<define name="LocalizedStringOrXsAny1">
|
119
135
|
<optional>
|
120
136
|
<!-- multiple languages and scripts possible: comma delimit them if so -->
|
121
137
|
<attribute name="language"/>
|
@@ -130,6 +146,16 @@
|
|
130
146
|
</choice>
|
131
147
|
</oneOrMore>
|
132
148
|
</define>
|
149
|
+
<define name="LocalizedStringOrXsAny">
|
150
|
+
<choice>
|
151
|
+
<ref name="LocalizedStringOrXsAny1"/>
|
152
|
+
<oneOrMore>
|
153
|
+
<element name="variant">
|
154
|
+
<ref name="LocalizedStringOrXsAny1"/>
|
155
|
+
</element>
|
156
|
+
</oneOrMore>
|
157
|
+
</choice>
|
158
|
+
</define>
|
133
159
|
<define name="contributor">
|
134
160
|
<element name="contributor">
|
135
161
|
<zeroOrMore>
|
@@ -452,9 +478,14 @@
|
|
452
478
|
<attribute name="bibitemid">
|
453
479
|
<data type="IDREF"/>
|
454
480
|
</attribute>
|
455
|
-
<
|
456
|
-
<
|
457
|
-
|
481
|
+
<choice>
|
482
|
+
<zeroOrMore>
|
483
|
+
<ref name="locality"/>
|
484
|
+
</zeroOrMore>
|
485
|
+
<zeroOrMore>
|
486
|
+
<ref name="localityStack"/>
|
487
|
+
</zeroOrMore>
|
488
|
+
</choice>
|
458
489
|
<optional>
|
459
490
|
<ref name="date"/>
|
460
491
|
</optional>
|
@@ -469,6 +500,25 @@
|
|
469
500
|
<ref name="BibItemLocality"/>
|
470
501
|
</element>
|
471
502
|
</define>
|
503
|
+
<define name="localityStack">
|
504
|
+
<element name="localityStack">
|
505
|
+
<zeroOrMore>
|
506
|
+
<ref name="locality"/>
|
507
|
+
</zeroOrMore>
|
508
|
+
</element>
|
509
|
+
</define>
|
510
|
+
<define name="sourceLocality">
|
511
|
+
<element name="sourceLocality">
|
512
|
+
<ref name="BibItemLocality"/>
|
513
|
+
</element>
|
514
|
+
</define>
|
515
|
+
<define name="sourceLocalityStack">
|
516
|
+
<element name="sourceLocalityStack">
|
517
|
+
<zeroOrMore>
|
518
|
+
<ref name="sourceLocality"/>
|
519
|
+
</zeroOrMore>
|
520
|
+
</element>
|
521
|
+
</define>
|
472
522
|
<define name="BibItemLocality">
|
473
523
|
<attribute name="type">
|
474
524
|
<ref name="LocalityType"/>
|
@@ -611,9 +661,9 @@
|
|
611
661
|
<optional>
|
612
662
|
<ref name="status"/>
|
613
663
|
</optional>
|
614
|
-
<
|
664
|
+
<zeroOrMore>
|
615
665
|
<ref name="copyright"/>
|
616
|
-
</
|
666
|
+
</zeroOrMore>
|
617
667
|
<zeroOrMore>
|
618
668
|
<ref name="docrelation"/>
|
619
669
|
</zeroOrMore>
|
@@ -737,6 +787,8 @@
|
|
737
787
|
<value>unchanged</value>
|
738
788
|
<value>circulated</value>
|
739
789
|
<value>adapted</value>
|
790
|
+
<value>vote-started</value>
|
791
|
+
<value>vote-ended</value>
|
740
792
|
</choice>
|
741
793
|
</define>
|
742
794
|
<define name="bdate">
|
@@ -969,7 +1021,17 @@
|
|
969
1021
|
<optional>
|
970
1022
|
<ref name="to"/>
|
971
1023
|
</optional>
|
972
|
-
<
|
1024
|
+
<oneOrMore>
|
1025
|
+
<ref name="owner"/>
|
1026
|
+
</oneOrMore>
|
1027
|
+
<optional>
|
1028
|
+
<ref name="copyright_scope"/>
|
1029
|
+
</optional>
|
1030
|
+
</element>
|
1031
|
+
</define>
|
1032
|
+
<define name="copyright_scope">
|
1033
|
+
<element name="scope">
|
1034
|
+
<text/>
|
973
1035
|
</element>
|
974
1036
|
</define>
|
975
1037
|
<define name="from">
|
@@ -989,38 +1051,63 @@
|
|
989
1051
|
</define>
|
990
1052
|
<define name="DocRelationType">
|
991
1053
|
<choice>
|
992
|
-
<value>obsoletes</value>
|
993
|
-
<value>obsoletedBy</value>
|
994
|
-
<value>supersedes</value>
|
995
|
-
<value>supersededBy</value>
|
996
|
-
<value>updates</value>
|
997
|
-
<value>updatedBy</value>
|
998
|
-
<value>complements</value>
|
999
|
-
<value>derivedFrom</value>
|
1000
|
-
<value>translatedFrom</value>
|
1001
|
-
<value>hasTranslation</value>
|
1002
|
-
<value>adoptedFrom</value>
|
1003
|
-
<value>equivalent</value>
|
1004
|
-
<value>identical</value>
|
1005
|
-
<value>nonequivalent</value>
|
1006
|
-
<value>includedIn</value>
|
1007
1054
|
<value>includes</value>
|
1008
|
-
<value>
|
1009
|
-
<value>instanceOf</value>
|
1010
|
-
<value>partOf</value>
|
1055
|
+
<value>includedIn</value>
|
1011
1056
|
<value>hasPart</value>
|
1012
|
-
<value>
|
1013
|
-
<value>draftOf</value>
|
1057
|
+
<value>partOf</value>
|
1014
1058
|
<value>merges</value>
|
1059
|
+
<value>mergedInto</value>
|
1015
1060
|
<value>splits</value>
|
1016
|
-
<value>
|
1017
|
-
<value>
|
1018
|
-
<value>
|
1019
|
-
<value>
|
1020
|
-
<value>
|
1021
|
-
<value>
|
1061
|
+
<value>splitInto</value>
|
1062
|
+
<value>instance</value>
|
1063
|
+
<value>hasInstance</value>
|
1064
|
+
<value>exemplarOf</value>
|
1065
|
+
<value>hasExemplar</value>
|
1066
|
+
<value>manifestationOf</value>
|
1067
|
+
<value>hasManifestation</value>
|
1068
|
+
<value>reproductionOf</value>
|
1069
|
+
<value>hasReproduction</value>
|
1070
|
+
<value>reprintOf</value>
|
1071
|
+
<value>hasReprint</value>
|
1072
|
+
<value>expressionOf</value>
|
1073
|
+
<value>hasExpression</value>
|
1074
|
+
<value>translatedFrom</value>
|
1075
|
+
<value>hasTranslation</value>
|
1076
|
+
<value>arrangementOf</value>
|
1077
|
+
<value>hasArrangement</value>
|
1078
|
+
<value>abridgementOf</value>
|
1079
|
+
<value>hasAbridgement</value>
|
1080
|
+
<value>annotationOf</value>
|
1081
|
+
<value>hasAnnotation</value>
|
1082
|
+
<value>draftOf</value>
|
1083
|
+
<value>hasDraft</value>
|
1084
|
+
<value>editionOf</value>
|
1085
|
+
<value>hasEdition</value>
|
1086
|
+
<value>updates</value>
|
1087
|
+
<value>updatedBy</value>
|
1088
|
+
<value>derivedFrom</value>
|
1089
|
+
<value>derives</value>
|
1022
1090
|
<value>describes</value>
|
1023
1091
|
<value>describedBy</value>
|
1092
|
+
<value>catalogues</value>
|
1093
|
+
<value>cataloguedBy</value>
|
1094
|
+
<value>hasSuccessor</value>
|
1095
|
+
<value>successorOf</value>
|
1096
|
+
<value>adaptedFrom</value>
|
1097
|
+
<value>hasAdaptation</value>
|
1098
|
+
<value>adoptedFrom</value>
|
1099
|
+
<value>adoptedAs</value>
|
1100
|
+
<value>reviewOf</value>
|
1101
|
+
<value>hasReview</value>
|
1102
|
+
<value>commentaryOf</value>
|
1103
|
+
<value>hasCommentary</value>
|
1104
|
+
<value>related</value>
|
1105
|
+
<value>complements</value>
|
1106
|
+
<value>complementOf</value>
|
1107
|
+
<value>obsoletes</value>
|
1108
|
+
<value>obsoletedBy</value>
|
1109
|
+
<value>cited</value>
|
1110
|
+
<value>isCitedIn</value>
|
1024
1111
|
</choice>
|
1025
1112
|
</define>
|
1026
1113
|
<define name="docrelation">
|
@@ -1028,12 +1115,30 @@
|
|
1028
1115
|
<attribute name="type">
|
1029
1116
|
<ref name="DocRelationType"/>
|
1030
1117
|
</attribute>
|
1118
|
+
<optional>
|
1119
|
+
<element name="description">
|
1120
|
+
<ref name="FormattedString"/>
|
1121
|
+
</element>
|
1122
|
+
</optional>
|
1031
1123
|
<element name="bibitem">
|
1032
1124
|
<ref name="BibliographicItem"/>
|
1033
1125
|
</element>
|
1034
|
-
<
|
1035
|
-
<
|
1036
|
-
|
1126
|
+
<choice>
|
1127
|
+
<zeroOrMore>
|
1128
|
+
<ref name="locality"/>
|
1129
|
+
</zeroOrMore>
|
1130
|
+
<zeroOrMore>
|
1131
|
+
<ref name="localityStack"/>
|
1132
|
+
</zeroOrMore>
|
1133
|
+
</choice>
|
1134
|
+
<choice>
|
1135
|
+
<zeroOrMore>
|
1136
|
+
<ref name="sourceLocality"/>
|
1137
|
+
</zeroOrMore>
|
1138
|
+
<zeroOrMore>
|
1139
|
+
<ref name="sourceLocalityStack"/>
|
1140
|
+
</zeroOrMore>
|
1141
|
+
</choice>
|
1037
1142
|
</element>
|
1038
1143
|
</define>
|
1039
1144
|
<define name="version">
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require "asciidoctor"
|
2
2
|
require "metanorma-iso"
|
3
|
+
require_relative "./front.rb"
|
3
4
|
|
4
5
|
module Asciidoctor
|
5
6
|
module Iec
|
@@ -9,51 +10,9 @@ module Asciidoctor
|
|
9
10
|
|
10
11
|
register_for "iec"
|
11
12
|
|
12
|
-
def
|
13
|
-
|
14
|
-
|
15
|
-
xml.contributor do |c|
|
16
|
-
c.role **{ type: "author" }
|
17
|
-
c.organization { |a| organization(a, p) }
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def metadata_publisher(node, xml)
|
23
|
-
publishers = node.attr("publisher") || "IEC"
|
24
|
-
publishers.split(/,[ ]?/).each do |p|
|
25
|
-
xml.contributor do |c|
|
26
|
-
c.role **{ type: "publisher" }
|
27
|
-
c.organization { |a| organization(a, p) }
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def metadata_copyright(node, xml)
|
33
|
-
publishers = node.attr("publisher") || "IEC"
|
34
|
-
publishers.split(/,[ ]?/).each do |p|
|
35
|
-
xml.copyright do |c|
|
36
|
-
c.from (node.attr("copyright-year") || Date.today.year)
|
37
|
-
c.owner do |owner|
|
38
|
-
owner.organization { |o| organization(o, p) }
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def iso_id(node, xml)
|
45
|
-
return unless node.attr("docnumber")
|
46
|
-
part, subpart = node&.attr("partnumber")&.split(/-/)
|
47
|
-
dn = add_id_parts(node.attr("docnumber"), part, subpart)
|
48
|
-
dn = id_stage_prefix(dn, node)
|
49
|
-
dn = id_edition_suffix(dn, node)
|
50
|
-
xml.docidentifier dn, **attr_code(type: "iso")
|
51
|
-
end
|
52
|
-
|
53
|
-
def id_edition_suffix(dn, node)
|
54
|
-
ed = node.attr("edition") || 1
|
55
|
-
dn += " ED #{ed}"
|
56
|
-
dn
|
13
|
+
def init(node)
|
14
|
+
super
|
15
|
+
@is_iev = node.attr("docnumber") == "60050"
|
57
16
|
end
|
58
17
|
|
59
18
|
def boilerplate_file(x_orig)
|
@@ -79,91 +38,6 @@ module Asciidoctor
|
|
79
38
|
File.join(File.dirname(__FILE__), "iec.rng"))
|
80
39
|
end
|
81
40
|
|
82
|
-
STAGE_CODES = {
|
83
|
-
"PNW" => "1000",
|
84
|
-
"ANW" => "2000",
|
85
|
-
"CAN" => "2098",
|
86
|
-
"ACD" => "2099",
|
87
|
-
"CD" => "3020",
|
88
|
-
"BWG" => "3092",
|
89
|
-
"A2CD" => "3099",
|
90
|
-
"2CD" => "3520",
|
91
|
-
"3CD" => "3520",
|
92
|
-
"4CD" => "3520",
|
93
|
-
"5CD" => "3520",
|
94
|
-
"6CD" => "3520",
|
95
|
-
"7CD" => "3520",
|
96
|
-
"8CD" => "3520",
|
97
|
-
"9CD" => "3520",
|
98
|
-
"CDM" => "3591",
|
99
|
-
"A3CD" => "3592",
|
100
|
-
"A4CD" => "3592",
|
101
|
-
"A5CD" => "3592",
|
102
|
-
"A6CD" => "3592",
|
103
|
-
"A7CD" => "3592",
|
104
|
-
"A8CD" => "3592",
|
105
|
-
"A9CD" => "3592",
|
106
|
-
"ACDV" => "3599",
|
107
|
-
"CCDV" => "4020",
|
108
|
-
"CDVM" => "4091",
|
109
|
-
"NCDV" => "4092",
|
110
|
-
"NADIS" => "4093",
|
111
|
-
"ADIS" => "4099",
|
112
|
-
"ADTR" => "4099",
|
113
|
-
"ADTS" => "4099",
|
114
|
-
"RDISH" => "5000",
|
115
|
-
"RFDIS" => "5000",
|
116
|
-
"CDISH" => "5020",
|
117
|
-
"CDPAS" => "5020",
|
118
|
-
"CDTR" => "5020",
|
119
|
-
"CDTS" => "5020",
|
120
|
-
"CFDIS" => "5020",
|
121
|
-
"DTRM" => "5092",
|
122
|
-
"DTSM" => "5092",
|
123
|
-
"NDTR" => "5092",
|
124
|
-
"NDTS" => "5092",
|
125
|
-
"NFDIS" => "5092",
|
126
|
-
"APUB" => "5099",
|
127
|
-
"BPUB" => "6000",
|
128
|
-
"PPUB" => "6060",
|
129
|
-
"RR" => "9092",
|
130
|
-
"AMW" => "9220",
|
131
|
-
"WPUB" => "9599",
|
132
|
-
"DELPUB" => "9960",
|
133
|
-
}.freeze
|
134
|
-
|
135
|
-
DOC_STAGE = {
|
136
|
-
"00": "PWI",
|
137
|
-
"10": "NWIP",
|
138
|
-
"20": "WD",
|
139
|
-
"30": "CD",
|
140
|
-
"40": "CDV",
|
141
|
-
"50": "FDIS",
|
142
|
-
}.freeze
|
143
|
-
|
144
|
-
def get_stage(node)
|
145
|
-
stage = node.attr("status") || node.attr("docstage") || "60"
|
146
|
-
m = /([0-9])CD$/.match(stage) and
|
147
|
-
node.set_attr("iteration", m[1])
|
148
|
-
STAGE_CODES[stage] and stage = STAGE_CODES[stage][0..1]
|
149
|
-
stage
|
150
|
-
end
|
151
|
-
|
152
|
-
def get_substage(node)
|
153
|
-
st = node.attr("status") || node.attr("docstage")
|
154
|
-
stage = get_stage(node)
|
155
|
-
node.attr("docsubstage") ||
|
156
|
-
( stage == "60" ? "60" :
|
157
|
-
STAGE_CODES[st] ? STAGE_CODES[st][2..3] :
|
158
|
-
"00" )
|
159
|
-
end
|
160
|
-
|
161
|
-
def id_stage_abbr(stage, substage, node)
|
162
|
-
abbr = DOC_STAGE[stage.to_sym] || ""
|
163
|
-
abbr = node.attr("iteration") + abbr if node.attr("iteration")
|
164
|
-
abbr
|
165
|
-
end
|
166
|
-
|
167
41
|
def load_yaml(lang, script)
|
168
42
|
y = if @i18nyaml then YAML.load_file(@i18nyaml)
|
169
43
|
elsif lang == "en"
|
@@ -187,6 +61,24 @@ module Asciidoctor
|
|
187
61
|
node.nil? ? IsoDoc::Iec::WordConvert.new({}) :
|
188
62
|
IsoDoc::Iec::WordConvert.new(doc_extract_attributes(node))
|
189
63
|
end
|
64
|
+
|
65
|
+
def pdf_converter(node)
|
66
|
+
node.nil? ? IsoDoc::Iec::PdfConvert.new({}) :
|
67
|
+
IsoDoc::Iec::PdfConvert.new(doc_extract_attributes(node))
|
68
|
+
end
|
69
|
+
|
70
|
+
def norm_ref_preface(f)
|
71
|
+
return super unless @is_iev
|
72
|
+
f.at("./title").next =
|
73
|
+
"<p>#{@norm_empty_pref}</p>"
|
74
|
+
end
|
75
|
+
|
76
|
+
def term_defs_boilerplate(div, source, term, preface, isodoc)
|
77
|
+
return super unless @is_iev
|
78
|
+
end
|
79
|
+
|
80
|
+
def sts_converter(node)
|
81
|
+
end
|
190
82
|
end
|
191
83
|
end
|
192
84
|
end
|