metanorma-bipm 2.1.2 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,9 +22,7 @@ module IsoDoc
22
22
  end
23
23
 
24
24
  def wrap_brackets(txt)
25
- return txt if /^\[.*\]$/.match?(txt)
26
-
27
- "[#{txt}]"
25
+ /^\[.*\]$/.match?(txt) ? txt : "[#{txt}]"
28
26
  end
29
27
 
30
28
  def reference_names(ref)
@@ -34,10 +32,8 @@ module IsoDoc
34
32
  end
35
33
 
36
34
  def clause_names(docxml, sect_num)
37
- if @jcgm
38
- clause_names_jcgm(docxml, sect_num)
39
- else
40
- clause_names_bipm(docxml, sect_num)
35
+ if @jcgm then clause_names_jcgm(docxml, sect_num)
36
+ else clause_names_bipm(docxml, sect_num)
41
37
  end
42
38
  end
43
39
 
@@ -48,29 +44,29 @@ module IsoDoc
48
44
  end
49
45
  end
50
46
 
47
+ UNNUM = "@unnumbered = 'true'".freeze
48
+
51
49
  def clause_names_bipm(docxml, _sect_num)
52
50
  n = Counter.new
53
- docxml.xpath(ns("//sections/clause[not(@unnumbered = 'true')] | "\
54
- "//sections/terms[not(@unnumbered = 'true')] | "\
55
- "//sections/definitions[not(@unnumbered = 'true')]"))
51
+ docxml.xpath(ns("//sections/clause[not(#{UNNUM})] | "\
52
+ "//sections/terms[not(#{UNNUM})] | "\
53
+ "//sections/definitions[not(#{UNNUM})]"))
56
54
  .each { |c| section_names(c, n, 1) }
57
- docxml.xpath(ns("//sections/clause[@unnumbered = 'true'] | "\
58
- "//sections/terms[@unnumbered = 'true'] | "\
59
- "//sections/definitions[@unnumbered = 'true']"))
55
+ docxml.xpath(ns("//sections/clause[#{UNNUM}] | "\
56
+ "//sections/terms[#{UNNUM}] | "\
57
+ "//sections/definitions[#{UNNUM}]"))
60
58
  .each { |c| unnumbered_section_names(c, 1) }
61
59
  end
62
60
 
63
- NUMBERED_SUBCLAUSES = "./clause[not(@unnumbered = 'true')] | "\
64
- "./references[not(@unnumbered = 'true')] | "\
65
- "./term[not(@unnumbered = 'true')] | "\
66
- "./terms[not(@unnumbered = 'true')] | "\
67
- "./definitions[not(@unnumbered = 'true')]".freeze
61
+ NUMBERED_SUBCLAUSES =
62
+ "./clause[not(#{UNNUM})] | ./references[not(#{UNNUM})] | "\
63
+ "./term[not(#{UNNUM})] | ./terms[not(#{UNNUM})] | "\
64
+ "./definitions[not(#{UNNUM})]".freeze
68
65
 
69
- UNNUMBERED_SUBCLAUSES = "./clause[@unnumbered = 'true'] | "\
70
- "./references[@unnumbered = 'true'] | "\
71
- "./term[@unnumbered = 'true'] | "\
72
- "./terms[@unnumbered = 'true'] | "\
73
- "./definitions[@unnumbered = 'true']".freeze
66
+ UNNUMBERED_SUBCLAUSES =
67
+ "./clause[#{UNNUM}] | ./references[#{UNNUM}] | "\
68
+ "./term[#{UNNUM}] | ./terms[#{UNNUM}] | "\
69
+ "./definitions[#{UNNUM}]".freeze
74
70
 
75
71
  def section_name_anchors(clause, num, lvl)
76
72
  lbl = @jcgm ? "clause_jcgm" : "clause"
@@ -137,11 +133,11 @@ module IsoDoc
137
133
  def back_anchor_names(docxml)
