metanorma-un 0.11.0 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 633ea5daa3f540bef45566dd48c57acf9b736477bb2b4264faea2c30cab0c3b3
4
- data.tar.gz: d1b1f2e6fc90eeb24bf51be943dc0cfcd1afa7730d0d37539b24d70bf297078e
3
+ metadata.gz: 1886fa5b4a8b28ee3d773906df0606fc3140d3cd46bc88dda86e98350cc3989f
4
+ data.tar.gz: 90fc685cbe2537386029cffa32748eeee91bd92af6a82d6ef840b914e98a8633
5
5
  SHA512:
6
- metadata.gz: dd675bedc775517e9483799880bf57c31c967788938d62bbe32eb7a975837c973b1849e6f867841763b9e3f2027ad039fbb51981d729487087b3e654894c7a39
7
- data.tar.gz: dac9c0da31d353fdc028dd018d6273e4506ebacd5223e212baa0b72c814f0a243cd7644099afbf2fba0ad9ed3ff3410026ff34c70c2e04c7a412ad51f25a567d
6
+ metadata.gz: f7fb941bd310fb2bda0c359d16137cda769db64f54723912ac78abffc5810cdf489eb9b3285516b51a0af8682df3522a098190ed7ba2b75955406e24e5b0adc5
7
+ data.tar.gz: 2e5d861bd1a4c8741c9fae0286d578e617423817a1eca4829b536db00411d79953a84a04efdcd5e2a3bd21204cafd6feed08ca2ab9bb52698e7ced002bf812d4
@@ -34,8 +34,7 @@ module IsoDoc
34
34
  end
35
35
 
36
36
  def is_plenary?(docxml)
37
- doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
38
- return true if %w(plenary agenda budgetary).include?(doctype)
37
+ return true if %w(plenary agenda budgetary).include?(@doctype)
39
38
  return true if docxml&.at(ns("//bibdata/ext/session/*"))
40
39
 
41
40
  false
@@ -14,11 +14,11 @@ module IsoDoc
14
14
  end
15
15
 
16
16
  def pdf_stylesheet(docxml)
17
- case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
17
+ case @doctype
18
18
  when "plenary", "agenda", "budgetary"
19
19
  "un.plenary.xsl"
20
20
  else
21
- docxml&.at(ns("//bibdata/ext/session/*")) ?
21
+ docxml.at(ns("//bibdata/ext/session/*")) ?
22
22
  "un.plenary-attachment.xsl" : "un.recommendation.xsl"
23
23
  end
24
24
  end
@@ -46,6 +46,8 @@ module IsoDoc
46
46
  super
47
47
  end
48
48
 
49
+ def move_norm_ref_to_sections(docxml); end
50
+
49
51
  include Init
50
52
  end
51
53
  end
@@ -1046,11 +1046,26 @@
1046
1046
  <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
1047
1047
  </xsl:if>
1048
1048
 
1049
- <xsl:value-of select="."/>
1049
+ <xsl:variable name="font_family" select="."/>
1050
1050
 
1051
- <xsl:if test="$additional_fonts != ''">
1052
- <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1053
- </xsl:if>
1051
+ <xsl:choose>
1052
+ <xsl:when test="$additional_fonts = ''">
1053
+ <xsl:value-of select="$font_family"/>
1054
+ </xsl:when>
1055
+ <xsl:otherwise> <!-- $additional_fonts != '' -->
1056
+ <xsl:choose>
1057
+ <xsl:when test="contains($font_family, ',')">
1058
+ <xsl:value-of select="substring-before($font_family, ',')"/>
1059
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1060
+ <xsl:text>, </xsl:text><xsl:value-of select="substring-after($font_family, ',')"/>
1061
+ </xsl:when>
1062
+ <xsl:otherwise>
1063
+ <xsl:value-of select="$font_family"/>
1064
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1065
+ </xsl:otherwise>
1066
+ </xsl:choose>
1067
+ </xsl:otherwise>
1068
+ </xsl:choose>
1054
1069
  </xsl:attribute>
