metanorma-ogc 1.3.4 → 1.3.5

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.
@@ -1153,7 +1153,7 @@
1153
1153
 
1154
1154
 
1155
1155
 
1156
-
1156
+
1157
1157
  </xsl:attribute-set><xsl:attribute-set name="example-style">
1158
1158
 
1159
1159
 
@@ -1223,6 +1223,7 @@
1223
1223
 
1224
1224
 
1225
1225
 
1226
+
1226
1227
  </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1227
1228
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1228
1229
 
@@ -1248,6 +1249,8 @@
1248
1249
 
1249
1250
 
1250
1251
 
1252
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1253
+
1251
1254
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1252
1255
 
1253
1256
  <xsl:attribute name="font-size">12pt</xsl:attribute>
@@ -1304,6 +1307,7 @@
1304
1307
 
1305
1308
 
1306
1309
 
1310
+
1307
1311
  </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1308
1312
 
1309
1313
 
@@ -1347,10 +1351,12 @@
1347
1351
 
1348
1352
 
1349
1353
 
1354
+
1350
1355
  </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
1351
1356
 
1352
1357
 
1353
1358
 
1359
+
1354
1360
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1355
1361
 
1356
1362
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
@@ -1416,6 +1422,7 @@
1416
1422
 
1417
1423
 
1418
1424
 
1425
+
1419
1426
 
1420
1427
 
1421
1428
 
@@ -1494,6 +1501,8 @@
1494
1501
  <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
1495
1502
 
1496
1503
 
1504
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
1505
+
1497
1506
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1498
1507
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1499
1508
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
@@ -1547,11 +1556,11 @@
1547
1556
  <xsl:variable name="table">
1548
1557
 
1549
1558
  <xsl:variable name="simple-table">
1550
- <xsl:call-template name="getSimpleTable"/>
1559
+ <xsl:call-template name="getSimpleTable"/>
1551
1560
  </xsl:variable>
1552
1561
 
1553
1562
  <!-- <xsl:if test="$namespace = 'bipm'">
1554
- <fo:block>&#xA0;</fo:block>
1563
+ <fo:block>&#xA0;</fo:block>
1555
1564
  </xsl:if> -->
1556
1565
 
1557
1566
  <!-- $namespace = 'iso' or -->
@@ -1665,6 +1674,7 @@
1665
1674
 
1666
1675
 
1667
1676
 
1677
+
1668
1678
  </xsl:variable>
1669
1679
 
1670
1680
 
@@ -1805,6 +1815,9 @@
1805
1815
  <fo:block xsl:use-attribute-sets="table-name-style">
1806
1816
 
1807
1817
 
1818
+
1819
+
1820
+
1808
1821
  <xsl:choose>
1809
1822
  <xsl:when test="$continued = 'true'">
1810
1823
  <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
@@ -1952,6 +1965,7 @@
1952
1965
  <!-- font-weight="bold" -->
1953
1966
  <fo:table-header>
1954
1967
 
1968
+
1955
1969
  <xsl:apply-templates/>
1956
1970
  </fo:table-header>
1957
1971
  </xsl:template><xsl:template name="table-header-title">
@@ -2197,6 +2211,10 @@
2197
2211
 
2198
2212
 
2199
2213
 
2214
+
2215
+
2216
+
2217
+
2200
2218
  <!-- <xsl:if test="$namespace = 'bipm'">
2201
2219
  <xsl:attribute name="height">8mm</xsl:attribute>
2202
2220
  </xsl:if> -->
@@ -2292,6 +2310,9 @@
2292
2310
 
2293
2311
 
2294
2312
 
2313
+
2314
+
2315
+
2295
2316
  <xsl:if test=".//*[local-name() = 'table']">
2296
2317
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2297
2318
  </xsl:if>
@@ -2518,6 +2539,7 @@
2518
2539
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
2519
2540
 
2520
2541
 
2542
+
2521
2543
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
2522
2544
 
2523
2545
  <xsl:attribute name="internal-destination">
@@ -2825,6 +2847,7 @@
2825
2847
 
2826
2848
  <fo:table-row>
2827
2849
 
2850
+
2828
2851
  <fo:table-cell>
2829
2852
 
2830
2853
  <fo:block margin-top="6pt">
@@ -2843,6 +2866,7 @@
2843
2866
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2844
2867
 
2845
2868
 
2869
+
2846
2870
  <xsl:apply-templates/>
2847
2871
  <!-- <xsl:if test="$namespace = 'gb'">
2848
2872
  <xsl:if test="ancestor::*[local-name()='formula']">
@@ -3390,7 +3414,15 @@
3390
3414
  <xsl:copy>