138
134
  super
139
135
  i = @jcgm ? Counter.new("@", skip_i: true) : Counter.new(0)
140
- docxml.xpath(ns("//annex[not(@unnumbered = 'true')]")).each do |c|
136
+ docxml.xpath(ns("//annex[not(#{UNNUM})]")).each do |c|
141
137
  i.increment(c)
142
138
  annex_names(c, i.print)
143
139
  end
144
- docxml.xpath(ns("//annex[@unnumbered = 'true']"))
140
+ docxml.xpath(ns("//annex[#{UNNUM}]"))
145
141
  .each { |c| unnumbered_annex_names(c) }
146
142
  docxml.xpath(ns("//indexsect")).each { |b| preface_names(b) }
147
143
  end
@@ -231,12 +227,10 @@ module IsoDoc
231
227
 
232
228
  def initial_anchor_names(doc)
233
229
  super
234
- if @parse_settings.empty? || @parse_settings[:clauses]
235
- if @jcgm
230
+ if (@parse_settings.empty? || @parse_settings[:clauses]) && @jcgm
236
231
  @iso.introduction_names(doc.at(ns("//introduction")))
237
232
  @anchors.merge!(@iso.get)
238
233
  end
239
- end
240
234
  end
241
235
 
242
236
  def sequential_figure_names(clause)
@@ -623,6 +623,97 @@
623
623
  <zeroOrMore>
624
624
  <ref name="bsource"/>
625
625
  </zeroOrMore>
626
+ <oneOrMore>
627
+ <ref name="docidentifier"/>
628
+ </oneOrMore>
629
+ <optional>
630
+ <ref name="docnumber"/>
631
+ </optional>
632
+ <zeroOrMore>
633
+ <ref name="bdate"/>
634
+ </zeroOrMore>
635
+ <zeroOrMore>
636
+ <ref name="contributor"/>
637
+ </zeroOrMore>
638
+ <optional>
639
+ <ref name="edition"/>
640
+ </optional>
641
+ <zeroOrMore>
642
+ <ref name="version"/>
643
+ </zeroOrMore>
644
+ <zeroOrMore>
645
+ <ref name="biblionote"/>
646
+ </zeroOrMore>
647
+ <zeroOrMore>
648
+ <ref name="language"/>
649
+ </zeroOrMore>
650
+ <zeroOrMore>
651
+ <ref name="script"/>
652
+ </zeroOrMore>
653
+ <zeroOrMore>
654
+ <ref name="bibabstract"/>
655
+ </zeroOrMore>
656
+ <optional>
657
+ <ref name="status"/>
658
+ </optional>
659
+ <zeroOrMore>
660
+ <ref name="copyright"/>
661
+ </zeroOrMore>
662
+ <zeroOrMore>
663
+ <ref name="docrelation"/>
664
+ </zeroOrMore>
665
+ <zeroOrMore>
666
+ <ref name="series"/>
667
+ </zeroOrMore>
668
+ <optional>
669
+ <ref name="medium"/>
670
+ </optional>
671
+ <zeroOrMore>
672
+ <ref name="bplace"/>
673
+ </zeroOrMore>
674
+ <zeroOrMore>
675
+ <ref name="bprice"/>
676
+ </zeroOrMore>
677
+ <zeroOrMore>
678
+ <ref name="extent"/>
679
+ </zeroOrMore>
680
+ <optional>
681
+ <ref name="bibliographic_size"/>
682
+ </optional>
683
+ <zeroOrMore>
684
+ <ref name="accesslocation"/>
685
+ </zeroOrMore>
686
+ <zeroOrMore>
687
+ <ref name="license"/>
688
+ </zeroOrMore>
689
+ <zeroOrMore>
690
+ <ref name="bclassification"/>
691
+ </zeroOrMore>
692
+ <zeroOrMore>
693
+ <ref name="bkeyword"/>
694
+ </zeroOrMore>
695
+ <optional>
696
+ <ref name="validity"/>
697
+ </optional>
698
+ </define>
699
+ <define name="ReducedBibliographicItem">
700
+ <optional>
701
+ <attribute name="type">
702
+ <ref name="BibItemType"/>
703
+ </attribute>
704
+ </optional>
705
+ <optional>
706
+ <ref name="fetched"/>
707
+ </optional>
708
+ <optional>
709
+ <ref name="formattedref"/>
710
+ </optional>
711
+ <zeroOrMore>
712
+ <ref name="btitle"/>
713
+ </zeroOrMore>
714
+ <zeroOrMore>
715
+ <ref name="bsource"/>
716
+ </zeroOrMore>
626
717
  <zeroOrMore>