1055
1070
  </xsl:when>
1056
1071
  <xsl:otherwise>
@@ -3549,21 +3564,21 @@
3549
3564
 
3550
3565
  <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
3551
3566
 
3552
- <fo:block xsl:use-attribute-sets="table-note-style">
3567
+ <fo:block xsl:use-attribute-sets="table-note-style">
3553
3568
 
3554
- <xsl:call-template name="refine_table-note-style"/>
3569
+ <xsl:call-template name="refine_table-note-style"/>
3555
3570
 
3556
- <!-- Table's note/example name (NOTE, for example) -->
3557
- <fo:inline xsl:use-attribute-sets="table-note-name-style">
3571
+ <!-- Table's note/example name (NOTE, for example) -->
3572
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3558
3573
 
3559
- <xsl:call-template name="refine_table-note-name-style"/>
3574
+ <xsl:call-template name="refine_table-note-name-style"/>
3560
3575
 
3561
- <xsl:apply-templates select="*[local-name() = 'name']"/>
3576
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3562
3577
 
3563
- </fo:inline>
3578
+ </fo:inline>
3564
3579
 
3565
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3566
- </fo:block>
3580
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3581
+ </fo:block>
3567
3582
 
3568
3583
  </xsl:template> <!-- table/note -->
3569
3584
 
@@ -6688,8 +6703,12 @@
6688
6703
  <xsl:variable name="isAdded" select="../@added"/>
6689
6704
  <xsl:variable name="isDeleted" select="../@deleted"/>
6690
6705
  <xsl:choose>
6691
- <xsl:when test="ancestor::*[local-name() = 'title']">
6706
+ <xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
6692
6707
  <fo:inline padding-left="1mm" padding-right="1mm">
6708
+ <xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
6709
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
6710
+ <xsl:attribute name="padding-right">0mm</xsl:attribute>
6711
+ </xsl:if>
6693
6712
  <xsl:variable name="src">
6694
6713
  <xsl:call-template name="image_src"/>
6695
6714
  </xsl:variable>
@@ -6722,7 +6741,7 @@
6722
6741
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
6723
6742
  <xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
6724
6743
 
6725
- <xsl:if test="@width != '' and @width != 'auto'">
6744
+ <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
6726
6745
  <xsl:attribute name="width">
6727
6746
  <xsl:value-of select="@width"/>
6728
6747
  </xsl:attribute>
@@ -1046,11 +1046,26 @@
1046
1046
  <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
1047
1047
  </xsl:if>
1048
1048
 
1049
- <xsl:value-of select="."/>
1049
+ <xsl:variable name="font_family" select="."/>
1050
1050
 
1051
- <xsl:if test="$additional_fonts != ''">
1052
- <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1053
- </xsl:if>
1051
+ <xsl:choose>
1052
+ <xsl:when test="$additional_fonts = ''">
1053
+ <xsl:value-of select="$font_family"/>
1054
+ </xsl:when>
1055
+ <xsl:otherwise> <!-- $additional_fonts != '' -->
1056
+ <xsl:choose>
1057
+ <xsl:when test="contains($font_family, ',')">
1058
+ <xsl:value-of select="substring-before($font_family, ',')"/>
1059
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1060
+ <xsl:text>, </xsl:text><xsl:value-of select="substring-after($font_family, ',')"/>
1061
+ </xsl:when>
1062
+ <xsl:otherwise>
1063
+ <xsl:value-of select="$font_family"/>
1064
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1065
+ </xsl:otherwise>
1066
+ </xsl:choose>
1067
+ </xsl:otherwise>
1068
+ </xsl:choose>
1054
1069
  </xsl:attribute>
1055
1070
  </xsl:when>
1056
1071
  <xsl:otherwise>
@@ -3549,21 +3564,21 @@
3549
3564
 
3550
3565
  <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
3551
3566
 