3391
3415
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
3392
3416
  </xsl:copy>
3393
- <mathml:mspace width="0.5ex"/>
3417
+ <xsl:choose>
3418
+ <!-- if in msub, then don't add space -->
3419
+ <xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
3420
+ <!-- if next char in digit, don't add space -->
3421
+ <xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
3422
+ <xsl:otherwise>
3423
+ <mathml:mspace width="0.5ex"/>
3424
+ </xsl:otherwise>
3425
+ </xsl:choose>
3394
3426
  </xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3395
3427
  <xsl:variable name="target">
3396
3428
  <xsl:choose>
@@ -3414,6 +3446,7 @@
3414
3446
  </xsl:variable>
3415
3447
  <fo:inline xsl:use-attribute-sets="link-style">
3416
3448
 
3449
+
3417
3450
  <xsl:choose>
3418
3451
  <xsl:when test="$target_text = ''">
3419
3452
  <xsl:apply-templates/>
@@ -3569,6 +3602,7 @@
3569
3602
  </xsl:choose>
3570
3603
  </xsl:template><xsl:template match="*[local-name() = 'termnote']">
3571
3604
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
3605
+
3572
3606
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
3573
3607
 
3574
3608
  <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
@@ -3644,6 +3678,7 @@
3644
3678
  </xsl:call-template>
3645
3679
 
3646
3680
  <fo:block>
3681
+
3647
3682
  <xsl:apply-templates/>
3648
3683
  </fo:block>
3649
3684
  <xsl:call-template name="fn_display_figure"/>
@@ -3939,6 +3974,7 @@
3939
3974
  <xsl:if test="normalize-space() != ''">
3940
3975
  <fo:block xsl:use-attribute-sets="figure-name-style">
3941
3976
 
3977
+
3942
3978
  <xsl:apply-templates/>
3943
3979
  </fo:block>
3944
3980
  </xsl:if>
@@ -4019,6 +4055,7 @@
4019
4055
 
4020
4056
  <fo:block-container margin-left="0mm">
4021
4057
  <xsl:copy-of select="@id"/>
4058
+
4022
4059
  <xsl:if test="parent::*[local-name() = 'note']">
4023
4060
  <xsl:attribute name="margin-left">
4024
4061
  <xsl:choose>
@@ -4029,7 +4066,9 @@
4029
4066
 
4030
4067
  </xsl:if>
4031
4068
  <fo:block-container margin-left="0mm">
4032
-
4069
+
4070
+
4071
+
4033
4072
  <fo:block xsl:use-attribute-sets="sourcecode-style">
4034
4073
  <xsl:variable name="_font-size">
4035
4074
 
@@ -4058,10 +4097,14 @@
4058
4097
  </xsl:choose>
4059
4098
  </xsl:attribute>
4060
4099
  </xsl:if>
4061
- <xsl:apply-templates/>
4062
- </fo:block>
4100
+
4101
+ <xsl:apply-templates/>
4102
+ </fo:block>
4103
+
4104
+
4063
4105
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4064
4106
 
4107
+
4065
4108
  </fo:block-container>
4066
4109
  </fo:block-container>
4067
4110
  </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
@@ -4415,6 +4458,8 @@
4415
4458
 
4416
4459
 
4417
4460
 
4461
+
4462
+
4418
4463
  <xsl:call-template name="getTitle">
4419
4464
  <xsl:with-param name="name" select="'title-source'"/>
4420
4465
  </xsl:call-template>
@@ -4652,6 +4697,7 @@
4652
4697
  <xsl:call-template name="setId"/>
4653
4698
 
4654
4699
 
4700
+
4655
4701
  <xsl:apply-templates/>
4656
4702
  </fo:block>
4657
4703
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
@@ -5038,17 +5084,17 @@
5038
5084
  <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
5039
5085
  <xsl:choose>
5040
5086
  <xsl:when test="normalize-space($_doc_ident) != ''">
5041
- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
5087
+ <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
5042
5088
  <xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
5043
5089
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
5044
- </xsl:if>
5090
+ </xsl:if> -->
5045
5091
  <xsl:value-of select="$_doc_ident"/>
5046
5092
  </xsl:when>
5047
5093
  <xsl:otherwise>
5048
- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
5094
+ <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
5049
5095
  <xsl:if test="$type != ''">
5050
5096
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
5051
- </xsl:if>
5097
+ </xsl:if> -->
5052
5098
  <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
5053
5099
  </xsl:otherwise>
5054
5100
  </xsl:choose>
@@ -5554,4 +5600,14 @@
5554
5600
  <xsl:value-of select="$align"/>
5555
5601
  </xsl:when>