627
718
  <ref name="docidentifier"/>
628
719
  </zeroOrMore>
@@ -638,9 +729,9 @@
638
729
  <optional>
639
730
  <ref name="edition"/>
640
731
  </optional>
641
- <optional>
732
+ <zeroOrMore>
642
733
  <ref name="version"/>
643
- </optional>
734
+ </zeroOrMore>
644
735
  <zeroOrMore>
645
736
  <ref name="biblionote"/>
646
737
  </zeroOrMore>
@@ -833,6 +924,12 @@
833
924
  <data type="boolean"/>
834
925
  </attribute>
835
926
  </optional>
927
+ <optional>
928
+ <attribute name="language"/>
929
+ </optional>
930
+ <optional>
931
+ <attribute name="script"/>
932
+ </optional>
836
933
  <text/>
837
934
  </element>
838
935
  </define>
@@ -1172,7 +1269,7 @@
1172
1269
  </element>
1173
1270
  </optional>
1174
1271
  <element name="bibitem">
1175
- <ref name="BibliographicItem"/>
1272
+ <ref name="ReducedBibliographicItem"/>
1176
1273
  </element>
1177
1274
  <choice>
1178
1275
  <zeroOrMore>
@@ -1197,9 +1294,9 @@
1197
1294
  <optional>
1198
1295
  <ref name="revision-date"/>
1199
1296
  </optional>
1200
- <zeroOrMore>
1297
+ <optional>
1201
1298
  <ref name="draft"/>
1202
- </zeroOrMore>
1299
+ </optional>
1203
1300
  </element>
1204
1301
  </define>
1205
1302
  <define name="vedition">
@@ -703,6 +703,9 @@
703
703
  <optional>
704
704
  <attribute name="tag"/>
705
705
  </optional>
706
+ <optional>
707
+ <attribute name="type"/>
708
+ </optional>
706
709
  <optional>
707
710
  <attribute name="multilingual-rendering">
708
711
  <ref name="MultilingualRenderingType"/>
@@ -738,6 +741,9 @@
738
741
  <optional>
739
742
  <attribute name="tag"/>
740
743
  </optional>
744
+ <optional>
745
+ <attribute name="type"/>
746
+ </optional>
741
747
  <optional>
742
748
  <attribute name="multilingual-rendering">
743
749
  <ref name="MultilingualRenderingType"/>
@@ -2059,6 +2065,7 @@
2059
2065
  <value>compare</value>
2060
2066
  <value>contrast</value>
2061
2067
  <value>see</value>
2068
+ <value>seealso</value>
2062
2069
  </choice>
2063
2070
  </define>
2064
2071
  <define name="deprecates">
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module BIPM
3
- VERSION = "2.1.2".freeze
3
+ VERSION = "2.1.3".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-bipm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-06 00:00:00.000000000 Z
11
+ date: 2022-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -300,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
300
300
  - !ruby/object:Gem::Version
301
301
  version: '0'
302
302
  requirements: []
303
- rubygems_version: 3.3.7
303
+ rubygems_version: 3.3.16
304
304
  signing_key:
305
305
  specification_version: 4
306
306
  summary: metanorma-bipm lets you write BIPM standards in Metanorma.