3552
- <fo:block xsl:use-attribute-sets="table-note-style">
3567
+ <fo:block xsl:use-attribute-sets="table-note-style">
3553
3568
 
3554
- <xsl:call-template name="refine_table-note-style"/>
3569
+ <xsl:call-template name="refine_table-note-style"/>
3555
3570
 
3556
- <!-- Table's note/example name (NOTE, for example) -->
3557
- <fo:inline xsl:use-attribute-sets="table-note-name-style">
3571
+ <!-- Table's note/example name (NOTE, for example) -->
3572
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3558
3573
 
3559
- <xsl:call-template name="refine_table-note-name-style"/>
3574
+ <xsl:call-template name="refine_table-note-name-style"/>
3560
3575
 
3561
- <xsl:apply-templates select="*[local-name() = 'name']"/>
3576
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3562
3577
 
3563
- </fo:inline>
3578
+ </fo:inline>
3564
3579
 
3565
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3566
- </fo:block>
3580
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3581
+ </fo:block>
3567
3582
 
3568
3583
  </xsl:template> <!-- table/note -->
3569
3584
 
@@ -6688,8 +6703,12 @@
6688
6703
  <xsl:variable name="isAdded" select="../@added"/>
6689
6704
  <xsl:variable name="isDeleted" select="../@deleted"/>
6690
6705
  <xsl:choose>
6691
- <xsl:when test="ancestor::*[local-name() = 'title']">
6706
+ <xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
6692
6707
  <fo:inline padding-left="1mm" padding-right="1mm">
6708
+ <xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
6709
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
6710
+ <xsl:attribute name="padding-right">0mm</xsl:attribute>
6711
+ </xsl:if>
6693
6712
  <xsl:variable name="src">
6694
6713
  <xsl:call-template name="image_src"/>
6695
6714
  </xsl:variable>
@@ -6722,7 +6741,7 @@
6722
6741
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
6723
6742
  <xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
6724
6743
 
6725
- <xsl:if test="@width != '' and @width != 'auto'">
6744
+ <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
6726
6745
  <xsl:attribute name="width">
6727
6746
  <xsl:value-of select="@width"/>
6728
6747
  </xsl:attribute>
@@ -1152,11 +1152,26 @@
1152
1152
  <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
1153
1153
  </xsl:if>
1154
1154
 
1155
- <xsl:value-of select="."/>
1155
+ <xsl:variable name="font_family" select="."/>
1156
1156
 
1157
- <xsl:if test="$additional_fonts != ''">
1158
- <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1159
- </xsl:if>
1157
+ <xsl:choose>
1158
+ <xsl:when test="$additional_fonts = ''">
1159
+ <xsl:value-of select="$font_family"/>
1160
+ </xsl:when>
1161
+ <xsl:otherwise> <!-- $additional_fonts != '' -->
1162
+ <xsl:choose>
1163
+ <xsl:when test="contains($font_family, ',')">
1164
+ <xsl:value-of select="substring-before($font_family, ',')"/>
1165
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1166
+ <xsl:text>, </xsl:text><xsl:value-of select="substring-after($font_family, ',')"/>
1167
+ </xsl:when>
1168
+ <xsl:otherwise>
1169
+ <xsl:value-of select="$font_family"/>
1170
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1171
+ </xsl:otherwise>
1172
+ </xsl:choose>
1173
+ </xsl:otherwise>
1174
+ </xsl:choose>
1160
1175
  </xsl:attribute>
1161
1176
  </xsl:when>
1162
1177
  <xsl:otherwise>
@@ -3676,21 +3691,21 @@
3676
3691
 
3677
3692
  <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
3678
3693
 
3679
- <fo:block xsl:use-attribute-sets="table-note-style">
3694
+ <fo:block xsl:use-attribute-sets="table-note-style">
3680
3695
 
3681
- <xsl:call-template name="refine_table-note-style"/>
3696
+ <xsl:call-template name="refine_table-note-style"/>
3682
3697
 