5556
5602
  </xsl:choose>
5603
+ </xsl:template><xsl:template name="setTextAlignment">
5604
+ <xsl:param name="default">left</xsl:param>
5605
+ <xsl:attribute name="text-align">
5606
+ <xsl:choose>
5607
+ <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
5608
+ <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
5609
+ <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
5610
+ <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
5611
+ </xsl:choose>
5612
+ </xsl:attribute>
5557
5613
  </xsl:template></xsl:stylesheet>
@@ -154,6 +154,7 @@ module IsoDoc
154
154
  end
155
155
 
156
156
  def references(docxml)
157
+ super
157
158
  docxml.xpath(ns("//bibitem/date")).each do |d|
158
159
  d.xpath(ns("./on | ./from | ./to")).each do |d1|
159
160
  d1.children = d1.text.sub(/^(\d\d\d\d).*$/, "\\1")
@@ -1,10 +1,10 @@
1
1
  module IsoDoc
2
2
  module Ogc
3
3
  module BaseConvert
4
- def intro_clause(f, out)
5
- out.div **{ class: "Section3", id: f["id"] } do |div|
6
- clause_name(nil, f&.at(ns("./title")), div, class: "IntroTitle")
7
- f.elements.each { |e| parse(e, div) unless e.name == "title" }
4
+ def intro_clause(elem, out)
5
+ out.div **{ class: "Section3", id: elem["id"] } do |div|
6
+ clause_name(nil, elem&.at(ns("./title")), div, class: "IntroTitle")
7
+ elem.elements.each { |e| parse(e, div) unless e.name == "title" }
8
8
  end
9
9
  end
10
10
 
@@ -14,7 +14,8 @@ module IsoDoc
14
14
  end
15
15
 
16
16
  def submittingorgs(docxml, out)
17
- f = docxml.at(ns("//preface/clause[@type = 'submitting_orgs']")) || return
17
+ f = docxml.at(ns("//preface/clause[@type = 'submitting_orgs']")) or
18
+ return
18
19
  intro_clause(f, out)
19
20
  end
20
21
 
@@ -30,7 +31,8 @@ module IsoDoc
30
31
 
31
32
  def preface(isoxml, out)
32
33
  isoxml.xpath(ns("//preface/clause[not(@type = 'keywords' or "\
33
- "@type = 'submitting_orgs' or @type = 'security')]")).each do |f|
34
+ "@type = 'submitting_orgs' or @type = 'security')]"))
35
+ .each do |f|
34
36
  intro_clause(f, out)
35
37
  end
36
38
  end
@@ -19,6 +19,7 @@ module IsoDoc
19
19
  c = Counter.new
20
20
  clause.xpath(ns(".//#{klass}#{FIRST_LVL_REQ}")).each do |t|
21
21
  next if t["id"].nil? || t["id"].empty?
22
+
22
23
  id = c.increment(t).print
23
24
  @anchors[t["id"]] = anchor_struct(id, t, label, klass,
24
25
  t["unnumbered"])
@@ -28,15 +29,15 @@ module IsoDoc
28
29
  end
29
30
 
30
31
  def req_class_paths
31
- { "class" => "@type = 'class'",
32
- "test" => "@type = 'verification'",
32
+ { "class" => "@type = 'class'",
33
+ "test" => "@type = 'verification'",
33
34
  "" => "not(@type = 'verification' or @type = 'class' or "\
34
- "@type = 'abstracttest' or @type = 'conformanceclass')", }
35
+ "@type = 'abstracttest' or @type = 'conformanceclass')" }
35
36
  end
36
37
 
37
38
  def req_class_paths2
38
39
  { "abstracttest" => "@type = 'abstracttest'",
39
- "conformanceclass" => "@type = 'conformanceclass'", }
40
+ "conformanceclass" => "@type = 'conformanceclass'" }
40
41
  end
41
42
 
42
43
  def sequential_permission_children(t, id)
@@ -55,6 +56,7 @@ module IsoDoc
55
56
  c = Counter.new
56
57
  block.xpath(ns("./#{klass}")).each do |t|
57
58
  next if t["id"].nil? || t["id"].empty?
59
+
58
60
  id = "#{lbl}#{hierfigsep}#{c.increment(t).print}"
59
61
  @anchors[t["id"]] = anchor_struct(id, t, label, klass,
60
62
  t["unnumbered"])
@@ -96,6 +98,7 @@ module IsoDoc
96
98
  c = Counter.new
97
99
  clause.xpath(ns(".//#{klass}#{FIRST_LVL_REQ}")).each do |t|
98
100
  next if t["id"].nil? || t["id"].empty?
