metanorma-gb 1.3.20 → 1.3.21
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/gb/biblio.rng +54 -6
- data/lib/asciidoctor/gb/front.rb +21 -1
- data/lib/asciidoctor/gb/gbstandard.rng +3 -0
- data/lib/asciidoctor/gb/isostandard.rng +8 -0
- data/lib/isodoc/gb/html/htmlstyle.scss +12 -9
- data/lib/isodoc/gb/metadata.rb +15 -36
- data/lib/metanorma/gb/version.rb +1 -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: 9572e4b6c6d084df727b40bfc2827cdba1e9238f2905213753166091ce6d7fb6
|
|
4
|
+
data.tar.gz: 0cc451ec6098c3fcaeb4d7f246cec4b623f2a2ce7a2ae9b9600f453163814767
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f62662c60f2f0bea290ae7bcc81cb17af9e7738f31305a90cdc9ce7259e8f2d6a31fb2596cc7e735e21cf62d3c20f240fced43f552ec04a8b359ae778b742e80
|
|
7
|
+
data.tar.gz: 15727819f77f7d1b9456377f5c6aa22b4fbe4e900a9fd6de656dcd0015ea0125ecad379f3079adeefa3092d0d93fbe9c5ed6b3ab5113a0f089403f04aa678f84
|
|
@@ -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>
|
|
@@ -452,9 +458,14 @@
|
|
|
452
458
|
<attribute name="bibitemid">
|
|
453
459
|
<data type="IDREF"/>
|
|
454
460
|
</attribute>
|
|
455
|
-
<
|
|
456
|
-
<
|
|
457
|
-
|
|
461
|
+
<choice>
|
|
462
|
+
<zeroOrMore>
|
|
463
|
+
<ref name="locality"/>
|
|
464
|
+
</zeroOrMore>
|
|
465
|
+
<zeroOrMore>
|
|
466
|
+
<ref name="localityStack"/>
|
|
467
|
+
</zeroOrMore>
|
|
468
|
+
</choice>
|
|
458
469
|
<optional>
|
|
459
470
|
<ref name="date"/>
|
|
460
471
|
</optional>
|
|
@@ -469,6 +480,25 @@
|
|
|
469
480
|
<ref name="BibItemLocality"/>
|
|
470
481
|
</element>
|
|
471
482
|
</define>
|
|
483
|
+
<define name="localityStack">
|
|
484
|
+
<element name="localityStack">
|
|
485
|
+
<zeroOrMore>
|
|
486
|
+
<ref name="locality"/>
|
|
487
|
+
</zeroOrMore>
|
|
488
|
+
</element>
|
|
489
|
+
</define>
|
|
490
|
+
<define name="sourceLocality">
|
|
491
|
+
<element name="sourceLocality">
|
|
492
|
+
<ref name="BibItemLocality"/>
|
|
493
|
+
</element>
|
|
494
|
+
</define>
|
|
495
|
+
<define name="sourceLocalityStack">
|
|
496
|
+
<element name="sourceLocalityStack">
|
|
497
|
+
<zeroOrMore>
|
|
498
|
+
<ref name="sourceLocality"/>
|
|
499
|
+
</zeroOrMore>
|
|
500
|
+
</element>
|
|
501
|
+
</define>
|
|
472
502
|
<define name="BibItemLocality">
|
|
473
503
|
<attribute name="type">
|
|
474
504
|
<ref name="LocalityType"/>
|
|
@@ -1028,12 +1058,30 @@
|
|
|
1028
1058
|
<attribute name="type">
|
|
1029
1059
|
<ref name="DocRelationType"/>
|
|
1030
1060
|
</attribute>
|
|
1061
|
+
<optional>
|
|
1062
|
+
<element name="description">
|
|
1063
|
+
<ref name="FormattedString"/>
|
|
1064
|
+
</element>
|
|
1065
|
+
</optional>
|
|
1031
1066
|
<element name="bibitem">
|
|
1032
1067
|
<ref name="BibliographicItem"/>
|
|
1033
1068
|
</element>
|
|
1034
|
-
<
|
|
1035
|
-
<
|
|
1036
|
-
|
|
1069
|
+
<choice>
|
|
1070
|
+
<zeroOrMore>
|
|
1071
|
+
<ref name="locality"/>
|
|
1072
|
+
</zeroOrMore>
|
|
1073
|
+
<zeroOrMore>
|
|
1074
|
+
<ref name="localityStack"/>
|
|
1075
|
+
</zeroOrMore>
|
|
1076
|
+
</choice>
|
|
1077
|
+
<choice>
|
|
1078
|
+
<zeroOrMore>
|
|
1079
|
+
<ref name="sourceLocality"/>
|
|
1080
|
+
</zeroOrMore>
|
|
1081
|
+
<zeroOrMore>
|
|
1082
|
+
<ref name="sourceLocalityStack"/>
|
|
1083
|
+
</zeroOrMore>
|
|
1084
|
+
</choice>
|
|
1037
1085
|
</element>
|
|
1038
1086
|
</define>
|
|
1039
1087
|
<define name="version">
|
data/lib/asciidoctor/gb/front.rb
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
module Asciidoctor
|
|
2
2
|
module Gb
|
|
3
3
|
class Converter < ISO::Converter
|
|
4
|
+
STAGE_ABBRS_CN = {
|
|
5
|
+
"00": "新工作项目建议",
|
|
6
|
+
"10": "新工作项目",
|
|
7
|
+
"20": "标准草案工作组讨论稿",
|
|
8
|
+
"30": "标准草案征求意见稿",
|
|
9
|
+
"40": "标准草案送审稿",
|
|
10
|
+
"50": "标准草案报批稿",
|
|
11
|
+
"60": "国家标准",
|
|
12
|
+
"90": "(Review)",
|
|
13
|
+
"95": "(Withdrawal)",
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
16
|
+
def stage_name(stage, substage)
|
|
17
|
+
return "Proof" if stage == "60" && substage == "00"
|
|
18
|
+
@language == "en" ?
|
|
19
|
+
STAGE_NAMES[stage.to_sym] : STAGE_ABBRS_CN[stage.to_sym]
|
|
20
|
+
end
|
|
21
|
+
|
|
4
22
|
def doctype(node)
|
|
5
23
|
type = node.attr("mandate") || "mandatory"
|
|
6
24
|
type = "standard" if type == "mandatory"
|
|
@@ -67,7 +85,8 @@ module Asciidoctor
|
|
|
67
85
|
type = node.attr("equivalence") || "equivalent"
|
|
68
86
|
m = /^(?<code>[^,]+),?(?<title>.*)$/.match isostd
|
|
69
87
|
title = m[:title].empty? ? "[not supplied]" : m[:title]
|
|
70
|
-
xml.relation **{ type:
|
|
88
|
+
xml.relation **{ type: "adoptedFrom" } do |r|
|
|
89
|
+
r.description type
|
|
71
90
|
r.bibitem do |b|
|
|
72
91
|
b.title { |t| t << title }
|
|
73
92
|
b.docidentifier m[:code]
|
|
@@ -220,6 +239,7 @@ module Asciidoctor
|
|
|
220
239
|
metadata_committee(node, xml)
|
|
221
240
|
metadata_ics(node, xml)
|
|
222
241
|
structured_id(node, xml)
|
|
242
|
+
xml.stagename stage_name(get_stage(node), get_substage(node))
|
|
223
243
|
metadata_gbtype(node, xml)
|
|
224
244
|
metadata_gblibraryids(node, xml)
|
|
225
245
|
end
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
<ref name="ics"/>
|
|
44
44
|
</zeroOrMore>
|
|
45
45
|
<ref name="structuredidentifier"/>
|
|
46
|
+
<optional>
|
|
47
|
+
<ref name="stagename"/>
|
|
48
|
+
</optional>
|
|
46
49
|
</define>
|
|
47
50
|
<define name="bdate">
|
|
48
51
|
<element name="date">
|
|
@@ -511,4 +514,9 @@
|
|
|
511
514
|
</oneOrMore>
|
|
512
515
|
</element>
|
|
513
516
|
</define>
|
|
517
|
+
<define name="stagename">
|
|
518
|
+
<element name="stagename">
|
|
519
|
+
<text/>
|
|
520
|
+
</element>
|
|
521
|
+
</define>
|
|
514
522
|
</grammar>
|
|
@@ -44,8 +44,8 @@ body {
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
h1 {
|
|
47
|
-
font-size: 1.5em;
|
|
48
|
-
line-height: 2em;
|
|
47
|
+
font-size: 1.5em;
|
|
48
|
+
line-height: 2em;
|
|
49
49
|
color: #485094;
|
|
50
50
|
font-weight: 400;
|
|
51
51
|
|
|
@@ -54,8 +54,8 @@ h1 {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
h2 {
|
|
57
|
-
font-size: 1.3em;
|
|
58
|
-
line-height: 1.5em;
|
|
57
|
+
font-size: 1.3em;
|
|
58
|
+
line-height: 1.5em;
|
|
59
59
|
color: #485094;
|
|
60
60
|
font-weight: 300;
|
|
61
61
|
|
|
@@ -75,8 +75,8 @@ h2 {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
h3 {
|
|
78
|
-
font-size: 1.1em;
|
|
79
|
-
line-height: 1.3em;
|
|
78
|
+
font-size: 1.1em;
|
|
79
|
+
line-height: 1.3em;
|
|
80
80
|
color: #485094;
|
|
81
81
|
font-weight: 300;
|
|
82
82
|
}
|
|
@@ -225,7 +225,11 @@ nav {
|
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
.document-type-band {
|
|
228
|
-
@include docBand($order: 2, $
|
|
228
|
+
@include docBand($order: 2, $offset: 180px);
|
|
229
|
+
|
|
230
|
+
.document-type {
|
|
231
|
+
top: 20px;
|
|
232
|
+
}
|
|
229
233
|
}
|
|
230
234
|
|
|
231
235
|
#governance-band p.document-type {
|
|
@@ -233,7 +237,6 @@ nav {
|
|
|
233
237
|
height: 230px !important;
|
|
234
238
|
}
|
|
235
239
|
|
|
236
|
-
|
|
237
240
|
// Bibliograhy
|
|
238
241
|
|
|
239
242
|
p.Biblio, p.NormRef {
|
|
@@ -249,7 +252,7 @@ p.Biblio, p.NormRef {
|
|
|
249
252
|
background-color: #f7f7f7;
|
|
250
253
|
|
|
251
254
|
/*
|
|
252
|
-
div.figure > img:not(.logo) {
|
|
255
|
+
div.figure > img:not(.logo) {
|
|
253
256
|
TODO: ^^^ Relevant selector?
|
|
254
257
|
margin-left: auto;
|
|
255
258
|
margin-right: auto;
|
data/lib/isodoc/gb/metadata.rb
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
require "isodoc"
|
|
2
2
|
require "twitter_cldr"
|
|
3
3
|
require "htmlentities"
|
|
4
|
+
require "metanorma-iso"
|
|
4
5
|
|
|
5
6
|
module IsoDoc
|
|
6
7
|
module Gb
|
|
7
8
|
# A {Converter} implementation that generates GB output, and a document
|
|
8
9
|
# schema encapsulation of the document for validation
|
|
9
|
-
class Metadata < IsoDoc::Metadata
|
|
10
|
+
class Metadata < IsoDoc::Iso::Metadata
|
|
10
11
|
def initialize(lang, script, labels)
|
|
11
12
|
super
|
|
12
13
|
set(:docmaintitlezh, "")
|
|
@@ -21,6 +22,8 @@ module IsoDoc
|
|
|
21
22
|
set(:doctitle, "XXXX")
|
|
22
23
|
set(:obsoletes, nil)
|
|
23
24
|
set(:obsoletes_part, nil)
|
|
25
|
+
set(:publisheddate, "XXX")
|
|
26
|
+
set(:implementeddate, "XXX")
|
|
24
27
|
end
|
|
25
28
|
|
|
26
29
|
def title(isoxml, _out)
|
|
@@ -63,19 +66,6 @@ module IsoDoc
|
|
|
63
66
|
set(:committee, gbcommittee&.text)
|
|
64
67
|
end
|
|
65
68
|
|
|
66
|
-
# from ISO
|
|
67
|
-
STAGE_ABBRS = {
|
|
68
|
-
"00": "PWI",
|
|
69
|
-
"10": "NWIP",
|
|
70
|
-
"20": "WD",
|
|
71
|
-
"30": "CD",
|
|
72
|
-
"40": "DIS",
|
|
73
|
-
"50": "FDIS",
|
|
74
|
-
"60": "IS",
|
|
75
|
-
"90": "(Review)",
|
|
76
|
-
"95": "(Withdrawal)",
|
|
77
|
-
}.freeze
|
|
78
|
-
|
|
79
69
|
STAGE_ABBRS_CN = {
|
|
80
70
|
"00": "新工作项目建议",
|
|
81
71
|
"10": "新工作项目",
|
|
@@ -100,20 +90,11 @@ module IsoDoc
|
|
|
100
90
|
"95": "obsolete",
|
|
101
91
|
}
|
|
102
92
|
|
|
103
|
-
def
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
stage = STAGE_ABBRS[stage.to_sym] || "??"
|
|
109
|
-
stage += iter if iter
|
|
110
|
-
stage = "Pre" + stage if draft =~ /^0\./
|
|
111
|
-
stage
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def status_abbrev_cn(stage, iter, draft)
|
|
115
|
-
return status_abbrev(stage, iter, draft) if @lang != "zh"
|
|
116
|
-
stage = STAGE_ABBRS_CN[stage.to_sym] || "??"
|
|
93
|
+
def status_abbrev_cn(stage, _substage, iter, draft)
|
|
94
|
+
return status_abbrev(stage, _substage, iter, draft) if @lang != "zh"
|
|
95
|
+
stage_num = stage == "PRF" ? "60" :
|
|
96
|
+
(Asciidoctor::Gb::Converter::STAGE_ABBRS&.invert[stage]&.to_s || "??")
|
|
97
|
+
stage = STAGE_ABBRS_CN[stage_num.to_sym] || "??"
|
|
117
98
|
stage = "#{iter.to_i.localize(:zh).spellout.force_encoding("UTF-8")}次#{stage}" if iter
|
|
118
99
|
stage = "Pre" + HTMLEntities.new.encode(stage, :hexadecimal) if draft =~ /^0\./
|
|
119
100
|
stage
|
|
@@ -125,12 +106,13 @@ module IsoDoc
|
|
|
125
106
|
if docstatus
|
|
126
107
|
set(:stage, docstatus.text.to_i)
|
|
127
108
|
set(:unpublished, unpublished(docstatus.text))
|
|
128
|
-
set(:statusabbr, status_abbrev_cn(docstatus
|
|
109
|
+
set(:statusabbr, status_abbrev_cn(docstatus["abbreviation"],
|
|
110
|
+
isoxml&.at(ns("//bibdata/status/substage"))&.text,
|
|
129
111
|
isoxml&.at(ns("//bibdata/status/iteration"))&.text,
|
|
130
112
|
isoxml&.at(ns("//version/draft"))&.text))
|
|
131
113
|
set(:status, STATUS_CSS[docstatus.text.to_sym])
|
|
132
114
|
unpublished(docstatus.text) and
|
|
133
|
-
set(:stageabbr,
|
|
115
|
+
set(:stageabbr, docstatus["abbreviation"])
|
|
134
116
|
end
|
|
135
117
|
end
|
|
136
118
|
|
|
@@ -150,15 +132,15 @@ module IsoDoc
|
|
|
150
132
|
gb_equivalence(isoxml)
|
|
151
133
|
end
|
|
152
134
|
|
|
153
|
-
ISO_STD_XPATH = "//bibdata/relation[
|
|
154
|
-
"
|
|
135
|
+
ISO_STD_XPATH = "//bibdata/relation[xmlns:description[text() = 'equivalent' or "\
|
|
136
|
+
"text() = 'identical' or text() = 'nonequivalent']]/bibitem".freeze
|
|
155
137
|
|
|
156
138
|
def gb_equivalence(isoxml)
|
|
157
139
|
isostdid = isoxml.at(ns("#{ISO_STD_XPATH}/docidentifier")) || return
|
|
158
140
|
set(:isostandard, isostdid.text)
|
|
159
141
|
isostdtitle = isoxml.at(ns("#{ISO_STD_XPATH}/title"))
|
|
160
142
|
set(:isostandardtitle, isostdtitle.text) if isostdtitle
|
|
161
|
-
eq = isoxml.at(ns("//bibdata/relation
|
|
143
|
+
eq = isoxml.at(ns("//bibdata/relation/description"))
|
|
162
144
|
case eq.text
|
|
163
145
|
when "equivalent" then set(:gbequivalence, "MOD")
|
|
164
146
|
when "nonequivalent" then set(:gbequivalence, "NEQ")
|
|
@@ -207,12 +189,9 @@ module IsoDoc
|
|
|
207
189
|
end
|
|
208
190
|
|
|
209
191
|
def gb_library_identifier(isoxml)
|
|
210
|
-
ics = []
|
|
211
192
|
ccs = []
|
|
212
|
-
isoxml.xpath(ns("//bibdata/ext/ics/code")).each { |i| ics << i.text }
|
|
213
193
|
isoxml.xpath(ns("//bibdata/ext/ccs")).each { |i| ccs << i.text }
|
|
214
194
|
p = isoxml.at(ns("//bibdata/ext/plannumber"))
|
|
215
|
-
set(:libraryid_ics, ics.empty? ? "XXX" : ics.join(", "))
|
|
216
195
|
set(:libraryid_ccs, ccs.empty? ? "XXX" : ccs.join(", "))
|
|
217
196
|
set(:libraryid_plan, p ? p.text : "XXX")
|
|
218
197
|
end
|
data/lib/metanorma/gb/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metanorma-gb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.21
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-04-
|
|
11
|
+
date: 2020-04-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: metanorma-iso
|