3683
- <!-- Table's note/example name (NOTE, for example) -->
3684
- <fo:inline xsl:use-attribute-sets="table-note-name-style">
3698
+ <!-- Table's note/example name (NOTE, for example) -->
3699
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3685
3700
 
3686
- <xsl:call-template name="refine_table-note-name-style"/>
3701
+ <xsl:call-template name="refine_table-note-name-style"/>
3687
3702
 
3688
- <xsl:apply-templates select="*[local-name() = 'name']"/>
3703
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3689
3704
 
3690
- </fo:inline>
3705
+ </fo:inline>
3691
3706
 
3692
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3693
- </fo:block>
3707
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3708
+ </fo:block>
3694
3709
 
3695
3710
  </xsl:template> <!-- table/note -->
3696
3711
 
@@ -6815,8 +6830,12 @@
6815
6830
  <xsl:variable name="isAdded" select="../@added"/>
6816
6831
  <xsl:variable name="isDeleted" select="../@deleted"/>
6817
6832
  <xsl:choose>
6818
- <xsl:when test="ancestor::*[local-name() = 'title']">
6833
+ <xsl:when test="ancestor::*[local-name() = 'title'] or not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
6819
6834
  <fo:inline padding-left="1mm" padding-right="1mm">
6835
+ <xsl:if test="not(parent::*[local-name() = 'figure']) or parent::*[local-name() = 'p']">
6836
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
6837
+ <xsl:attribute name="padding-right">0mm</xsl:attribute>
6838
+ </xsl:if>
6820
6839
  <xsl:variable name="src">
6821
6840
  <xsl:call-template name="image_src"/>
6822
6841
  </xsl:variable>
@@ -6849,7 +6868,7 @@
6849
6868
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
6850
6869
  <xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
6851
6870
 
6852
- <xsl:if test="@width != '' and @width != 'auto'">
6871
+ <xsl:if test="@width != '' and @width != 'auto' and @width != 'text-width' and @width != 'full-page-width' and @width != 'narrow'">
6853
6872
  <xsl:attribute name="width">
6854
6873
  <xsl:value-of select="@width"/>
6855
6874
  </xsl:attribute>
@@ -3,59 +3,36 @@ require "roman-numerals"
3
3
  module IsoDoc
4
4
  module UN
5
5
  class Xref < IsoDoc::Xref
6
- def initial_anchor_names(doc)
7
- if @parse_settings.empty? || @parse_settings[:clauses]
8
- preface_names(doc.at(ns("//preface/abstract")))
9
- preface_names(doc.at(ns("//foreword")))
10
- preface_names(doc.at(ns("//introduction")))
11
- doc.xpath(ns("//preface/clause")).each do |c|
12
- preface_names(c)
13
- end
14
- preface_names(doc.at(ns("//acknowledgements")))
15
- clause_names(doc, 0)
16
- end
17
- if @parse_settings.empty?
18
- sequential_asset_names(
19
- doc.xpath(ns("//preface/abstract | //foreword | //introduction | "\
20
- "//preface/clause | //acknowledgements")),
21
- )
22
- middle_section_asset_names(doc)
23
- termnote_anchor_names(doc)
24
- termexample_anchor_names(doc)
25
- end
6
+ def clause_order_main(_docxml)
7
+ [{ path: "//sections/clause | //sections/terms | //sections/definitions", multi: true }]
26
8
  end
27
9
 
28
10
  def asset_anchor_names(doc)
29
11
  super
30
12
  @parse_settings.empty? or return