101
+
99
102
  lbl = "#{num}#{hiersep}#{c.increment(t).print}"
100
103
  @anchors[t["id"]] = anchor_struct(lbl, t, label, klass,
101
104
  t["unnumbered"])
@@ -120,15 +123,17 @@ module IsoDoc
120
123
  end
121
124
  preface_names_numbered(d.at(ns("//acknowledgements")))
122
125
  sequential_asset_names(d.xpath(ns(
123
- "//preface/abstract | //foreword | //introduction | "\
124
- "//submitters | //acknowledgements | //preface/clause")))
126
+ "//preface/abstract | //foreword | //introduction | "\
127
+ "//submitters | //acknowledgements | //preface/clause",
128
+ )))
125
129
  n = Counter.new
126
130
  n = section_names(d.at(ns("//clause[@type = 'scope']")), n, 1)
127
131
  n = section_names(d.at(ns("//clause[@type = 'conformance']")), n, 1)
128
132
  n = section_names(d.at(ns(@klass.norm_ref_xpath)), n, 1)
129
133
  n = section_names(
130
134
  d.at(ns("//sections/terms | //sections/clause[descendant::terms]")),
131
- n, 1)
135
+ n, 1
136
+ )
132
137
  n = section_names(d.at(ns("//sections/definitions")), n, 1)
133
138
  middle_section_asset_names(d)
134
139
  clause_names(d, n)
@@ -147,6 +152,7 @@ module IsoDoc
147
152
 
148
153
  def preface_names_numbered(clause)
149
154
  return if clause.nil?
155
+
150
156
  @prefacenum += 1
151
157
  pref = preface_number(@prefacenum, 1)
152
158
  @anchors[clause["id"]] =
@@ -159,7 +165,7 @@ module IsoDoc
159
165
 
160
166
  def preface_names_numbered1(clause, num, level)
161
167
  @anchors[clause["id"]] =
162
- { label: num, level: level, xref: l10n("#{@labels["clause"]} #{num}"),
168
+ { label: num, level: level, xref: l10n("#{@labels['clause']} #{num}"),
163
169
  type: "clause" }
164
170
  clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
165
171
  lbl = "#{num}.#{preface_number(i + 1, level + 1)}"
@@ -174,8 +180,8 @@ module IsoDoc
174
180
  when 3 then num.to_s
175
181
  when 4 then (96 + num).chr.to_s
176
182
  when 5 then RomanNumerals.to_roman(num).downcase
177
- when 6 then "(#{num.to_s})"
178
- when 7 then "(#{(96 + num).chr.to_s})"
183
+ when 6 then "(#{num})"
184
+ when 7 then "(#{(96 + num).chr})"
179
185
  when 8 then "(#{RomanNumerals.to_roman(num).downcase})"
180
186
  else
181
187
  num.to_s
@@ -185,6 +191,7 @@ module IsoDoc
185
191
  def reference_names(ref)
186
192
  super
187
193
  return unless @klass.ogc_draft_ref?(ref)
194
+
188
195
  @anchors[ref["id"]] = { xref: @anchors[ref["id"]][:xref] + " (draft)" }
189
196
  end
190
197
  end
data/lib/metanorma/ogc.rb CHANGED
@@ -11,9 +11,8 @@ module Metanorma
11
11
  }
12
12
  end
13
13
 
14
- ORGANIZATION_NAME_SHORT = "OGC"
15
- ORGANIZATION_NAME_LONG = "Open Geospatial Consortium"
16
- DOCUMENT_NAMESPACE = "https://standards.opengeospatial.org/document"
17
-
14
+ ORGANIZATION_NAME_SHORT = "OGC".freeze
15
+ ORGANIZATION_NAME_LONG = "Open Geospatial Consortium".freeze
16
+ DOCUMENT_NAMESPACE = "https://standards.opengeospatial.org/document".freeze
18
17
  end
19
18
  end
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ogc
3
- VERSION = "1.3.4".freeze
3
+ VERSION = "1.3.5".freeze
4
4
  end
5
5
  end
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.bindir = "exe"
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
- spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
25
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
26
26
 
27
27
  spec.add_dependency "iso-639"
28
28
  spec.add_dependency "isodoc", "~> 1.6.0"
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: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-07 00:00:00.000000000 Z
11
+ date: 2021-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639
@@ -292,7 +292,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
292
292
  requirements:
293
293
  - - ">="
294
294
  - !ruby/object:Gem::Version
295
- version: 2.4.0
295
+ version: 2.5.0
296
296
  required_rubygems_version: !ruby/object:Gem::Requirement
297
297
  requirements:
298
298
  - - ">="