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 +4 -4
- data/lib/isodoc/un/base_convert.rb +1 -2
- data/lib/isodoc/un/pdf_convert.rb +2 -2
- data/lib/isodoc/un/presentation_xml_convert.rb +2 -0
- data/lib/isodoc/un/un.plenary-attachment.xsl +34 -15
- data/lib/isodoc/un/un.plenary.xsl +34 -15
- data/lib/isodoc/un/un.recommendation.xsl +34 -15
- data/lib/isodoc/un/xref.rb +36 -59
- data/lib/metanorma/un/converter.rb +1 -2
- data/lib/metanorma/un/isodoc.rng +4 -1
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-un.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1886fa5b4a8b28ee3d773906df0606fc3140d3cd46bc88dda86e98350cc3989f
|
4
|
+
data.tar.gz: 90fc685cbe2537386029cffa32748eeee91bd92af6a82d6ef840b914e98a8633
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
17
|
+
case @doctype
|
18
18
|
when "plenary", "agenda", "budgetary"
|
19
19
|
"un.plenary.xsl"
|
20
20
|
else
|
21
|
-
docxml
|
21
|
+
docxml.at(ns("//bibdata/ext/session/*")) ?
|
22
22
|
"un.plenary-attachment.xsl" : "un.recommendation.xsl"
|
23
23
|
end
|
24
24
|
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:
|
1049
|
+
<xsl:variable name="font_family" select="."/>
|
1050
1050
|
|
1051
|
-
<xsl:
|
1052
|
-
<xsl:
|
1053
|
-
|
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
|
-
|
3567
|
+
<fo:block xsl:use-attribute-sets="table-note-style">
|
3553
3568
|
|
3554
|
-
|
3569
|
+
<xsl:call-template name="refine_table-note-style"/>
|
3555
3570
|
|
3556
|
-
|
3557
|
-
|
3571
|
+
<!-- Table's note/example name (NOTE, for example) -->
|
3572
|
+
<fo:inline xsl:use-attribute-sets="table-note-name-style">
|
3558
3573
|
|
3559
|
-
|
3574
|
+
<xsl:call-template name="refine_table-note-name-style"/>
|
3560
3575
|
|
3561
|
-
|
3576
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
3562
3577
|
|
3563
|
-
|
3578
|
+
</fo:inline>
|
3564
3579
|
|
3565
|
-
|
3566
|
-
|
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:
|
1049
|
+
<xsl:variable name="font_family" select="."/>
|
1050
1050
|
|
1051
|
-
<xsl:
|
1052
|
-
<xsl:
|
1053
|
-
|
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
|
-
|
3567
|
+
<fo:block xsl:use-attribute-sets="table-note-style">
|
3553
3568
|
|
3554
|
-
|
3569
|
+
<xsl:call-template name="refine_table-note-style"/>
|
3555
3570
|
|
3556
|
-
|
3557
|
-
|
3571
|
+
<!-- Table's note/example name (NOTE, for example) -->
|
3572
|
+
<fo:inline xsl:use-attribute-sets="table-note-name-style">
|
3558
3573
|
|
3559
|
-
|
3574
|
+
<xsl:call-template name="refine_table-note-name-style"/>
|
3560
3575
|
|
3561
|
-
|
3576
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
3562
3577
|
|
3563
|
-
|
3578
|
+
</fo:inline>
|
3564
3579
|
|
3565
|
-
|
3566
|
-
|
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:
|
1155
|
+
<xsl:variable name="font_family" select="."/>
|
1156
1156
|
|
1157
|
-
<xsl:
|
1158
|
-
<xsl:
|
1159
|
-
|
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
|
-
|
3694
|
+
<fo:block xsl:use-attribute-sets="table-note-style">
|
3680
3695
|
|
3681
|
-
|
3696
|
+
<xsl:call-template name="refine_table-note-style"/>
|
3682
3697
|
|
3683
|
-
|
3684
|
-
|
3698
|
+
<!-- Table's note/example name (NOTE, for example) -->
|
3699
|
+
<fo:inline xsl:use-attribute-sets="table-note-name-style">
|
3685
3700
|
|
3686
|
-
|
3701
|
+
<xsl:call-template name="refine_table-note-name-style"/>
|
3687
3702
|
|
3688
|
-
|
3703
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
3689
3704
|
|
3690
|
-
|
3705
|
+
</fo:inline>
|
3691
3706
|
|
3692
|
-
|
3693
|
-
|
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>
|
data/lib/isodoc/un/xref.rb
CHANGED
@@ -3,59 +3,36 @@ require "roman-numerals"
|
|
3
3
|
module IsoDoc
|
4
4
|
module UN
|
5
5
|
class Xref < IsoDoc::Xref
|
6
|
-
def
|
7
|
-
|
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
|
38
|
-
q = "//clause[parent::sections]"
|
19
|
+
def main_anchor_names(xml)
|
39
20
|
@paranumber = 0
|
40
|
-
|
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
|
-
|
90
|
-
|
67
|
+
clause.nil? and return num
|
91
68
|
leaf_section?(clause) and label_leaf_section(clause, lvl) and return
|
92
|
-
|
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,
|
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
|
-
|
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
|
-
|
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
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
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
|
-
|
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
|
|
data/lib/metanorma/un/isodoc.rng
CHANGED
@@ -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.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"/>
|
data/lib/metanorma/un/version.rb
CHANGED
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.
|
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.
|
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-
|
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.
|
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.
|
68
|
+
version: 2.6.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: debug
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|