31
13
  sequential_asset_names(
32
- doc.xpath(ns("//preface/abstract | //foreword | //introduction | "\
14
+ doc.xpath(ns("//preface/abstract | //foreword | //introduction | " \
33
15
  "//preface/clause | //acknowledgements")),
34
16
  )
35
17
  end
36
18
 
37
- def clause_names(docxml, _sect_num)
38
- q = "//clause[parent::sections]"
19
+ def main_anchor_names(xml)
39
20
  @paranumber = 0
40
- i = 0
41
- docxml.xpath(ns(q)).each do |c|
42
- section_names(c, i, 1)
43
- i += 1
44
- end
21
+ super
45
22
  end
46
23
 
47
24
  def levelnumber(num, lvl)
48
25
  case lvl % 3
49
- when 1 then RomanNumerals.to_roman(num)
50
- when 2 then ("A".ord + num - 1).chr
26
+ when 1 then RomanNumerals.to_roman(num.to_i)
27
+ when 2 then ("A".ord + num.to_i - 1).chr
51
28
  when 0 then num.to_s
52
29
  end
53
30
  end
54
31
 
55
32
  def annex_levelnum(num, lvl)
56
33
  case lvl % 3
57
- when 0 then RomanNumerals.to_roman(num)
58
- when 1 then ("A".ord + num - 1).chr
34
+ when 0 then RomanNumerals.to_roman(num.to_i)
35
+ when 1 then ("A".ord + num.to_i - 1).chr
59
36
  when 2 then num.to_s
60
37
  end
61
38
  end
@@ -70,6 +47,7 @@ module IsoDoc
70
47
  end
71
48
 
72
49
  def label_leaf_section(clause, lvl)
50
+ @paranumber.nil? and @paranumber = 0
73
51
  @paranumber += 1
74
52
  @anchors[clause["id"]] =
75
53
  { label: @paranumber.to_s, elem: @labels["paragraph"],
@@ -86,11 +64,9 @@ module IsoDoc
86
64
  end
87
65
 
88
66
  def section_names(clause, num, lvl)
89
- return num if clause.nil?
90
-
67
+ clause.nil? and return num
91
68
  leaf_section?(clause) and label_leaf_section(clause, lvl) and return
92
- num = num + 1
93
- lbl = levelnumber(num, 1)
69
+ lbl = levelnumber(num.increment(clause).print, 1)
94
70
  @anchors[clause["id"]] = { label: lbl, level: lvl, type: "clause",
95
71
  elem: @labels["clause"],
96
72
  xref: l10n("#{@labels['clause']} #{lbl}") }
@@ -116,6 +92,16 @@ module IsoDoc
116
92
  end
117
93
  end
118
94
 
95
+ def annex_anchor_names(xml)
96
+ i = ::IsoDoc::XrefGen::Counter.new
97
+ clause_order_annex(xml).each do |a|
98
+ xml.xpath(ns(a[:path])).each do |c|
99
+ annex_names(c, i.increment(c).print)
100
+ a[:multi] or break
101
+ end
102
+ end
103
+ end
104
+
119
105
  def annex_name_lbl(_clause, num)
120
106
  l10n("<strong>#{@labels['annex']} #{num}</strong>")
121
107
  end
@@ -130,7 +116,9 @@ module IsoDoc
130
116
  xref: "#{@labels['annex']} #{num}" }
131
117
  end
132
118
 
133
- def annex_names(clause, num)
119
+ def annex_names(clause, number)
120
+ @paranumber = 0
121
+ num = annex_levelnum(number, 0)
134
122
  hierarchical_asset_names(clause, num)
135
123
  leaf_section?(clause) and
136
124
  label_annex_leaf_section(clause, num, 1) and return
@@ -141,8 +129,7 @@ module IsoDoc
141
129
  else
142
130
  i = 1
143
131
  clause.xpath(ns(SUBCLAUSES)).each do |c|
144
- next if c["unnumbered"] == "true"
145
-
132
+ c["unnumbered"] == "true" and next
146
133
  annex_names1(c, "#{num}.#{annex_levelnum(i, 2)}", 2)
147
134
  i += 1 if !leaf_section?(c)
148
135
  end
@@ -157,32 +144,24 @@ module IsoDoc
157
144
  level: level, type: "clause", elem: @labels["annex"] }
158
145
  i = 1
159
146
  clause.xpath(ns("./clause | ./references")).each do |c|
160
- next if c["unnumbered"] == "true"
161
-
147
+ c["unnumbered"] == "true" and next
162
148
  annex_names1(c, "#{num}.#{annex_levelnum(i, level + 1)}", level + 1)
163
149
  i += 1 if !leaf_section?(c)
164
150
  end
165
151
  end
166
152
 
167
- def back_anchor_names(docxml)
168
- docxml.xpath(ns("//annex")).each_with_index do |c, i|
169
- @paranumber = 0
170
- annex_names(c, RomanNumerals.to_roman(i + 1))
171
- end
172
- docxml.xpath(ns("//bibliography/clause |"\
173
- "//bibliography/references")).each do |b|
174
- preface_names(b)
175
- end
176
- docxml.xpath(ns("//bibitem[not(ancestor::bibitem)]")).each do |ref|
177
- reference_names(ref)
178
- end
153
+ def clause_order_back(_docxml)
154
+ [
155
+ { path: "//bibliography/references | //bibliography/clause",
156
+ multi: true },
157
+ { path: "//indexsect", multi: true },
158
+ { path: "//colophon/*", multi: true },
159
+ ]
179
160
  end
180
161
 
181
162
  def sequential_admonition_names(clause)
182
163
  i = 0
183
- clause.xpath(ns(".//admonition")).each do |t|
184
- next if t["id"].nil? || t["id"].empty?
185
-
164
+ clause.xpath(ns(".//admonition")).noblank.each do |t|
186
165
  i += 1 unless t["unnumbered"] == "true"
187
166
  @anchors[t["id"]] = anchor_struct(i.to_s, nil, @labels["admonition"],
188
167
  "box", t["unnumbered"])
@@ -191,9 +170,7 @@ module IsoDoc
191
170
 
192
171
  def hierarchical_admonition_names(clause, num)
193
172
  i = 0
194
- clause.xpath(ns(".//admonition")).each do |t|
195
- next if t["id"].nil? || t["id"].empty?
196
-
173
+ clause.xpath(ns(".//admonition")).noblank.each do |t|
197
174
  i += 1 unless t["unnumbered"] == "true"
198
175
  @anchors[t["id"]] =
199
176
  anchor_struct("#{num}.#{i}", nil, @labels["admonition"], "box",
@@ -192,8 +192,7 @@ module Metanorma
192
192
  end
193
193
 
194
194
  def para_to_clause(xmldoc)
195
- doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
196
- %w(plenary agenda budgetary).include?(doctype) or
195
+ %w(plenary agenda budgetary).include?(@doctype) or
197
196
  para_to_clause1(xmldoc)
198
197
  end
199
198
 
@@ -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.3 -->
20
+ <!-- VERSION v1.2.4 -->
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">
@@ -2068,6 +2068,9 @@
2068
2068
  </define>
2069
2069
  <define name="termdefinition">
2070
2070
  <element name="definition">
2071
+ <optional>
2072
+ <attribute name="type"/>
2073
+ </optional>
2071
2074
  <choice>
2072
2075
  <ref name="verbaldefinition"/>
2073
2076
  <ref name="nonverbalrep"/>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module UN
3
- VERSION = "0.11.0".freeze
3
+ VERSION = "0.11.2".freeze
4
4
  end
5
5
  end
data/metanorma-un.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_dependency "roman-numerals"
32
32
  spec.add_dependency "twitter_cldr"
33
33
 
34
- spec.add_dependency "metanorma-standoc", "~> 2.5.0"
34
+ spec.add_dependency "metanorma-standoc", "~> 2.6.0"
35
35
 
36
36
  spec.add_development_dependency "debug"
37
37
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-un
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.2
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-08-07 00:00:00.000000000 Z
11
+ date: 2023-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.5.0
61
+ version: 2.6.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 2.5.0
68
+ version: 2.6.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: debug
71
71
  requirement: !ruby/object:Gem::Requirement