metanorma-ogc 2.4.2 → 2.4.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -1
- data/lib/isodoc/ogc/html_convert.rb +2 -2
- data/lib/isodoc/ogc/i18n-en.yaml +1 -1
- data/lib/isodoc/ogc/metadata.rb +1 -1
- data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +44 -11
- data/lib/isodoc/ogc/ogc.best-practice.xsl +44 -11
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +44 -11
- data/lib/isodoc/ogc/ogc.community-practice.xsl +44 -11
- data/lib/isodoc/ogc/ogc.community-standard.xsl +44 -11
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +44 -11
- data/lib/isodoc/ogc/ogc.draft-standard.xsl +44 -11
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +44 -11
- data/lib/isodoc/ogc/ogc.other.xsl +44 -11
- data/lib/isodoc/ogc/ogc.policy.xsl +44 -11
- data/lib/isodoc/ogc/ogc.reference-model.xsl +44 -11
- data/lib/isodoc/ogc/ogc.release-notes.xsl +44 -11
- data/lib/isodoc/ogc/ogc.standard.xsl +44 -11
- data/lib/isodoc/ogc/ogc.test-suite.xsl +44 -11
- data/lib/isodoc/ogc/ogc.user-guide.xsl +44 -11
- data/lib/isodoc/ogc/ogc.white-paper.xsl +11 -2
- data/lib/metanorma/ogc/basicdoc.rng +56 -37
- data/lib/metanorma/ogc/biblio.rng +10 -1
- data/lib/metanorma/ogc/cleanup.rb +30 -10
- data/lib/metanorma/ogc/converter.rb +14 -1
- data/lib/metanorma/ogc/front.rb +13 -14
- data/lib/metanorma/ogc/isodoc.rng +52 -1
- data/lib/metanorma/ogc/processor.rb +1 -0
- data/lib/metanorma/ogc/version.rb +1 -1
- data/metanorma-ogc.gemspec +1 -1
- metadata +4 -4
@@ -86,25 +86,26 @@ module Metanorma
|
|
86
86
|
end
|
87
87
|
|
88
88
|
def section_names_terms_cleanup(xml)
|
89
|
-
|
89
|
+
@i18n or return
|
90
|
+
replace_title(xml, "//definitions[@type = 'symbols']", @i18n.symbols)
|
90
91
|
replace_title(xml, "//definitions[@type = 'abbreviated_terms']",
|
91
|
-
@i18n
|
92
|
-
replace_title(xml, "//definitions[not(@type)]", @i18n
|
92
|
+
@i18n.abbrev)
|
93
|
+
replace_title(xml, "//definitions[not(@type)]", @i18n.symbolsabbrev)
|
93
94
|
replace_title(xml, "//sections//terms#{SYMnoABBR} | " \
|
94
95
|
"//sections//clause[.//terms]#{SYMnoABBR}",
|
95
|
-
@i18n
|
96
|
+
@i18n.termsdefsymbols, true)
|
96
97
|
replace_title(xml, "//sections//terms#{ABBRnoSYM} | " \
|
97
98
|
"//sections//clause[.//terms]#{ABBRnoSYM}",
|
98
|
-
@i18n
|
99
|
+
@i18n.termsdefabbrev, true)
|
99
100
|
replace_title(xml, "//sections//terms#{SYMABBR} | " \
|
100
101
|
"//sections//clause[.//terms]#{SYMABBR}",
|
101
|
-
@i18n
|
102
|
+
@i18n.termsdefsymbolsabbrev, true)
|
102
103
|
replace_title(xml, "//sections//terms#{NO_SYMABBR} | " \
|
103
104
|
"//sections//clause[.//terms]#{NO_SYMABBR}",
|
104
|
-
@i18n
|
105
|
+
@i18n.termsdefsymbolsabbrev, true)
|
105
106
|
replace_title(xml, "//sections//terms[not(.//definitions)] | " \
|
106
107
|
"//sections//clause[.//terms][not(.//definitions)]",
|
107
|
-
@i18n
|
108
|
+
@i18n.termsdef, true)
|
108
109
|
end
|
109
110
|
|
110
111
|
def termdef_cleanup(xmldoc)
|
@@ -115,8 +116,7 @@ module Metanorma
|
|
115
116
|
# skip annex/terms/terms, which is empty node
|
116
117
|
def termdef_subclause_cleanup(xmldoc)
|
117
118
|
xmldoc.xpath("//annex//clause[terms]").each do |t|
|
118
|
-
|
119
|
-
|
119
|
+
t.xpath("./clause | ./terms | ./definitions").size == 1 or next
|
120
120
|
t.children.each { |n| n.parent = t.parent }
|
121
121
|
t.remove
|
122
122
|
end
|
@@ -224,6 +224,26 @@ module Metanorma
|
|
224
224
|
partid: partid&.to_i || 0,
|
225
225
|
type: id ? id["type"] : nil }
|
226
226
|
end
|
227
|
+
|
228
|
+
# Numbers sort *before* letters; we leave out using thorn to force that sort order.
|
229
|
+
# case insensitive
|
230
|
+
def symbol_key(sym)
|
231
|
+
@c.decode(asciimath_key(sym).text)
|
232
|
+
.gsub(/[\[\]{}<>()]/, "").gsub(/\s/m, "")
|
233
|
+
.gsub(/[[:punct:]]|[_^]/, ":\\0").gsub("`", "")
|
234
|
+
end
|
235
|
+
|
236
|
+
def symbols_cleanup(docxml)
|
237
|
+
docxml.xpath("//definitions/dl").each do |dl|
|
238
|
+
dl_out = extract_symbols_list(dl)
|
239
|
+
dl_out.sort! do |a, b|
|
240
|
+
a[:key].downcase <=> b[:key].downcase || a[:key] <=> b[:key] ||
|
241
|
+
a[:dt] <=> b[:dt]
|
242
|
+
end
|
243
|
+
dl.children = dl_out.map { |d| d[:dt].to_s + d[:dd].to_s }.join("\n")
|
244
|
+
end
|
245
|
+
docxml
|
246
|
+
end
|
227
247
|
end
|
228
248
|
end
|
229
249
|
end
|
@@ -154,7 +154,9 @@ module Metanorma
|
|
154
154
|
end
|
155
155
|
|
156
156
|
def presentation_xml_converter(node)
|
157
|
-
IsoDoc::Ogc::PresentationXMLConvert
|
157
|
+
IsoDoc::Ogc::PresentationXMLConvert
|
158
|
+
.new(html_extract_attributes(node)
|
159
|
+
.merge(output_formats: ::Metanorma::Ogc::Processor.new.output_formats))
|
158
160
|
end
|
159
161
|
|
160
162
|
def html_converter(node)
|
@@ -170,6 +172,17 @@ module Metanorma
|
|
170
172
|
def doc_converter(node)
|
171
173
|
IsoDoc::Ogc::WordConvert.new(doc_extract_attributes(node))
|
172
174
|
end
|
175
|
+
|
176
|
+
# preempt subdoctype warning
|
177
|
+
def adoc2xml(text, flavour)
|
178
|
+
Nokogiri::XML(text).root and return text
|
179
|
+
c = Asciidoctor
|
180
|
+
.convert("= X\nA\n:semantic-metadata-headless: true\n" \
|
181
|
+
":novalid:\n:docsubtype: implementation\n" \
|
182
|
+
":doctype: standard\n\n#{text}\n",
|
183
|
+
backend: flavour, header_footer: true)
|
184
|
+
Nokogiri::XML(c).at("//xmlns:sections")
|
185
|
+
end
|
173
186
|
end
|
174
187
|
end
|
175
188
|
end
|
data/lib/metanorma/ogc/front.rb
CHANGED
@@ -11,8 +11,7 @@ module Metanorma
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def corporate_author(node, xml)
|
14
|
-
|
15
|
-
|
14
|
+
node.attr("submitting-organizations") or return
|
16
15
|
csv_split(HTMLEntities.new
|
17
16
|
.decode(node.attr("submitting-organizations")), ";")&.each do |org|
|
18
17
|
xml.contributor do |c|
|
@@ -49,8 +48,7 @@ module Metanorma
|
|
49
48
|
end
|
50
49
|
|
51
50
|
def ogc_editor(node, xml)
|
52
|
-
|
53
|
-
|
51
|
+
node.attr("editor") or return
|
54
52
|
xml.contributor do |c|
|
55
53
|
c.role type: "editor"
|
56
54
|
c.person do |p|
|
@@ -78,12 +76,15 @@ module Metanorma
|
|
78
76
|
end
|
79
77
|
|
80
78
|
def default_publisher
|
81
|
-
"
|
79
|
+
"OGC"
|
82
80
|
end
|
83
81
|
|
84
|
-
|
85
|
-
|
82
|
+
def org_abbrev
|
83
|
+
{ "Open Geospatial Consortium" => "OGC" }
|
84
|
+
end
|
86
85
|
|
86
|
+
def metadata_committee(node, xml)
|
87
|
+
node.attr("committee") or return
|
87
88
|
xml.editorialgroup do |a|
|
88
89
|
metadata_committee1(node, a)
|
89
90
|
end
|
@@ -102,12 +103,10 @@ module Metanorma
|
|
102
103
|
end
|
103
104
|
|
104
105
|
def externalid(node)
|
105
|
-
|
106
|
-
|
106
|
+
i = node.attr("external-id") and return i
|
107
107
|
d = doctype(node)
|
108
108
|
a = node.attr("abbrev")
|
109
|
-
|
110
|
-
|
109
|
+
d && a or return
|
111
110
|
url = "http://www.opengis.net/doc/#{IsoDoc::Ogc::DOCTYPE_ABBR[d]}/#{a}"
|
112
111
|
v = (node.attr("edition") || node.attr("version")) and url += "/#{v}"
|
113
112
|
url
|
@@ -181,12 +180,12 @@ module Metanorma
|
|
181
180
|
unless %w{general encoding extension profile
|
182
181
|
profile-with-extension}.include? s
|
183
182
|
@log.add("Document Attributes", nil,
|
184
|
-
"'#{s}' is not a permitted subtype of
|
185
|
-
"reverting to '
|
183
|
+
"'#{s}' is not a permitted subtype of best-practice: " \
|
184
|
+
"reverting to 'general'")
|
186
185
|
s = "general"
|
187
186
|
end
|
188
187
|
end
|
189
|
-
s and xml.subdoctype s
|
188
|
+
s && !s.empty? and xml.subdoctype s
|
190
189
|
end
|
191
190
|
|
192
191
|
def title(node, xml)
|
@@ -17,7 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
-
<!-- VERSION v1.2.
|
20
|
+
<!-- VERSION v1.2.8 -->
|
21
21
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
22
22
|
<include href="reqt.rng"/>
|
23
23
|
<include href="basicdoc.rng">
|
@@ -485,6 +485,8 @@
|
|
485
485
|
<choice>
|
486
486
|
<text/>
|
487
487
|
<ref name="callout"/>
|
488
|
+
<ref name="xref"/>
|
489
|
+
<ref name="eref"/>
|
488
490
|
</choice>
|
489
491
|
</oneOrMore>
|
490
492
|
<zeroOrMore>
|
@@ -865,6 +867,7 @@
|
|
865
867
|
<ref name="PureTextElement"/>
|
866
868
|
<ref name="stem"/>
|
867
869
|
<ref name="index"/>
|
870
|
+
<ref name="index-xref"/>
|
868
871
|
<ref name="eref"/>
|
869
872
|
<ref name="erefstack"/>
|
870
873
|
<ref name="xref"/>
|
@@ -880,6 +883,7 @@
|
|
880
883
|
<ref name="PureTextElement"/>
|
881
884
|
<ref name="stem"/>
|
882
885
|
<ref name="index"/>
|
886
|
+
<ref name="index-xref"/>
|
883
887
|
<ref name="eref"/>
|
884
888
|
<ref name="erefstack"/>
|
885
889
|
<ref name="xref"/>
|
@@ -894,6 +898,7 @@
|
|
894
898
|
<choice>
|
895
899
|
<ref name="PureTextElement"/>
|
896
900
|
<ref name="index"/>
|
901
|
+
<ref name="index-xref"/>
|
897
902
|
<ref name="eref"/>
|
898
903
|
<ref name="erefstack"/>
|
899
904
|
<ref name="xref"/>
|
@@ -908,6 +913,7 @@
|
|
908
913
|
<choice>
|
909
914
|
<ref name="PureTextElement"/>
|
910
915
|
<ref name="index"/>
|
916
|
+
<ref name="index-xref"/>
|
911
917
|
</choice>
|
912
918
|
</zeroOrMore>
|
913
919
|
</element>
|
@@ -918,6 +924,7 @@
|
|
918
924
|
<choice>
|
919
925
|
<ref name="PureTextElement"/>
|
920
926
|
<ref name="index"/>
|
927
|
+
<ref name="index-xref"/>
|
921
928
|
</choice>
|
922
929
|
</zeroOrMore>
|
923
930
|
</element>
|
@@ -928,6 +935,7 @@
|
|
928
935
|
<choice>
|
929
936
|
<ref name="PureTextElement"/>
|
930
937
|
<ref name="index"/>
|
938
|
+
<ref name="index-xref"/>
|
931
939
|
</choice>
|
932
940
|
</zeroOrMore>
|
933
941
|
</element>
|
@@ -938,6 +946,7 @@
|
|
938
946
|
<choice>
|
939
947
|
<ref name="PureTextElement"/>
|
940
948
|
<ref name="index"/>
|
949
|
+
<ref name="index-xref"/>
|
941
950
|
</choice>
|
942
951
|
</zeroOrMore>
|
943
952
|
</element>
|
@@ -1004,6 +1013,14 @@
|
|
1004
1013
|
</oneOrMore>
|
1005
1014
|
</element>
|
1006
1015
|
</define>
|
1016
|
+
<define name="BasicBlock" combine="choice">
|
1017
|
+
<ref name="columnbreak"/>
|
1018
|
+
</define>
|
1019
|
+
<define name="columnbreak">
|
1020
|
+
<element name="columnbreak">
|
1021
|
+
<empty/>
|
1022
|
+
</element>
|
1023
|
+
</define>
|
1007
1024
|
<define name="MultilingualRenderingType">
|
1008
1025
|
<choice>
|
1009
1026
|
<value>common</value>
|
@@ -1037,6 +1054,17 @@
|
|
1037
1054
|
<ref name="date_inline"/>
|
1038
1055
|
</choice>
|
1039
1056
|
</define>
|
1057
|
+
<define name="PureTextElement" combine="choice">
|
1058
|
+
<ref name="passthrough_inline"/>
|
1059
|
+
</define>
|
1060
|
+
<define name="passthrough_inline">
|
1061
|
+
<element name="passthrough">
|
1062
|
+
<optional>
|
1063
|
+
<attribute name="formats"/>
|
1064
|
+
</optional>
|
1065
|
+
<text/>
|
1066
|
+
</element>
|
1067
|
+
</define>
|
1040
1068
|
<define name="add">
|
1041
1069
|
<element name="add">
|
1042
1070
|
<choice>
|
@@ -1047,6 +1075,8 @@
|
|
1047
1075
|
<ref name="keyword"/>
|
1048
1076
|
<ref name="xref"/>
|
1049
1077
|
<ref name="hyperlink"/>
|
1078
|
+
<ref name="index"/>
|
1079
|
+
<ref name="index-xref"/>
|
1050
1080
|
</choice>
|
1051
1081
|
</element>
|
1052
1082
|
</define>
|
@@ -1060,6 +1090,8 @@
|
|
1060
1090
|
<ref name="keyword"/>
|
1061
1091
|
<ref name="xref"/>
|
1062
1092
|
<ref name="hyperlink"/>
|
1093
|
+
<ref name="index"/>
|
1094
|
+
<ref name="index-xref"/>
|
1063
1095
|
</choice>
|
1064
1096
|
</element>
|
1065
1097
|
</define>
|
@@ -1071,6 +1103,9 @@
|
|
1071
1103
|
<optional>
|
1072
1104
|
<attribute name="style"/>
|
1073
1105
|
</optional>
|
1106
|
+
<optional>
|
1107
|
+
<attribute name="custom-charset"/>
|
1108
|
+
</optional>
|
1074
1109
|
<oneOrMore>
|
1075
1110
|
<ref name="TextElement"/>
|
1076
1111
|
</oneOrMore>
|
@@ -1126,6 +1161,8 @@
|
|
1126
1161
|
<choice>
|
1127
1162
|
<ref name="PureTextElement"/>
|
1128
1163
|
<ref name="stem"/>
|
1164
|
+
<ref name="index"/>
|
1165
|
+
<ref name="index-xref"/>
|
1129
1166
|
</choice>
|
1130
1167
|
</zeroOrMore>
|
1131
1168
|
</element>
|
@@ -1136,6 +1173,8 @@
|
|
1136
1173
|
<choice>
|
1137
1174
|
<ref name="PureTextElement"/>
|
1138
1175
|
<ref name="stem"/>
|
1176
|
+
<ref name="index"/>
|
1177
|
+
<ref name="index-xref"/>
|
1139
1178
|
</choice>
|
1140
1179
|
</zeroOrMore>
|
1141
1180
|
</element>
|
@@ -1369,6 +1408,9 @@
|
|
1369
1408
|
<optional>
|
1370
1409
|
<attribute name="number"/>
|
1371
1410
|
</optional>
|
1411
|
+
<optional>
|
1412
|
+
<attribute name="branch-number"/>
|
1413
|
+
</optional>
|
1372
1414
|
<optional>
|
1373
1415
|
<attribute name="obligation">
|
1374
1416
|
<choice>
|
@@ -1592,6 +1634,9 @@
|
|
1592
1634
|
<optional>
|
1593
1635
|
<attribute name="number"/>
|
1594
1636
|
</optional>
|
1637
|
+
<optional>
|
1638
|
+
<attribute name="branch-number"/>
|
1639
|
+
</optional>
|
1595
1640
|
<optional>
|
1596
1641
|
<attribute name="type"/>
|
1597
1642
|
</optional>
|
@@ -1643,6 +1688,9 @@
|
|
1643
1688
|
<optional>
|
1644
1689
|
<attribute name="number"/>
|
1645
1690
|
</optional>
|
1691
|
+
<optional>
|
1692
|
+
<attribute name="branch-number"/>
|
1693
|
+
</optional>
|
1646
1694
|
<optional>
|
1647
1695
|
<ref name="section-title"/>
|
1648
1696
|
</optional>
|
@@ -1740,6 +1788,9 @@
|
|
1740
1788
|
<optional>
|
1741
1789
|
<attribute name="number"/>
|
1742
1790
|
</optional>
|
1791
|
+
<optional>
|
1792
|
+
<attribute name="branch-number"/>
|
1793
|
+
</optional>
|
1743
1794
|
<optional>
|
1744
1795
|
<attribute name="obligation">
|
1745
1796
|
<choice>
|
data/metanorma-ogc.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
27
27
|
|
28
28
|
spec.add_dependency "iso-639"
|
29
|
-
spec.add_dependency "metanorma-standoc", "~> 2.
|
29
|
+
spec.add_dependency "metanorma-standoc", "~> 2.7.0"
|
30
30
|
|
31
31
|
spec.add_development_dependency "debug"
|
32
32
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ogc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iso-639
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.
|
33
|
+
version: 2.7.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.
|
40
|
+
version: 2.7.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: debug
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|