metanorma-iso 2.5.3 → 2.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.devel +3 -0
- data/lib/isodoc/iso/html/html_iso_titlepage.html +4 -0
- data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +3 -0
- data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +3 -0
- data/lib/isodoc/iso/html/word_iso_titlepage.html +4 -0
- data/lib/isodoc/iso/i18n-en.yaml +1 -0
- data/lib/isodoc/iso/i18n-fr.yaml +1 -0
- data/lib/isodoc/iso/i18n-ru.yaml +1 -0
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -0
- data/lib/isodoc/iso/init.rb +2 -2
- data/lib/isodoc/iso/iso.amendment.xsl +23 -2
- data/lib/isodoc/iso/iso.international-standard.xsl +23 -2
- data/lib/isodoc/iso/word_dis_cleanup.rb +20 -211
- data/lib/isodoc/iso/word_dis_styles.rb +233 -0
- data/lib/isodoc/iso/xref_section.rb +10 -15
- data/lib/metanorma/iso/basicdoc.rng +38 -35
- data/lib/metanorma/iso/biblio.rng +9 -0
- data/lib/metanorma/iso/isodoc.rng +27 -1
- data/lib/metanorma/iso/isostandard.rng +3 -0
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27078d397dbb62231ecac33bc066b23fe72a3f878144556b3856f54a9860201c
|
4
|
+
data.tar.gz: 75d0a641ea5a5b968b876f67392b35498273f1b574ef0ac9560444c151b4ad3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d58426c8e269fa6da326020e37b5ddd72511b4dad56a1411c6a6510d358fd3a8ac67db48f29bcc1d50c2fa8df3f92f07a293da5c971a9a566ab2e46479c5c1a5
|
7
|
+
data.tar.gz: f3dc0240af1378db3c923ea986c15217c146ca7b869593ccb3fb2db3594cf1fc82b9593905f73bd7864cf8551765d4ac340b130e09a725b47e23f94e6c8fcde8
|
data/Gemfile.devel
ADDED
@@ -11,6 +11,10 @@
|
|
11
11
|
<p class="coverpage_docnumber">{{ edition_display | capitalize }}</p>
|
12
12
|
{% endif %}
|
13
13
|
|
14
|
+
{% if correcteddate != "XXX" %}
|
15
|
+
<p class="coverpage_docnumber">{{ labels["corrected_version"] }} : {{ correcteddate }}</p>
|
16
|
+
{% endif %}
|
17
|
+
|
14
18
|
{% if revdate %}
|
15
19
|
<p class="coverpage_docnumber">{{ labels["date"]}}: {{ revdate }}</p>
|
16
20
|
{% endif %}
|
@@ -17,6 +17,9 @@
|
|
17
17
|
{% if doc_date %}
|
18
18
|
<p class="zzCover" align="right" style='text-align:right;font-weight:normal;'><span lang="EN-GB">Date: <span style='mso-no-proof:yes'>{{ doc_date }}</span></span></p>
|
19
19
|
{% endif %}
|
20
|
+
{% if correcteddate %}
|
21
|
+
<p class="zzCover">{{ labels["corrected_version"] }}: {{ correcteddate }}</p>
|
22
|
+
{% endif %}
|
20
23
|
|
21
24
|
<p class="zzCover" style='font-weight:normal;'><span lang="EN-GB">Reference number of project: {{ docnumber_undated }}{% if draftinfo %} {{ draftinfo }}{% endif %}</span></p>
|
22
25
|
|
@@ -13,6 +13,9 @@
|
|
13
13
|
{% if doc_date %}
|
14
14
|
<p class="zzCover" align="right" style='text-align:right'><span lang="EN-GB">Date: <span style='mso-no-proof:yes'><b>{{ doc_date }}</b></span></span></p>
|
15
15
|
{% endif %}
|
16
|
+
{% if correcteddate %}
|
17
|
+
<p class="zzCover">{{ labels["corrected_version"] }}: {{ correcteddate }}</p>
|
18
|
+
{% endif %}
|
16
19
|
|
17
20
|
<p class="zzCover" style='font-weight:normal;'><span lang="EN-GB">{{ editorialgroup}}</span></p>
|
18
21
|
|
@@ -33,6 +33,10 @@ style='mso-no-proof:yes'>{{ editorialgroup }}</span></p>
|
|
33
33
|
<p class="MsoNormal" align="right" style='text-align:right'><span lang="EN-GB">{{ edition_display | capitalize }}</span></p>
|
34
34
|
{% endif %}
|
35
35
|
|
36
|
+
{% if correcteddate %}
|
37
|
+
<p class="MsoNormal" align="right" style='text-align:right'>{{ labels["corrected_version"] }}: {{ correcteddate }}</p>
|
38
|
+
{% endif %}
|
39
|
+
|
36
40
|
{% if revdate %}
|
37
41
|
<p class="MsoNormal" align="right" style='text-align:right'><span lang="EN-GB">{{ labels["date"] }}: <span style='mso-no-proof:yes'>{{ revdate }}</span></span></p>
|
38
42
|
{% endif %}
|
data/lib/isodoc/iso/i18n-en.yaml
CHANGED
data/lib/isodoc/iso/i18n-fr.yaml
CHANGED
@@ -25,6 +25,7 @@ termsrelated: Termes liés
|
|
25
25
|
availablefrom: Disponible sur
|
26
26
|
voting_begins_on: Le vote commence le
|
27
27
|
voting_terminates_on: Le vote se termine le
|
28
|
+
corrected_version: Version corrigée
|
28
29
|
doctype_dict:
|
29
30
|
international-standard: Norme internationale
|
30
31
|
technical-specification: Spécification technique
|
data/lib/isodoc/iso/i18n-ru.yaml
CHANGED
@@ -26,6 +26,7 @@ termsrelated: Термины, связанные
|
|
26
26
|
availablefrom: Доступна с
|
27
27
|
voting_begins_on: Голосование начинается в
|
28
28
|
voting_terminates_on: Голосование заканчивается в
|
29
|
+
corrected_version: Исправленная версия
|
29
30
|
doctype_dict:
|
30
31
|
international-standard: Международный Стандарт
|
31
32
|
technical-specification: Техническая Спецификация
|
data/lib/isodoc/iso/init.rb
CHANGED
@@ -51,12 +51,12 @@ module IsoDoc
|
|
51
51
|
elsif /\p{Zs}/.match?(i) then i
|
52
52
|
else std_docid_semantic_full(i)
|
53
53
|
end
|
54
|
-
end.join
|
54
|
+
end.join.gsub(%r{</span>(\p{Zs}+)<}, "\\1</span><")
|
55
55
|
end
|
56
56
|
|
57
57
|
def std_docid_semantic_full(ident)
|
58
58
|
ident
|
59
|
-
.sub(/^([^0-9]+)(\
|
59
|
+
.sub(/^([^0-9]+)(\p{Zs}|$)/, "<span class='stdpublisher'>\\1</span>\\2")
|
60
60
|
.sub(/([0-9]+)/, "<span class='stddocNumber'>\\1</span>")
|
61
61
|
.sub(/-([0-9]+)/, "-<span class='stddocPartNumber'>\\1</span>")
|
62
62
|
.sub(/:([0-9]{4})(?!\d)/, ":<span class='stdyear'>\\1</span>")
|
@@ -919,6 +919,18 @@
|
|
919
919
|
</fo:block>
|
920
920
|
</fo:block>
|
921
921
|
</xsl:if>
|
922
|
+
<xsl:variable name="date_corrected" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:date[@type = 'corrected'])"/>
|
923
|
+
<xsl:if test="$date_corrected != ''">
|
924
|
+
<fo:block text-align="right" font-size="9.5pt">
|
925
|
+
<xsl:value-of select="$linebreak"/>
|
926
|
+
<xsl:value-of select="$linebreak"/>
|
927
|
+
<xsl:call-template name="getLocalizedString">
|
928
|
+
<xsl:with-param name="key">corrected_version</xsl:with-param>
|
929
|
+
</xsl:call-template>
|
930
|
+
<xsl:value-of select="$linebreak"/>
|
931
|
+
<xsl:value-of select="$date_corrected"/>
|
932
|
+
</fo:block>
|
933
|
+
</xsl:if>
|
922
934
|
</fo:table-cell>
|
923
935
|
</fo:table-row>
|
924
936
|
<fo:table-row height="17mm" role="SKIP">
|
@@ -6867,8 +6879,17 @@
|
|
6867
6879
|
<xsl:variable name="styles_">
|
6868
6880
|
<xsl:for-each select="xalan:nodeset($styles__)/item">
|
6869
6881
|
<xsl:variable name="key" select="normalize-space(substring-before(., ':'))"/>
|
6870
|
-
<xsl:variable name="
|
6871
|
-
<xsl:
|
6882
|
+
<xsl:variable name="value_" select="normalize-space(substring-after(translate(.,$quot,''), ':'))"/>
|
6883
|
+
<xsl:variable name="value">
|
6884
|
+
<xsl:choose>
|
6885
|
+
<!-- if font-size is digits only -->
|
6886
|
+
<xsl:when test="$key = 'font-size' and translate($value_, '0123456789', '') = ''"><xsl:value-of select="$value_"/>pt</xsl:when>
|
6887
|
+
<xsl:otherwise>
|
6888
|
+
<xsl:value-of select="$value_"/>
|
6889
|
+
</xsl:otherwise>
|
6890
|
+
</xsl:choose>
|
6891
|
+
</xsl:variable>
|
6892
|
+
<xsl:if test="$key = 'font-family' or $key = 'font-size' or $key = 'color'">
|
6872
6893
|
<style name="{$key}"><xsl:value-of select="$value"/></style>
|
6873
6894
|
</xsl:if>
|
6874
6895
|
</xsl:for-each>
|
@@ -919,6 +919,18 @@
|
|
919
919
|
</fo:block>
|
920
920
|
</fo:block>
|
921
921
|
</xsl:if>
|
922
|
+
<xsl:variable name="date_corrected" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:date[@type = 'corrected'])"/>
|
923
|
+
<xsl:if test="$date_corrected != ''">
|
924
|
+
<fo:block text-align="right" font-size="9.5pt">
|
925
|
+
<xsl:value-of select="$linebreak"/>
|
926
|
+
<xsl:value-of select="$linebreak"/>
|
927
|
+
<xsl:call-template name="getLocalizedString">
|
928
|
+
<xsl:with-param name="key">corrected_version</xsl:with-param>
|
929
|
+
</xsl:call-template>
|
930
|
+
<xsl:value-of select="$linebreak"/>
|
931
|
+
<xsl:value-of select="$date_corrected"/>
|
932
|
+
</fo:block>
|
933
|
+
</xsl:if>
|
922
934
|
</fo:table-cell>
|
923
935
|
</fo:table-row>
|
924
936
|
<fo:table-row height="17mm" role="SKIP">
|
@@ -6867,8 +6879,17 @@
|
|
6867
6879
|
<xsl:variable name="styles_">
|
6868
6880
|
<xsl:for-each select="xalan:nodeset($styles__)/item">
|
6869
6881
|
<xsl:variable name="key" select="normalize-space(substring-before(., ':'))"/>
|
6870
|
-
<xsl:variable name="
|
6871
|
-
<xsl:
|
6882
|
+
<xsl:variable name="value_" select="normalize-space(substring-after(translate(.,$quot,''), ':'))"/>
|
6883
|
+
<xsl:variable name="value">
|
6884
|
+
<xsl:choose>
|
6885
|
+
<!-- if font-size is digits only -->
|
6886
|
+
<xsl:when test="$key = 'font-size' and translate($value_, '0123456789', '') = ''"><xsl:value-of select="$value_"/>pt</xsl:when>
|
6887
|
+
<xsl:otherwise>
|
6888
|
+
<xsl:value-of select="$value_"/>
|
6889
|
+
</xsl:otherwise>
|
6890
|
+
</xsl:choose>
|
6891
|
+
</xsl:variable>
|
6892
|
+
<xsl:if test="$key = 'font-family' or $key = 'font-size' or $key = 'color'">
|
6872
6893
|
<style name="{$key}"><xsl:value-of select="$value"/></style>
|
6873
6894
|
</xsl:if>
|
6874
6895
|
</xsl:for-each>
|
@@ -1,127 +1,8 @@
|
|
1
|
+
require_relative "word_dis_styles"
|
2
|
+
|
1
3
|
module IsoDoc
|
2
4
|
module Iso
|
3
5
|
class WordDISConvert < WordConvert
|
4
|
-
STYLESMAP = {
|
5
|
-
AltTerms: "AdmittedTerm",
|
6
|
-
TableFootnote: "Tablefootnote",
|
7
|
-
formula: "Formula",
|
8
|
-
note: "Note",
|
9
|
-
example: "Example",
|
10
|
-
admonition: "Admonition",
|
11
|
-
admonitiontitle: "AdmonitionTitle",
|
12
|
-
sourcetitle: "SourceTitle",
|
13
|
-
TableTitle: "Tabletitle",
|
14
|
-
titlepagesbhead: "TablePageSubhead",
|
15
|
-
NormRef: "RefNorm",
|
16
|
-
Biblio: "BiblioEntry",
|
17
|
-
MsoNormal: "MsoBodyText",
|
18
|
-
FigureTitle: "Figuretitle",
|
19
|
-
zzwarning: "zzWarning",
|
20
|
-
zzwarninghdr: "zzWarningHdr",
|
21
|
-
quoteattribution: "QuoteAttribution",
|
22
|
-
Sourcecode: "Code",
|
23
|
-
zzSTDTitle1: "zzSTDTitle",
|
24
|
-
zzSTDTitle2: "zzSTDTitle",
|
25
|
-
zzCopyright1: "zzCopyright",
|
26
|
-
}.freeze
|
27
|
-
|
28
|
-
def new_styles(docxml)
|
29
|
-
STYLESMAP.each do |k, v|
|
30
|
-
docxml.xpath("//*[@class = '#{k}']").each { |s| s["class"] = v }
|
31
|
-
end
|
32
|
-
docxml.xpath("//h1[@class = 'ForewordTitle' or @class = 'IntroTitle']")
|
33
|
-
.each { |h| h.name = "p" }
|
34
|
-
dis_styles1(docxml)
|
35
|
-
docxml.xpath("//p[not(@class)]").each { |p| p["class"] = "MsoBodyText" }
|
36
|
-
end
|
37
|
-
|
38
|
-
def sourcecode_style
|
39
|
-
"Code"
|
40
|
-
end
|
41
|
-
|
42
|
-
def dis_styles1(docxml)
|
43
|
-
amd_style(docxml)
|
44
|
-
middle_title_style(docxml)
|
45
|
-
code_style(docxml)
|
46
|
-
figure_style(docxml)
|
47
|
-
formula_style(docxml)
|
48
|
-
note_style(docxml)
|
49
|
-
example_style(docxml)
|
50
|
-
dis_style_interactions(docxml)
|
51
|
-
quote_style(docxml)
|
52
|
-
stripbgcolor(docxml)
|
53
|
-
end
|
54
|
-
|
55
|
-
def stripbgcolor(docxml)
|
56
|
-
@bgstripcolor == "true" or return
|
57
|
-
%w(aucollab audeg aufname aurole ausuffix ausurname bibarticle bibetal
|
58
|
-
bibfname bibfpage bibissue bibjournal biblpage bibnumber
|
59
|
-
biborganization bibsuppl bibsurname biburl bibvolume bibyear
|
60
|
-
citebib citeen citefig citefn citetbl bibextlink citeeq citetfn
|
61
|
-
auprefix citeapp citesec stddocNumber stddocPartNumber
|
62
|
-
stddocTitle aumember stdfootnote stdpublisher stdsection stdyear
|
63
|
-
stddocumentType bibalt-year bibbook bbichapterno bibchaptertitle
|
64
|
-
bibed-etal bibed-fname bibeditionno bibed-organization bibed-suffix
|
65
|
-
bibed-surname bibinstitution bibisbn biblocation bibpagecount
|
66
|
-
bibpatent bibpublisher bibreportnum bibschool bibseries bibseriesno
|
67
|
-
bibtrans stdsuppl citesection).each do |t|
|
68
|
-
docxml.xpath("//span[@class = '#{t}']").each do |s|
|
69
|
-
s["style"] ||= ""
|
70
|
-
s["style"] = "mso-pattern:none;#{s['style']}"
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def middle_title_style(docxml)
|
76
|
-
docxml.xpath("//p[@class = 'zzSTDTitle2']").each do |p|
|
77
|
-
p1 = p.previous_element && p1.name == p &&
|
78
|
-
p1["class"] = "zzSTDTitle2" or next
|
79
|
-
p1 << " #{p.remove.children.to_xml}"
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def dis_style_interactions(docxml)
|
84
|
-
docxml.xpath("//p[@class = 'Code' or @class = 'Code-' or " \
|
85
|
-
"@class = 'Code--']" \
|
86
|
-
"[following::p[@class = 'Examplecontinued']]").each do |p|
|
87
|
-
p["style"] ||= ""
|
88
|
-
p["style"] = "margin-bottom:12pt;#{p['style']}"
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def amd_style(docxml)
|
93
|
-
return unless @meta.get[:doctype] == "Amendment"
|
94
|
-
|
95
|
-
docxml.xpath("//div[@class = 'WordSection3']//h1").each do |h|
|
96
|
-
h.name = "p"
|
97
|
-
h["style"] = "font-style:italic;page-break-after:avoid;"
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
def para_style_change(div, class1, class2)
|
102
|
-
s = class1 ? "@class = '#{class1}'" : "not(@class)"
|
103
|
-
div.xpath(".//p[#{s}]").each do |p|
|
104
|
-
p["class"] = class2
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
def quote_style1(div)
|
109
|
-
para_style_change(div, nil, "BodyTextindent1")
|
110
|
-
para_style_change(div, "Code-", "Code--")
|
111
|
-
para_style_change(div, "Code", "Code-")
|
112
|
-
if div["class"] != "Example"
|
113
|
-
para_style_change(div, "Example", "Exampleindent")
|
114
|
-
para_style_change(div, "Examplecontinued", "Exampleindentcontinued")
|
115
|
-
end
|
116
|
-
if div["class"] != "Note"
|
117
|
-
para_style_change(div, "Note", "Noteindent")
|
118
|
-
para_style_change(div, "Notecontinued", "Noteindentcontinued")
|
119
|
-
end
|
120
|
-
div.xpath(".//table[@class = 'dl']").each do |t|
|
121
|
-
t["style"] = "margin-left: 1cm;"
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
6
|
def remove_note_label(doc)
|
126
7
|
doc.xpath("//span[@class = 'note_label' or @class = 'example_label']")
|
127
8
|
.each do |s|
|
@@ -129,83 +10,6 @@ module IsoDoc
|
|
129
10
|
end
|
130
11
|
end
|
131
12
|
|
132
|
-
def note_style(docxml)
|
133
|
-
remove_note_label(docxml)
|
134
|
-
note_continued_style(docxml)
|
135
|
-
end
|
136
|
-
|
137
|
-
def example_style(docxml)
|
138
|
-
example_continued_style(docxml)
|
139
|
-
end
|
140
|
-
|
141
|
-
def example_continued_style(docxml)
|
142
|
-
docxml.xpath("//div[@class = 'Example']").each do |d|
|
143
|
-
d.xpath("./p").each_with_index do |p, i|
|
144
|
-
next if p["class"] && p["class"] != "Example"
|
145
|
-
|
146
|
-
p["class"] = (i.zero? ? "Example" : "Examplecontinued")
|
147
|
-
end
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
def note_continued_style(docxml)
|
152
|
-
docxml.xpath("//div[@class = 'Note']").each do |d|
|
153
|
-
d.xpath("./p").each_with_index do |p, i|
|
154
|
-
next if p["class"] && p["class"] != "Note"
|
155
|
-
|
156
|
-
p["class"] = (i.zero? ? "Note" : "Notecontinued")
|
157
|
-
end
|
158
|
-
end
|
159
|
-
end
|
160
|
-
|
161
|
-
FIGURE_NESTED_STYLES =
|
162
|
-
{ Note: "Figurenote", example: "Figureexample" }.freeze
|
163
|
-
|
164
|
-
def figure_style(docxml)
|
165
|
-
docxml.xpath("//div[@class = 'figure']").each do |f|
|
166
|
-
FIGURE_NESTED_STYLES.each do |k, v|
|
167
|
-
f.xpath(".//*[@class = '#{k}']").each { |n| n["class"] = v }
|
168
|
-
end
|
169
|
-
f.xpath("./img").each do |i|
|
170
|
-
i.replace("<p class='FigureGraphic'>#{i.to_xml}</p>")
|
171
|
-
end
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
def formula_style(docxml)
|
176
|
-
docxml.xpath("//div[@class = 'Formula']").each do |f|
|
177
|
-
f.xpath(".//p[not(@class)]").each do |p|
|
178
|
-
p["class"] = "Formula"
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
182
|
-
|
183
|
-
def code_style(doc)
|
184
|
-
span_style((doc.xpath("//tt//b") - doc.xpath("//tt//i//b")),
|
185
|
-
"ISOCodebold")
|
186
|
-
span_style((doc.xpath("//tt//i") - doc.xpath("//tt//b//i")),
|
187
|
-
"ISOCodeitalic")
|
188
|
-
span_style((doc.xpath("//b//tt") - doc.xpath("//b//i//tt")),
|
189
|
-
"ISOCodebold")
|
190
|
-
span_style((doc.xpath("//i//tt") - doc.xpath("//i//b//tt")),
|
191
|
-
"ISOCodeitalic")
|
192
|
-
span_style(doc.xpath("//tt"), "ISOCode")
|
193
|
-
end
|
194
|
-
|
195
|
-
def span_style(xpath, style)
|
196
|
-
xpath.each do |elem|
|
197
|
-
elem.name = "span"
|
198
|
-
elem["class"] = style
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
def word_annex_cleanup1(docxml, lvl)
|
203
|
-
docxml.xpath("//h#{lvl}[ancestor::*[@class = 'Section3']]").each do |h2|
|
204
|
-
h2.name = "p"
|
205
|
-
h2["class"] = "a#{lvl}"
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
13
|
def word_cleanup(docxml)
|
210
14
|
word_table_cell_para(docxml)
|
211
15
|
super
|
@@ -229,19 +33,24 @@ module IsoDoc
|
|
229
33
|
end
|
230
34
|
end
|
231
35
|
|
232
|
-
def
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
36
|
+
def stripbgcolor(docxml)
|
37
|
+
@bgstripcolor == "true" or return
|
38
|
+
%w(aucollab audeg aufname aurole ausuffix ausurname bibarticle bibetal
|
39
|
+
bibfname bibfpage bibissue bibjournal biblpage bibnumber
|
40
|
+
biborganization bibsuppl bibsurname biburl bibvolume bibyear
|
41
|
+
citebib citeen citefig citefn citetbl bibextlink citeeq citetfn
|
42
|
+
auprefix citeapp citesec stddocNumber stddocPartNumber
|
43
|
+
stddocTitle aumember stdfootnote stdpublisher stdsection stdyear
|
44
|
+
stddocumentType bibalt-year bibbook bbichapterno bibchaptertitle
|
45
|
+
bibed-etal bibed-fname bibeditionno bibed-organization bibed-suffix
|
46
|
+
bibed-surname bibinstitution bibisbn biblocation bibpagecount
|
47
|
+
bibpatent bibpublisher bibreportnum bibschool bibseries bibseriesno
|
48
|
+
bibtrans stdsuppl citesection).each do |t|
|
49
|
+
docxml.xpath("//span[@class = '#{t}']").each do |s|
|
50
|
+
s["style"] ||= ""
|
51
|
+
s["style"] = "mso-pattern:none;#{s['style']}"
|
52
|
+
end
|
53
|
+
end
|
245
54
|
end
|
246
55
|
end
|
247
56
|
end
|
@@ -0,0 +1,233 @@
|
|
1
|
+
module IsoDoc
|
2
|
+
module Iso
|
3
|
+
class WordDISConvert < WordConvert
|
4
|
+
STYLESMAP = {
|
5
|
+
AltTerms: "AdmittedTerm",
|
6
|
+
TableFootnote: "Tablefootnote",
|
7
|
+
formula: "Formula",
|
8
|
+
note: "Note",
|
9
|
+
example: "Example",
|
10
|
+
admonition: "Admonition",
|
11
|
+
admonitiontitle: "AdmonitionTitle",
|
12
|
+
sourcetitle: "SourceTitle",
|
13
|
+
TableTitle: "Tabletitle",
|
14
|
+
titlepagesbhead: "TablePageSubhead",
|
15
|
+
NormRef: "RefNorm",
|
16
|
+
Biblio: "BiblioEntry",
|
17
|
+
MsoNormal: "MsoBodyText",
|
18
|
+
FigureTitle: "Figuretitle",
|
19
|
+
zzwarning: "zzWarning",
|
20
|
+
zzwarninghdr: "zzWarningHdr",
|
21
|
+
quoteattribution: "QuoteAttribution",
|
22
|
+
Sourcecode: "Code",
|
23
|
+
zzSTDTitle1: "zzSTDTitle",
|
24
|
+
zzSTDTitle2: "zzSTDTitle",
|
25
|
+
zzCopyright1: "zzCopyright",
|
26
|
+
}.freeze
|
27
|
+
|
28
|
+
def new_styles(docxml)
|
29
|
+
STYLESMAP.each do |k, v|
|
30
|
+
docxml.xpath("//*[@class = '#{k}']").each { |s| s["class"] = v }
|
31
|
+
end
|
32
|
+
docxml.xpath("//h1[@class = 'ForewordTitle' or @class = 'IntroTitle']")
|
33
|
+
.each { |h| h.name = "p" }
|
34
|
+
dis_styles1(docxml)
|
35
|
+
docxml.xpath("//p[not(@class)]").each { |p| p["class"] = "MsoBodyText" }
|
36
|
+
stripbgcolor(docxml)
|
37
|
+
end
|
38
|
+
|
39
|
+
def sourcecode_style
|
40
|
+
"Code"
|
41
|
+
end
|
42
|
+
|
43
|
+
def dis_styles1(docxml)
|
44
|
+
amd_style(docxml)
|
45
|
+
middle_title_style(docxml)
|
46
|
+
code_style(docxml)
|
47
|
+
figure_style(docxml)
|
48
|
+
formula_style(docxml)
|
49
|
+
note_style(docxml)
|
50
|
+
example_style(docxml)
|
51
|
+
dis_style_interactions(docxml)
|
52
|
+
quote_style(docxml)
|
53
|
+
smaller_code_style(docxml)
|
54
|
+
end
|
55
|
+
|
56
|
+
def middle_title_style(docxml)
|
57
|
+
docxml.xpath("//p[@class = 'zzSTDTitle2']").each do |p|
|
58
|
+
p1 = p.previous_element && p1.name == p &&
|
59
|
+
p1["class"] = "zzSTDTitle2" or next
|
60
|
+
p1 << " #{p.remove.children.to_xml}"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def dis_style_interactions(docxml)
|
65
|
+
docxml.xpath("//p[@class = 'Code' or @class = 'Code-' or " \
|
66
|
+
"@class = 'Code--']" \
|
67
|
+
"[following::p[@class = 'Examplecontinued']]").each do |p|
|
68
|
+
p["style"] ||= ""
|
69
|
+
p["style"] = "margin-bottom:12pt;#{p['style']}"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def amd_style(docxml)
|
74
|
+
@meta.get[:doctype] == "Amendment" or return
|
75
|
+
docxml.xpath("//div[@class = 'WordSection3']//h1").each do |h|
|
76
|
+
h.name = "p"
|
77
|
+
h["style"] = "font-style:italic;page-break-after:avoid;"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def para_style_change(div, class1, class2)
|
82
|
+
s = class1 ? "@class = '#{class1}'" : "not(@class)"
|
83
|
+
div.xpath(".//p[#{s}]").each do |p|
|
84
|
+
p["class"] = class2
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def quote_style1(div)
|
89
|
+
para_style_change(div, nil, "BodyTextindent1")
|
90
|
+
para_style_change(div, "Code-", "Code--")
|
91
|
+
para_style_change(div, "Code", "Code-")
|
92
|
+
if div["class"] != "Example"
|
93
|
+
para_style_change(div, "Example", "Exampleindent")
|
94
|
+
para_style_change(div, "Examplecontinued", "Exampleindentcontinued")
|
95
|
+
end
|
96
|
+
if div["class"] != "Note"
|
97
|
+
para_style_change(div, "Note", "Noteindent")
|
98
|
+
para_style_change(div, "Notecontinued", "Noteindentcontinued")
|
99
|
+
end
|
100
|
+
div.xpath(".//table[@class = 'dl']").each do |t|
|
101
|
+
t["style"] = "margin-left: 1cm;"
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
def note_style(docxml)
|
106
|
+
remove_note_label(docxml)
|
107
|
+
note_continued_style(docxml)
|
108
|
+
end
|
109
|
+
|
110
|
+
def example_style(docxml)
|
111
|
+
example_continued_style(docxml)
|
112
|
+
end
|
113
|
+
|
114
|
+
def example_continued_style(docxml)
|
115
|
+
docxml.xpath("//div[@class = 'Example']").each do |d|
|
116
|
+
d.xpath("./p").each_with_index do |p, i|
|
117
|
+
p["class"] && p["class"] != "Example" and next
|
118
|
+
p["class"] = (i.zero? ? "Example" : "Examplecontinued")
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def note_continued_style(docxml)
|
124
|
+
docxml.xpath("//div[@class = 'Note']").each do |d|
|
125
|
+
d.xpath("./p").each_with_index do |p, i|
|
126
|
+
p["class"] && p["class"] != "Note" and next
|
127
|
+
p["class"] = (i.zero? ? "Note" : "Notecontinued")
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
FIGURE_NESTED_STYLES =
|
133
|
+
{ Note: "Figurenote", example: "Figureexample" }.freeze
|
134
|
+
|
135
|
+
def figure_style(docxml)
|
136
|
+
docxml.xpath("//div[@class = 'figure']").each do |f|
|
137
|
+
FIGURE_NESTED_STYLES.each do |k, v|
|
138
|
+
f.xpath(".//*[@class = '#{k}']").each { |n| n["class"] = v }
|
139
|
+
end
|
140
|
+
f.xpath("./img").each do |i|
|
141
|
+
i.replace("<p class='FigureGraphic'>#{i.to_xml}</p>")
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
def formula_style(docxml)
|
147
|
+
docxml.xpath("//div[@class = 'Formula']").each do |f|
|
148
|
+
f.xpath(".//p[not(@class)]").each do |p|
|
149
|
+
p["class"] = "Formula"
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
def code_style(doc)
|
155
|
+
span_style((doc.xpath("//tt//b") - doc.xpath("//tt//i//b")),
|
156
|
+
"ISOCodebold")
|
157
|
+
span_style((doc.xpath("//tt//i") - doc.xpath("//tt//b//i")),
|
158
|
+
"ISOCodeitalic")
|
159
|
+
span_style((doc.xpath("//b//tt") - doc.xpath("//b//i//tt")),
|
160
|
+
"ISOCodebold")
|
161
|
+
span_style((doc.xpath("//i//tt") - doc.xpath("//i//b//tt")),
|
162
|
+
"ISOCodeitalic")
|
163
|
+
span_style(doc.xpath("//tt"), "ISOCode")
|
164
|
+
end
|
165
|
+
|
166
|
+
def span_style(xpath, style)
|
167
|
+
xpath.each do |elem|
|
168
|
+
elem.name = "span"
|
169
|
+
elem["class"] = style
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
def smaller_code_style(doc)
|
174
|
+
smaller_code_style_names(doc)
|
175
|
+
smaller_code_style_names2spans(doc)
|
176
|
+
end
|
177
|
+
|
178
|
+
# TODO read $smallerfonsize from CSS definitions
|
179
|
+
SMALL_FONT_CLASSES =
|
180
|
+
%w(pseudocode Note tablefootnote figdl MsoISOTable MsoTableGrid
|
181
|
+
TableISO Example Notecontinued Noteindent Noteindentcontinued
|
182
|
+
ListNumber5- ListContinue5- BodyTextIndent22 BodyTextIndent32
|
183
|
+
Exampleindent2 Exampleindent2continued Noteindent2continued
|
184
|
+
Noteindent2 example_label note_label Tablebody MsoNormalTable).freeze
|
185
|
+
|
186
|
+
INLINE_CODE_CLASSES = %w(ISOCodebold ISOCodeitalic ISOCode).freeze
|
187
|
+
|
188
|
+
def smaller_code_style_names(doc)
|
189
|
+
klass = SMALL_FONT_CLASSES.map { |x| "@class = '#{x}'" }.join(" or ")
|
190
|
+
doc.xpath("//*[#{klass}]") - doc.xpath("//*[#{klass}]//*[#{klass}]")
|
191
|
+
.each do |d|
|
192
|
+
INLINE_CODE_CLASSES.each do |n|
|
193
|
+
d.xpath(".//span[@class = '#{n}']").each do |s|
|
194
|
+
s["class"] += "-"
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
def smaller_code_style_names2spans(doc)
|
201
|
+
INLINE_CODE_CLASSES.each do |n|
|
202
|
+
doc.xpath("//span[@class = '#{n}-']").each do |s|
|
203
|
+
s["class"] = n
|
204
|
+
s.children =
|
205
|
+
"<span style='font-size: 9pt;'>#{s.children.to_xml}</span>"
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
def word_annex_cleanup1(docxml, lvl)
|
211
|
+
docxml.xpath("//h#{lvl}[ancestor::*[@class = 'Section3']]").each do |h2|
|
212
|
+
h2.name = "p"
|
213
|
+
h2["class"] = "a#{lvl}"
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
def word_table_cell_para_style(cell)
|
218
|
+
ret = cell["header"] == "true" ? "Tableheader" : "Tablebody"
|
219
|
+
cell["class"] == "rouge-code" and ret = "Code"
|
220
|
+
ret
|
221
|
+
end
|
222
|
+
|
223
|
+
def table_toc_class
|
224
|
+
["Table title", "Tabletitle", "Annex Table Title", "AnnexTableTitle"] +
|
225
|
+
super
|
226
|
+
end
|
227
|
+
|
228
|
+
def figure_toc_class
|
229
|
+
["Figure Title", "Annex Figure Title", "AnnexFigureTitle"] + super
|
230
|
+
end
|
231
|
+
end
|
232
|
+
end
|
233
|
+
end
|
@@ -7,10 +7,9 @@ module IsoDoc
|
|
7
7
|
clause.at(ns("./clause")) and
|
8
8
|
@anchors[clause["id"]] = { label: nil, level: 1, type: "clause",
|
9
9
|
xref: clause.at(ns("./title"))&.text }
|
10
|
-
i = Counter.new
|
10
|
+
i = Counter.new(0, prefix: "0.")
|
11
11
|
clause.xpath(ns("./clause")).each do |c|
|
12
|
-
i.increment(c)
|
13
|
-
section_names1(c, "0.#{i.print}", 2)
|
12
|
+
section_names1(c, i.increment(c).print, 2)
|
14
13
|
end
|
15
14
|
end
|
16
15
|
|
@@ -27,10 +26,9 @@ module IsoDoc
|
|
27
26
|
anchor_struct(i.print, nil, @labels["appendix"],
|
28
27
|
"clause").merge(level: 2, subtype: "annex",
|
29
28
|
container: clause["id"])
|
30
|
-
j = Counter.new
|
29
|
+
j = Counter.new(0, prefix: "#{i.print}.")
|
31
30
|
c.xpath(ns("./clause | ./references")).each do |c1|
|
32
|
-
j.increment(c1)
|
33
|
-
lbl = "#{@labels['appendix']} #{i.print}.#{j.print}"
|
31
|
+
lbl = "#{@labels['appendix']} #{j.increment(c1).print}"
|
34
32
|
appendix_names1(c1, l10n(lbl), 3, clause["id"])
|
35
33
|
end
|
36
34
|
end
|
@@ -41,32 +39,29 @@ module IsoDoc
|
|
41
39
|
def section_names1(clause, num, level)
|
42
40
|
@anchors[clause["id"]] =
|
43
41
|
{ label: num, level: level, xref: num, subtype: "clause" }
|
44
|
-
i = Counter.new
|
42
|
+
i = Counter.new(0, prefix: "#{num}.")
|
45
43
|
clause.xpath(ns("./clause | ./terms | ./term | ./definitions | " \
|
46
44
|
"./references"))
|
47
45
|
.each do |c|
|
48
|
-
i.increment(c)
|
49
|
-
section_names1(c, "#{num}.#{i.print}", level + 1)
|
46
|
+
section_names1(c, i.increment(c).print, level + 1)
|
50
47
|
end
|
51
48
|
end
|
52
49
|
|
53
50
|
def annex_names1(clause, num, level)
|
54
51
|
@anchors[clause["id"]] = { label: num, xref: num, level: level,
|
55
52
|
subtype: "annex" }
|
56
|
-
i = Counter.new
|
53
|
+
i = Counter.new(0, prefix: "#{num}.")
|
57
54
|
clause.xpath(ns("./clause | ./references")).each do |c|
|
58
|
-
i.increment(c)
|
59
|
-
annex_names1(c, "#{num}.#{i.print}", level + 1)
|
55
|
+
annex_names1(c, i.increment(c).print, level + 1)
|
60
56
|
end
|
61
57
|
end
|
62
58
|
|
63
59
|
def appendix_names1(clause, num, level, container)
|
64
60
|
@anchors[clause["id"]] = { label: num, xref: num, level: level,
|
65
61
|
container: container }
|
66
|
-
i = Counter.new
|
62
|
+
i = Counter.new(0, prefix: "#{num}.")
|
67
63
|
clause.xpath(ns("./clause | ./references")).each do |c|
|
68
|
-
i.increment(c)
|
69
|
-
appendix_names1(c, "#{num}.#{i.print}", level + 1, container)
|
64
|
+
appendix_names1(c, i.increment(c).print, level + 1, container)
|
70
65
|
end
|
71
66
|
end
|
72
67
|
|
@@ -914,44 +914,47 @@
|
|
914
914
|
-->
|
915
915
|
<define name="image">
|
916
916
|
<element name="image">
|
917
|
-
<
|
918
|
-
|
917
|
+
<ref name="Image"/>
|
918
|
+
</element>
|
919
|
+
</define>
|
920
|
+
<define name="Image">
|
921
|
+
<attribute name="id">
|
922
|
+
<data type="ID"/>
|
923
|
+
</attribute>
|
924
|
+
<attribute name="src">
|
925
|
+
<data type="anyURI"/>
|
926
|
+
</attribute>
|
927
|
+
<attribute name="mimetype"/>
|
928
|
+
<optional>
|
929
|
+
<attribute name="filename"/>
|
930
|
+
</optional>
|
931
|
+
<optional>
|
932
|
+
<attribute name="width">
|
933
|
+
<choice>
|
934
|
+
<data type="int"/>
|
935
|
+
<value>auto</value>
|
936
|
+
</choice>
|
919
937
|
</attribute>
|
920
|
-
|
938
|
+
</optional>
|
939
|
+
<optional>
|
940
|
+
<attribute name="height">
|
941
|
+
<choice>
|
942
|
+
<data type="int"/>
|
943
|
+
<value>auto</value>
|
944
|
+
</choice>
|
945
|
+
</attribute>
|
946
|
+
</optional>
|
947
|
+
<optional>
|
948
|
+
<attribute name="alt"/>
|
949
|
+
</optional>
|
950
|
+
<optional>
|
951
|
+
<attribute name="title"/>
|
952
|
+
</optional>
|
953
|
+
<optional>
|
954
|
+
<attribute name="longdesc">
|
921
955
|
<data type="anyURI"/>
|
922
956
|
</attribute>
|
923
|
-
|
924
|
-
<optional>
|
925
|
-
<attribute name="filename"/>
|
926
|
-
</optional>
|
927
|
-
<optional>
|
928
|
-
<attribute name="width">
|
929
|
-
<choice>
|
930
|
-
<data type="int"/>
|
931
|
-
<value>auto</value>
|
932
|
-
</choice>
|
933
|
-
</attribute>
|
934
|
-
</optional>
|
935
|
-
<optional>
|
936
|
-
<attribute name="height">
|
937
|
-
<choice>
|
938
|
-
<data type="int"/>
|
939
|
-
<value>auto</value>
|
940
|
-
</choice>
|
941
|
-
</attribute>
|
942
|
-
</optional>
|
943
|
-
<optional>
|
944
|
-
<attribute name="alt"/>
|
945
|
-
</optional>
|
946
|
-
<optional>
|
947
|
-
<attribute name="title"/>
|
948
|
-
</optional>
|
949
|
-
<optional>
|
950
|
-
<attribute name="longdesc">
|
951
|
-
<data type="anyURI"/>
|
952
|
-
</attribute>
|
953
|
-
</optional>
|
954
|
-
</element>
|
957
|
+
</optional>
|
955
958
|
</define>
|
956
959
|
<define name="video">
|
957
960
|
<element name="video">
|
@@ -348,6 +348,9 @@
|
|
348
348
|
<zeroOrMore>
|
349
349
|
<ref name="contact"/>
|
350
350
|
</zeroOrMore>
|
351
|
+
<optional>
|
352
|
+
<ref name="logo"/>
|
353
|
+
</optional>
|
351
354
|
</element>
|
352
355
|
</define>
|
353
356
|
<define name="orgname">
|
@@ -366,6 +369,11 @@
|
|
366
369
|
</choice>
|
367
370
|
</element>
|
368
371
|
</define>
|
372
|
+
<define name="logo">
|
373
|
+
<element name="logo">
|
374
|
+
<ref name="image"/>
|
375
|
+
</element>
|
376
|
+
</define>
|
369
377
|
<define name="NameWithVariants">
|
370
378
|
<element name="primary">
|
371
379
|
<ref name="LocalizedString"/>
|
@@ -942,6 +950,7 @@
|
|
942
950
|
<value>obsoleted</value>
|
943
951
|
<value>confirmed</value>
|
944
952
|
<value>updated</value>
|
953
|
+
<value>corrected</value>
|
945
954
|
<value>issued</value>
|
946
955
|
<value>transmitted</value>
|
947
956
|
<value>copied</value>
|
@@ -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">
|
@@ -1054,6 +1054,17 @@
|
|
1054
1054
|
<ref name="date_inline"/>
|
1055
1055
|
</choice>
|
1056
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>
|
1057
1068
|
<define name="add">
|
1058
1069
|
<element name="add">
|
1059
1070
|
<choice>
|
@@ -1092,6 +1103,9 @@
|
|
1092
1103
|
<optional>
|
1093
1104
|
<attribute name="style"/>
|
1094
1105
|
</optional>
|
1106
|
+
<optional>
|
1107
|
+
<attribute name="custom-charset"/>
|
1108
|
+
</optional>
|
1095
1109
|
<oneOrMore>
|
1096
1110
|
<ref name="TextElement"/>
|
1097
1111
|
</oneOrMore>
|
@@ -1394,6 +1408,9 @@
|
|
1394
1408
|
<optional>
|
1395
1409
|
<attribute name="number"/>
|
1396
1410
|
</optional>
|
1411
|
+
<optional>
|
1412
|
+
<attribute name="branch-number"/>
|
1413
|
+
</optional>
|
1397
1414
|
<optional>
|
1398
1415
|
<attribute name="obligation">
|
1399
1416
|
<choice>
|
@@ -1617,6 +1634,9 @@
|
|
1617
1634
|
<optional>
|
1618
1635
|
<attribute name="number"/>
|
1619
1636
|
</optional>
|
1637
|
+
<optional>
|
1638
|
+
<attribute name="branch-number"/>
|
1639
|
+
</optional>
|
1620
1640
|
<optional>
|
1621
1641
|
<attribute name="type"/>
|
1622
1642
|
</optional>
|
@@ -1668,6 +1688,9 @@
|
|
1668
1688
|
<optional>
|
1669
1689
|
<attribute name="number"/>
|
1670
1690
|
</optional>
|
1691
|
+
<optional>
|
1692
|
+
<attribute name="branch-number"/>
|
1693
|
+
</optional>
|
1671
1694
|
<optional>
|
1672
1695
|
<ref name="section-title"/>
|
1673
1696
|
</optional>
|
@@ -1765,6 +1788,9 @@
|
|
1765
1788
|
<optional>
|
1766
1789
|
<attribute name="number"/>
|
1767
1790
|
</optional>
|
1791
|
+
<optional>
|
1792
|
+
<attribute name="branch-number"/>
|
1793
|
+
</optional>
|
1768
1794
|
<optional>
|
1769
1795
|
<attribute name="obligation">
|
1770
1796
|
<choice>
|
data/metanorma-iso.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
33
33
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
34
34
|
|
35
|
-
spec.add_dependency "metanorma-standoc", "~> 2.6.
|
35
|
+
spec.add_dependency "metanorma-standoc", "~> 2.6.3"
|
36
36
|
spec.add_dependency "mnconvert", "~> 1.14"
|
37
37
|
spec.add_dependency "pubid-iso", "~> 0.6.0"
|
38
38
|
spec.add_dependency "ruby-jing"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-iso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-standoc
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.6.
|
19
|
+
version: 2.6.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.6.
|
26
|
+
version: 2.6.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mnconvert
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -296,6 +296,7 @@ files:
|
|
296
296
|
- ".rubocop.yml"
|
297
297
|
- CODE_OF_CONDUCT.md
|
298
298
|
- Gemfile
|
299
|
+
- Gemfile.devel
|
299
300
|
- LICENSE
|
300
301
|
- Makefile
|
301
302
|
- README.adoc
|
@@ -361,6 +362,7 @@ files:
|
|
361
362
|
- lib/isodoc/iso/word_convert.rb
|
362
363
|
- lib/isodoc/iso/word_dis_cleanup.rb
|
363
364
|
- lib/isodoc/iso/word_dis_convert.rb
|
365
|
+
- lib/isodoc/iso/word_dis_styles.rb
|
364
366
|
- lib/isodoc/iso/xref.rb
|
365
367
|
- lib/isodoc/iso/xref_section.rb
|
366
368
|
- lib/metanorma-iso.rb
|