metanorma-ieee 0.1.3 → 1.0.0
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.
- checksums.yaml +4 -4
- data/lib/isodoc/ieee/html_convert.rb +1 -1
- data/lib/isodoc/ieee/i18n.rb +1 -1
- data/lib/isodoc/ieee/ieee.amendment.xsl +63 -20
- data/lib/isodoc/ieee/ieee.standard.xsl +63 -20
- data/lib/isodoc/ieee/metadata.rb +1 -1
- data/lib/isodoc/ieee/presentation_terms.rb +20 -19
- data/lib/isodoc/ieee/presentation_xml_convert.rb +20 -21
- data/lib/isodoc/ieee/word_authority.rb +3 -3
- data/lib/isodoc/ieee/word_cleanup_blocks.rb +8 -8
- data/lib/metanorma/ieee/basicdoc.rng +3 -0
- data/lib/metanorma/ieee/biblio-standoc.rng +1 -1
- data/lib/metanorma/ieee/isodoc.rng +1 -0
- data/lib/metanorma/ieee/version.rb +1 -1
- data/metanorma-ieee.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 403a80a30d2fd43432e4750b237712b71ad5f2af3823137d4f49b87150a67b0f
|
4
|
+
data.tar.gz: 0d98ce2b578daaa75b06800371ef595d3a11ce4a931bc267edeb63dfa17faed9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4cedea29e69e7fbad2b3007b6a70f7257e0ec117b685c342a83b683c44aecf882a28774d325a163244ed74f51d93654b726704be7376a683995ab17a19785fee
|
7
|
+
data.tar.gz: 98a404455147da1f4f3ccd736218be6d6d00d69af9daddd013d82f8ec9e94a95994b9539e9826a71ef292b9c0795eebe311ac0d1d6eb5bd7ae4ad11fea6c8456
|
data/lib/isodoc/ieee/i18n.rb
CHANGED
@@ -77,7 +77,7 @@
|
|
77
77
|
<xsl:variable name="current_template">
|
78
78
|
<xsl:choose>
|
79
79
|
<xsl:when test="($doctype = 'standard' or $doctype = 'guide' or $doctype = 'recommended-practice') and $stage = 'draft'">draft</xsl:when>
|
80
|
-
<xsl:when test="($doctype = 'standard' or $doctype = 'guide' or $doctype = 'recommended-practice') and $stage = 'published'">standard</xsl:when>
|
80
|
+
<xsl:when test="($doctype = 'standard' or $doctype = 'guide' or $doctype = 'recommended-practice') and ($stage = 'published' or $stage = 'approved')">standard</xsl:when>
|
81
81
|
<xsl:otherwise><xsl:value-of select="$doctype"/></xsl:otherwise>
|
82
82
|
</xsl:choose>
|
83
83
|
</xsl:variable>
|
@@ -768,7 +768,7 @@
|
|
768
768
|
</fo:block>
|
769
769
|
</fo:flow>
|
770
770
|
</fo:page-sequence>
|
771
|
-
</xsl:when> <!-- $
|
771
|
+
</xsl:when> <!-- $current_template = 'standard' -->
|
772
772
|
|
773
773
|
<xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
|
774
774
|
<fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force" font-family="Calibri Light">
|
@@ -873,7 +873,7 @@
|
|
873
873
|
</fo:block>
|
874
874
|
|
875
875
|
<fo:block font-family="Arial" font-size="12pt" role="H1" font-weight="bold" margin-top="12pt" margin-bottom="24pt">
|
876
|
-
<xsl:if test="$stage = 'published'">
|
876
|
+
<xsl:if test="$stage = 'published' or $stage = 'approved'">
|
877
877
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
878
878
|
</xsl:if>
|
879
879
|
<!-- Contents -->
|
@@ -944,7 +944,7 @@
|
|
944
944
|
|
945
945
|
</xsl:when> <!-- $stage = 'draft' -->
|
946
946
|
|
947
|
-
<xsl:when test="$stage = 'published'">
|
947
|
+
<xsl:when test="$stage = 'published' or $stage = 'approved'">
|
948
948
|
|
949
949
|
<xsl:variable name="provisional-distance-between-starts">10</xsl:variable>
|
950
950
|
|
@@ -1016,7 +1016,7 @@
|
|
1016
1016
|
</xsl:for-each>
|
1017
1017
|
</xsl:if>
|
1018
1018
|
|
1019
|
-
</xsl:when> <!-- $stage = 'published' -->
|
1019
|
+
</xsl:when> <!-- $stage = 'published' or 'approved' -->
|
1020
1020
|
</xsl:choose>
|
1021
1021
|
|
1022
1022
|
</xsl:if>
|
@@ -1513,15 +1513,15 @@
|
|
1513
1513
|
</fo:table>
|
1514
1514
|
</fo:block>
|
1515
1515
|
|
1516
|
-
<xsl:if test="following-sibling::*[not(@type = 'officemember' or @type = 'emeritus_sign')]">
|
1517
|
-
<fo:block font-size="10pt" space-after="12pt"> </fo:block>
|
1516
|
+
<xsl:if test="following-sibling::*[1][not(@type = 'officemember' or @type = 'emeritus_sign')]">
|
1517
|
+
<fo:block font-size="10pt" space-after="12pt" keep-with-previous="always"> </fo:block>
|
1518
1518
|
</xsl:if>
|
1519
1519
|
</xsl:when> <!-- @type = 'officemember' -->
|
1520
1520
|
|
1521
1521
|
<xsl:when test="@type = 'officemember' and preceding-sibling::*[1][self::ieee:p][@type = 'officemember']"><!-- skip --></xsl:when>
|
1522
1522
|
|
1523
1523
|
<xsl:when test="@type = 'emeritus_sign'">
|
1524
|
-
<fo:block font-size="9pt" margin-left="9.4mm">
|
1524
|
+
<fo:block font-size="9pt" margin-left="9.4mm" space-before="6pt" space-after="12pt" keep-with-previous="always">
|
1525
1525
|
<xsl:apply-templates/>
|
1526
1526
|
</fo:block>
|
1527
1527
|
</xsl:when>
|
@@ -6406,6 +6406,10 @@
|
|
6406
6406
|
<xsl:variable name="footnote_inline">
|
6407
6407
|
<fo:inline xsl:use-attribute-sets="fn-num-style">
|
6408
6408
|
|
6409
|
+
<xsl:if test="following-sibling::*[1][local-name() = 'fn']">
|
6410
|
+
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
6411
|
+
</xsl:if>
|
6412
|
+
|
6409
6413
|
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
6410
6414
|
<xsl:value-of select="$current_fn_number_text"/>
|
6411
6415
|
</fo:basic-link>
|
@@ -7563,6 +7567,23 @@
|
|
7563
7567
|
<xsl:apply-templates/>
|
7564
7568
|
</xsl:template>
|
7565
7569
|
|
7570
|
+
<!-- Don't break standard's numbers -->
|
7571
|
+
<!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
7572
|
+
<xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
|
7573
|
+
<xsl:choose>
|
7574
|
+
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
|
7575
|
+
<xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
|
7576
|
+
<fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
|
7577
|
+
</xsl:when>
|
7578
|
+
<xsl:otherwise>
|
7579
|
+
<xsl:apply-templates/>
|
7580
|
+
</xsl:otherwise>
|
7581
|
+
</xsl:choose>
|
7582
|
+
</xsl:template>
|
7583
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
|
7584
|
+
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
7585
|
+
</xsl:template>
|
7586
|
+
|
7566
7587
|
<!-- ========================= -->
|
7567
7588
|
<!-- END Rich text formatting -->
|
7568
7589
|
<!-- ========================= -->
|
@@ -7958,7 +7979,7 @@
|
|
7958
7979
|
<xsl:choose>
|
7959
7980
|
<xsl:when test="@colspan">
|
7960
7981
|
<xsl:variable name="td">
|
7961
|
-
<xsl:element name="
|
7982
|
+
<xsl:element name="{local-name()}">
|
7962
7983
|
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
7963
7984
|
<xsl:if test="local-name()='th'">
|
7964
7985
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -7973,7 +7994,7 @@
|
|
7973
7994
|
</xsl:call-template>
|
7974
7995
|
</xsl:when>
|
7975
7996
|
<xsl:otherwise>
|
7976
|
-
<xsl:element name="
|
7997
|
+
<xsl:element name="{local-name()}">
|
7977
7998
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
7978
7999
|
<xsl:if test="local-name()='th'">
|
7979
8000
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -8040,7 +8061,7 @@
|
|
8040
8061
|
<xsl:variable name="currentRow" select="."/>
|
8041
8062
|
|
8042
8063
|
<xsl:variable name="normalizedTDs">
|
8043
|
-
<xsl:for-each select="xalan:nodeset($previousRow)
|
8064
|
+
<xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
|
8044
8065
|
<xsl:choose>
|
8045
8066
|
<xsl:when test="@rowspan > 1">
|
8046
8067
|
<xsl:copy>
|
@@ -8052,7 +8073,7 @@
|
|
8052
8073
|
</xsl:copy>
|
8053
8074
|
</xsl:when>
|
8054
8075
|
<xsl:otherwise>
|
8055
|
-
<xsl:copy-of select="$currentRow
|
8076
|
+
<xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
|
8056
8077
|
</xsl:otherwise>
|
8057
8078
|
</xsl:choose>
|
8058
8079
|
</xsl:for-each>
|
@@ -8736,12 +8757,6 @@
|
|
8736
8757
|
|
8737
8758
|
<fo:block-container margin-left="0mm">
|
8738
8759
|
|
8739
|
-
<!-- <xsl:if test="$namespace = 'iho'">
|
8740
|
-
<xsl:if test="ancestor::iho:td">
|
8741
|
-
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
8742
|
-
</xsl:if>
|
8743
|
-
</xsl:if> -->
|
8744
|
-
|
8745
8760
|
<fo:block>
|
8746
8761
|
|
8747
8762
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
@@ -9249,6 +9264,31 @@
|
|
9249
9264
|
<xsl:apply-templates mode="svg_update"/>
|
9250
9265
|
</xsl:copy>
|
9251
9266
|
</xsl:template>
|
9267
|
+
|
9268
|
+
<!-- regex for 'display: inline-block;' -->
|
9269
|
+
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
9270
|
+
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
9271
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
|
9272
|
+
</xsl:template>
|
9273
|
+
|
9274
|
+
<!-- replace
|
9275
|
+
stroke="rgba(r, g, b, alpha)" to
|
9276
|
+
stroke="rgb(r,g,b)" stroke-opacity="alpha", and
|
9277
|
+
fill="rgba(r, g, b, alpha)" to
|
9278
|
+
fill="rgb(r,g,b)" fill-opacity="alpha" -->
|
9279
|
+
<xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
|
9280
|
+
<xsl:variable name="components_">
|
9281
|
+
<xsl:call-template name="split">
|
9282
|
+
<xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
|
9283
|
+
<xsl:with-param name="sep" select="','"/>
|
9284
|
+
</xsl:call-template>
|
9285
|
+
</xsl:variable>
|
9286
|
+
<xsl:variable name="components" select="xalan:nodeset($components_)"/>
|
9287
|
+
<xsl:variable name="att_name" select="local-name()"/>
|
9288
|
+
<xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
|
9289
|
+
<xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
|
9290
|
+
</xsl:template>
|
9291
|
+
|
9252
9292
|
<!-- ============== -->
|
9253
9293
|
<!-- END: svg_update -->
|
9254
9294
|
<!-- ============== -->
|
@@ -12257,7 +12297,9 @@
|
|
12257
12297
|
<!-- Update xml -->
|
12258
12298
|
<!-- ===================================== -->
|
12259
12299
|
<!-- =========================================================================== -->
|
12260
|
-
<!-- STEP1:
|
12300
|
+
<!-- STEP1: -->
|
12301
|
+
<!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
|
12302
|
+
<!-- - Ignore 'span' without style -->
|
12261
12303
|
<!-- =========================================================================== -->
|
12262
12304
|
<xsl:template match="@*|node()" mode="update_xml_step1">
|
12263
12305
|
<xsl:copy>
|
@@ -12340,7 +12382,8 @@
|
|
12340
12382
|
</xsl:copy>
|
12341
12383
|
</xsl:template>
|
12342
12384
|
|
12343
|
-
|
12385
|
+
<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
12386
|
+
<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
|
12344
12387
|
<xsl:copy>
|
12345
12388
|
<xsl:copy-of select="@*"/>
|
12346
12389
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -77,7 +77,7 @@
|
|
77
77
|
<xsl:variable name="current_template">
|
78
78
|
<xsl:choose>
|
79
79
|
<xsl:when test="($doctype = 'standard' or $doctype = 'guide' or $doctype = 'recommended-practice') and $stage = 'draft'">draft</xsl:when>
|
80
|
-
<xsl:when test="($doctype = 'standard' or $doctype = 'guide' or $doctype = 'recommended-practice') and $stage = 'published'">standard</xsl:when>
|
80
|
+
<xsl:when test="($doctype = 'standard' or $doctype = 'guide' or $doctype = 'recommended-practice') and ($stage = 'published' or $stage = 'approved')">standard</xsl:when>
|
81
81
|
<xsl:otherwise><xsl:value-of select="$doctype"/></xsl:otherwise>
|
82
82
|
</xsl:choose>
|
83
83
|
</xsl:variable>
|
@@ -768,7 +768,7 @@
|
|
768
768
|
</fo:block>
|
769
769
|
</fo:flow>
|
770
770
|
</fo:page-sequence>
|
771
|
-
</xsl:when> <!-- $
|
771
|
+
</xsl:when> <!-- $current_template = 'standard' -->
|
772
772
|
|
773
773
|
<xsl:when test="$current_template = 'whitepaper' or $current_template = 'icap-whitepaper' or $current_template = 'industry-connection-report'">
|
774
774
|
<fo:page-sequence master-reference="document-nonstandard" force-page-count="no-force" font-family="Calibri Light">
|
@@ -873,7 +873,7 @@
|
|
873
873
|
</fo:block>
|
874
874
|
|
875
875
|
<fo:block font-family="Arial" font-size="12pt" role="H1" font-weight="bold" margin-top="12pt" margin-bottom="24pt">
|
876
|
-
<xsl:if test="$stage = 'published'">
|
876
|
+
<xsl:if test="$stage = 'published' or $stage = 'approved'">
|
877
877
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
878
878
|
</xsl:if>
|
879
879
|
<!-- Contents -->
|
@@ -944,7 +944,7 @@
|
|
944
944
|
|
945
945
|
</xsl:when> <!-- $stage = 'draft' -->
|
946
946
|
|
947
|
-
<xsl:when test="$stage = 'published'">
|
947
|
+
<xsl:when test="$stage = 'published' or $stage = 'approved'">
|
948
948
|
|
949
949
|
<xsl:variable name="provisional-distance-between-starts">10</xsl:variable>
|
950
950
|
|
@@ -1016,7 +1016,7 @@
|
|
1016
1016
|
</xsl:for-each>
|
1017
1017
|
</xsl:if>
|
1018
1018
|
|
1019
|
-
</xsl:when> <!-- $stage = 'published' -->
|
1019
|
+
</xsl:when> <!-- $stage = 'published' or 'approved' -->
|
1020
1020
|
</xsl:choose>
|
1021
1021
|
|
1022
1022
|
</xsl:if>
|
@@ -1513,15 +1513,15 @@
|
|
1513
1513
|
</fo:table>
|
1514
1514
|
</fo:block>
|
1515
1515
|
|
1516
|
-
<xsl:if test="following-sibling::*[not(@type = 'officemember' or @type = 'emeritus_sign')]">
|
1517
|
-
<fo:block font-size="10pt" space-after="12pt"> </fo:block>
|
1516
|
+
<xsl:if test="following-sibling::*[1][not(@type = 'officemember' or @type = 'emeritus_sign')]">
|
1517
|
+
<fo:block font-size="10pt" space-after="12pt" keep-with-previous="always"> </fo:block>
|
1518
1518
|
</xsl:if>
|
1519
1519
|
</xsl:when> <!-- @type = 'officemember' -->
|
1520
1520
|
|
1521
1521
|
<xsl:when test="@type = 'officemember' and preceding-sibling::*[1][self::ieee:p][@type = 'officemember']"><!-- skip --></xsl:when>
|
1522
1522
|
|
1523
1523
|
<xsl:when test="@type = 'emeritus_sign'">
|
1524
|
-
<fo:block font-size="9pt" margin-left="9.4mm">
|
1524
|
+
<fo:block font-size="9pt" margin-left="9.4mm" space-before="6pt" space-after="12pt" keep-with-previous="always">
|
1525
1525
|
<xsl:apply-templates/>
|
1526
1526
|
</fo:block>
|
1527
1527
|
</xsl:when>
|
@@ -6406,6 +6406,10 @@
|
|
6406
6406
|
<xsl:variable name="footnote_inline">
|
6407
6407
|
<fo:inline xsl:use-attribute-sets="fn-num-style">
|
6408
6408
|
|
6409
|
+
<xsl:if test="following-sibling::*[1][local-name() = 'fn']">
|
6410
|
+
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
6411
|
+
</xsl:if>
|
6412
|
+
|
6409
6413
|
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
6410
6414
|
<xsl:value-of select="$current_fn_number_text"/>
|
6411
6415
|
</fo:basic-link>
|
@@ -7563,6 +7567,23 @@
|
|
7563
7567
|
<xsl:apply-templates/>
|
7564
7568
|
</xsl:template>
|
7565
7569
|
|
7570
|
+
<!-- Don't break standard's numbers -->
|
7571
|
+
<!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
7572
|
+
<xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
|
7573
|
+
<xsl:choose>
|
7574
|
+
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
|
7575
|
+
<xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
|
7576
|
+
<fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
|
7577
|
+
</xsl:when>
|
7578
|
+
<xsl:otherwise>
|
7579
|
+
<xsl:apply-templates/>
|
7580
|
+
</xsl:otherwise>
|
7581
|
+
</xsl:choose>
|
7582
|
+
</xsl:template>
|
7583
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
|
7584
|
+
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
7585
|
+
</xsl:template>
|
7586
|
+
|
7566
7587
|
<!-- ========================= -->
|
7567
7588
|
<!-- END Rich text formatting -->
|
7568
7589
|
<!-- ========================= -->
|
@@ -7958,7 +7979,7 @@
|
|
7958
7979
|
<xsl:choose>
|
7959
7980
|
<xsl:when test="@colspan">
|
7960
7981
|
<xsl:variable name="td">
|
7961
|
-
<xsl:element name="
|
7982
|
+
<xsl:element name="{local-name()}">
|
7962
7983
|
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
7963
7984
|
<xsl:if test="local-name()='th'">
|
7964
7985
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -7973,7 +7994,7 @@
|
|
7973
7994
|
</xsl:call-template>
|
7974
7995
|
</xsl:when>
|
7975
7996
|
<xsl:otherwise>
|
7976
|
-
<xsl:element name="
|
7997
|
+
<xsl:element name="{local-name()}">
|
7977
7998
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
7978
7999
|
<xsl:if test="local-name()='th'">
|
7979
8000
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -8040,7 +8061,7 @@
|
|
8040
8061
|
<xsl:variable name="currentRow" select="."/>
|
8041
8062
|
|
8042
8063
|
<xsl:variable name="normalizedTDs">
|
8043
|
-
<xsl:for-each select="xalan:nodeset($previousRow)
|
8064
|
+
<xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
|
8044
8065
|
<xsl:choose>
|
8045
8066
|
<xsl:when test="@rowspan > 1">
|
8046
8067
|
<xsl:copy>
|
@@ -8052,7 +8073,7 @@
|
|
8052
8073
|
</xsl:copy>
|
8053
8074
|
</xsl:when>
|
8054
8075
|
<xsl:otherwise>
|
8055
|
-
<xsl:copy-of select="$currentRow
|
8076
|
+
<xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
|
8056
8077
|
</xsl:otherwise>
|
8057
8078
|
</xsl:choose>
|
8058
8079
|
</xsl:for-each>
|
@@ -8736,12 +8757,6 @@
|
|
8736
8757
|
|
8737
8758
|
<fo:block-container margin-left="0mm">
|
8738
8759
|
|
8739
|
-
<!-- <xsl:if test="$namespace = 'iho'">
|
8740
|
-
<xsl:if test="ancestor::iho:td">
|
8741
|
-
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
8742
|
-
</xsl:if>
|
8743
|
-
</xsl:if> -->
|
8744
|
-
|
8745
8760
|
<fo:block>
|
8746
8761
|
|
8747
8762
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
@@ -9249,6 +9264,31 @@
|
|
9249
9264
|
<xsl:apply-templates mode="svg_update"/>
|
9250
9265
|
</xsl:copy>
|
9251
9266
|
</xsl:template>
|
9267
|
+
|
9268
|
+
<!-- regex for 'display: inline-block;' -->
|
9269
|
+
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
9270
|
+
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
9271
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
|
9272
|
+
</xsl:template>
|
9273
|
+
|
9274
|
+
<!-- replace
|
9275
|
+
stroke="rgba(r, g, b, alpha)" to
|
9276
|
+
stroke="rgb(r,g,b)" stroke-opacity="alpha", and
|
9277
|
+
fill="rgba(r, g, b, alpha)" to
|
9278
|
+
fill="rgb(r,g,b)" fill-opacity="alpha" -->
|
9279
|
+
<xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
|
9280
|
+
<xsl:variable name="components_">
|
9281
|
+
<xsl:call-template name="split">
|
9282
|
+
<xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
|
9283
|
+
<xsl:with-param name="sep" select="','"/>
|
9284
|
+
</xsl:call-template>
|
9285
|
+
</xsl:variable>
|
9286
|
+
<xsl:variable name="components" select="xalan:nodeset($components_)"/>
|
9287
|
+
<xsl:variable name="att_name" select="local-name()"/>
|
9288
|
+
<xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
|
9289
|
+
<xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
|
9290
|
+
</xsl:template>
|
9291
|
+
|
9252
9292
|
<!-- ============== -->
|
9253
9293
|
<!-- END: svg_update -->
|
9254
9294
|
<!-- ============== -->
|
@@ -12257,7 +12297,9 @@
|
|
12257
12297
|
<!-- Update xml -->
|
12258
12298
|
<!-- ===================================== -->
|
12259
12299
|
<!-- =========================================================================== -->
|
12260
|
-
<!-- STEP1:
|
12300
|
+
<!-- STEP1: -->
|
12301
|
+
<!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
|
12302
|
+
<!-- - Ignore 'span' without style -->
|
12261
12303
|
<!-- =========================================================================== -->
|
12262
12304
|
<xsl:template match="@*|node()" mode="update_xml_step1">
|
12263
12305
|
<xsl:copy>
|
@@ -12340,7 +12382,8 @@
|
|
12340
12382
|
</xsl:copy>
|
12341
12383
|
</xsl:template>
|
12342
12384
|
|
12343
|
-
|
12385
|
+
<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
12386
|
+
<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
|
12344
12387
|
<xsl:copy>
|
12345
12388
|
<xsl:copy-of select="@*"/>
|
12346
12389
|
<xsl:apply-templates mode="update_xml_step1"/>
|
data/lib/isodoc/ieee/metadata.rb
CHANGED
@@ -94,7 +94,7 @@ module IsoDoc
|
|
94
94
|
set(:full_doctitle, fulltitle(@metadata[:doctype], draft))
|
95
95
|
set(:abbrev_doctitle, fulltitle(@metadata[:doctype_abbrev], draft))
|
96
96
|
prov = isoxml&.at(ns("//bibdata/title[@type='provenance']")) and
|
97
|
-
set(:provenance_doctitle, prov.children
|
97
|
+
set(:provenance_doctitle, Common::to_xml(prov.children))
|
98
98
|
end
|
99
99
|
|
100
100
|
def fulltitle(type, draft)
|
@@ -26,19 +26,19 @@ module IsoDoc
|
|
26
26
|
if coll.all? do |c|
|
27
27
|
c.elements.size == 1 && c.elements.first.name == "p"
|
28
28
|
end
|
29
|
-
ret = coll.map { |c| c.elements.first.children
|
29
|
+
ret = coll.map { |c| to_xml(c.elements.first.children) }
|
30
30
|
return "<p>#{ret.join}</p>"
|
31
31
|
end
|
32
|
-
coll.map { |c| c.children
|
32
|
+
coll.map { |c| to_xml(c.children) }.join
|
33
33
|
end
|
34
34
|
|
35
35
|
def unwrap_definition(docxml)
|
36
|
-
docxml.xpath(ns("
|
36
|
+
docxml.xpath(ns(".//definition/verbal-definition")).each do |v|
|
37
37
|
next unless v.elements.all? { |e| %w(termsource p).include?(e.name) }
|
38
38
|
|
39
39
|
p = v.xpath(ns("./p"))
|
40
40
|
v.children =
|
41
|
-
"<p>#{p.map(&:children).map(
|
41
|
+
"<p>#{p.map(&:children).map { |x| to_xml(x) }.join("\n")}</p>" \
|
42
42
|
"#{v.xpath(ns('./termsource')).to_xml}"
|
43
43
|
end
|
44
44
|
super
|
@@ -60,8 +60,8 @@ module IsoDoc
|
|
60
60
|
prev = i and next
|
61
61
|
end
|
62
62
|
|
63
|
-
coll[prev].at(ns("./preferred")) << "; #{r.at(ns('./preferred'))
|
64
|
-
.children
|
63
|
+
coll[prev].at(ns("./preferred")) << "; #{to_xml(r.at(ns('./preferred'))
|
64
|
+
.children)}"
|
65
65
|
r.remove
|
66
66
|
end
|
67
67
|
end
|
@@ -129,10 +129,10 @@ module IsoDoc
|
|
129
129
|
new = adm.dup
|
130
130
|
adm["type"] = "equivalent"
|
131
131
|
adm.name = "related"
|
132
|
-
adm.children = "<preferred>#{adm.children
|
132
|
+
adm.children = "<preferred>#{to_xml(adm.children)}</preferred>"
|
133
133
|
adm.parent.next = <<~TERM
|
134
|
-
<term><preferred>#{new.children
|
135
|
-
<related type='see'><preferred>#{pref.children
|
134
|
+
<term><preferred>#{to_xml(new.children)}</preferred>
|
135
|
+
<related type='see'><preferred>#{to_xml(pref.children)}</preferred></related></term>
|
136
136
|
TERM
|
137
137
|
end
|
138
138
|
|
@@ -172,8 +172,8 @@ module IsoDoc
|
|
172
172
|
def collapse_term_related(rels)
|
173
173
|
ret = rels.map do |r|
|
174
174
|
p = r.at(ns("./preferred"))
|
175
|
-
|
176
|
-
|
175
|
+
rel = p ? to_xml(p.children) : "**RELATED TERM NOT FOUND**"
|
176
|
+
"<em>#{@i18n.relatedterms[r['type']]}:</em> #{rel}"
|
177
177
|
end.join(". ")
|
178
178
|
ret += "." unless ret.empty?
|
179
179
|
ret
|
@@ -182,10 +182,10 @@ module IsoDoc
|
|
182
182
|
def collapse_term_template(opt)
|
183
183
|
defn = collapse_unwrap_definition(opt[:def])
|
184
184
|
src = nil
|
185
|
-
opt[:source] and src = "(#{opt[:source].remove.children.
|
185
|
+
opt[:source] and src = "(#{to_xml(opt[:source].remove.children).strip})"
|
186
|
+
t = opt[:pref] ? to_xml(opt[:pref].children) : "**TERM NOT FOUND**"
|
186
187
|
<<~TERM
|
187
|
-
<p>#{opt[:
|
188
|
-
#{collapse_term_related(opt[:rels])} #{src}</p>
|
188
|
+
<p>#{t}: #{defn} #{collapse_term_related(opt[:rels])} #{src}</p>
|
189
189
|
TERM
|
190
190
|
end
|
191
191
|
|
@@ -194,7 +194,8 @@ module IsoDoc
|
|
194
194
|
|
195
195
|
s = defn.remove.xpath(ns("./termsource"))
|
196
196
|
p = defn.at(ns("./p"))
|
197
|
-
!s.empty? && p and p << s.map(&:remove).map(&:children)
|
197
|
+
!s.empty? && p and p << s.map(&:remove).map(&:children)
|
198
|
+
.map { |x| to_xml(x) }.join
|
198
199
|
if defn.elements.size == 1 && defn.elements.first.name == "p"
|
199
200
|
defn.elements.first.children
|
200
201
|
else defn.elements
|
@@ -203,10 +204,10 @@ module IsoDoc
|
|
203
204
|
|
204
205
|
def termsource1(elem)
|
205
206
|
while elem&.next_element&.name == "termsource"
|
206
|
-
elem << "; #{elem.next_element.remove.children
|
207
|
+
elem << "; #{to_xml(elem.next_element.remove.children)}"
|
207
208
|
end
|
208
209
|
adapt = termsource_adapt(elem["status"]) and
|
209
|
-
elem.children = l10n("#{adapt}#{elem.children.
|
210
|
+
elem.children = l10n("#{adapt}#{to_xml(elem.children).strip}")
|
210
211
|
end
|
211
212
|
|
212
213
|
def termsource_adapt(status)
|
@@ -218,7 +219,7 @@ module IsoDoc
|
|
218
219
|
def designation_field(desgn, name)
|
219
220
|
if desgn.name == "preferred"
|
220
221
|
f = desgn.xpath(ns("./../domain | ./../subject")).map(&:remove)
|
221
|
-
.map { |u| u.children
|
222
|
+
.map { |u| to_xml(u.children) }.join(", ")
|
222
223
|
name << ", <#{f}>" unless f.empty?
|
223
224
|
end
|
224
225
|
super
|
@@ -231,7 +232,7 @@ module IsoDoc
|
|
231
232
|
"./admitted[expression/name][abbreviation-type]"))
|
232
233
|
(pref && !x.empty?) or return
|
233
234
|
tail = x.map do |p|
|
234
|
-
p.remove.at(ns("./expression/name")).children.
|
235
|
+
to_xml(p.remove.at(ns("./expression/name")).children).strip
|
235
236
|
end.join(", ")
|
236
237
|
pref << " (#{tail})"
|
237
238
|
end
|
@@ -17,9 +17,10 @@ module IsoDoc
|
|
17
17
|
ret = resolve_eref_connectives(eref_locality_stacks(refs, target,
|
18
18
|
node))
|
19
19
|
node["droploc"] = droploc
|
20
|
-
eref_localities1(target,
|
21
|
-
|
22
|
-
|
20
|
+
eref_localities1({ target: target, number: "pl",
|
21
|
+
type: prefix_clause(target, refs.first.at(ns("./locality"))),
|
22
|
+
from: l10n(ret[1..-1].join), node: node,
|
23
|
+
lang: @lang })
|
23
24
|
end
|
24
25
|
|
25
26
|
def prefix_clause(target, loc)
|
@@ -37,20 +38,18 @@ module IsoDoc
|
|
37
38
|
target&.gsub(/<[^>]+>/, "")&.match(/^IEV$|^IEC 60050-/)
|
38
39
|
end
|
39
40
|
|
40
|
-
def eref_localities1(
|
41
|
-
return nil if type == "anchor"
|
41
|
+
def eref_localities1(opt)
|
42
|
+
return nil if opt[:type] == "anchor"
|
42
43
|
|
43
|
-
type = type.downcase
|
44
|
-
lang == "zh" and
|
45
|
-
return l10n(eref_localities1_zh(target, type, from, upto,
|
46
|
-
node))
|
44
|
+
opt[:type] = opt[:type].downcase
|
45
|
+
opt[:lang] == "zh" and return l10n(eref_localities1_zh(opt))
|
47
46
|
ret = ""
|
48
|
-
node["droploc"] != "true" &&
|
49
|
-
|
50
|
-
ret = eref_locality_populate(type, node)
|
51
|
-
ret += " #{from}" if from
|
52
|
-
ret += "–#{upto}" if upto
|
53
|
-
ret += ")" if type == "list"
|
47
|
+
opt[:node]["droploc"] != "true" &&
|
48
|
+
!subclause?(opt[:target], opt[:type], opt[:from]) and
|
49
|
+
ret = eref_locality_populate(opt[:type], opt[:node], opt[:number])
|
50
|
+
ret += " #{opt[:from]}" if opt[:from]
|
51
|
+
ret += "–#{opt[:upto]}" if opt[:upto]
|
52
|
+
ret += ")" if opt[:type] == "list"
|
54
53
|
l10n(ret)
|
55
54
|
end
|
56
55
|
|
@@ -85,7 +84,7 @@ module IsoDoc
|
|
85
84
|
i = display_order_xpath(docxml, "//preface/*", i)
|
86
85
|
i = display_order_at(docxml, "//clause[@type = 'overview']", i)
|
87
86
|
i = display_order_at(docxml, @xrefs.klass.norm_ref_xpath, i)
|
88
|
-
i = display_order_at(docxml, "//sections/terms | "\
|
87
|
+
i = display_order_at(docxml, "//sections/terms | " \
|
89
88
|
"//sections/clause[descendant::terms]", i)
|
90
89
|
i = display_order_at(docxml, "//sections/definitions", i)
|
91
90
|
i = display_order_xpath(docxml, @xrefs.klass.middle_clause(docxml), i)
|
@@ -97,7 +96,7 @@ module IsoDoc
|
|
97
96
|
def annex1(elem)
|
98
97
|
lbl = @xrefs.anchor(elem["id"], :label)
|
99
98
|
if t = elem.at(ns("./title"))
|
100
|
-
t.children = "<strong>#{t.children
|
99
|
+
t.children = "<strong>#{to_xml(t.children)}</strong>"
|
101
100
|
end
|
102
101
|
prefix_name(elem, "<br/>", lbl, "title")
|
103
102
|
end
|
@@ -132,7 +131,7 @@ module IsoDoc
|
|
132
131
|
|
133
132
|
def amend1(elem)
|
134
133
|
elem.xpath(ns("./description/p")).each do |p|
|
135
|
-
p.children = p.children.
|
134
|
+
p.children = to_xml(p.children).strip
|
136
135
|
amend_format(p)
|
137
136
|
end
|
138
137
|
super
|
@@ -144,7 +143,7 @@ module IsoDoc
|
|
144
143
|
%(em strong).include?(para.children.first.name) and
|
145
144
|
para.children = para.elements.first.children
|
146
145
|
end
|
147
|
-
para.children = "<strong><em>#{para.children
|
146
|
+
para.children = "<strong><em>#{to_xml(para.children)}</em></strong>"
|
148
147
|
end
|
149
148
|
|
150
149
|
def section(docxml)
|
@@ -153,7 +152,7 @@ module IsoDoc
|
|
153
152
|
end
|
154
153
|
|
155
154
|
def boilerplate(docxml)
|
156
|
-
docxml.xpath(ns("//clause[@id = 'boilerplate-participants']/"\
|
155
|
+
docxml.xpath(ns("//clause[@id = 'boilerplate-participants']/" \
|
157
156
|
"clause/title")).each(&:remove)
|
158
157
|
docxml.xpath(ns("//clause[@id = 'boilerplate-participants']/clause"))
|
159
158
|
.each do |clause|
|
@@ -211,7 +210,7 @@ module IsoDoc
|
|
211
210
|
def participant_officeholder_para(map, name, idx)
|
212
211
|
name = "<strong>#{name}</strong>" if idx.zero?
|
213
212
|
br = map["role"].size > 30 ? "<br/>" : ""
|
214
|
-
"<p type='officeholder' align='center'>#{name}, #{br}"\
|
213
|
+
"<p type='officeholder' align='center'>#{name}, #{br}" \
|
215
214
|
"<em>#{map['role']}</em></p>"
|
216
215
|
end
|
217
216
|
|
@@ -15,7 +15,7 @@ module IsoDoc
|
|
15
15
|
feedback_table(docxml)
|
16
16
|
f = docxml.at("//div[@class = 'boilerplate-feedback']") or return
|
17
17
|
docxml.at("//aside").previous = <<~FN
|
18
|
-
<aside id="ftn0">#{f.remove
|
18
|
+
<aside id="ftn0">#{to_xml(f.remove)}</aside>
|
19
19
|
FN
|
20
20
|
end
|
21
21
|
|
@@ -103,7 +103,7 @@ module IsoDoc
|
|
103
103
|
div.xpath(".//div").each { |d| d.replace(d.children) }
|
104
104
|
div.elements.each_with_object([[]]) do |e, m|
|
105
105
|
member = e.name == "p" && e["type"] == "officemember"
|
106
|
-
(prev == member and m[-1] << e
|
106
|
+
(prev == member and m[-1] << to_xml(e)) or m << [to_xml(e)]
|
107
107
|
prev = member
|
108
108
|
end.map(&:join)
|
109
109
|
end
|
@@ -143,7 +143,7 @@ module IsoDoc
|
|
143
143
|
i.zero? or div.elements.first.previous = "<p> </p>"
|
144
144
|
i == 4 and
|
145
145
|
div.xpath(".//p[br]").each do |p|
|
146
|
-
p.replace(p.
|
146
|
+
p.replace(to_xml(p).gsub(%r{<br/>}, "</p><p>"))
|
147
147
|
end
|
148
148
|
feedback_style1(div, i)
|
149
149
|
end
|
@@ -28,7 +28,7 @@ module IsoDoc
|
|
28
28
|
end
|
29
29
|
else
|
30
30
|
t.children =
|
31
|
-
"<p class='IEEEStdsTableColumnHead'>#{t.children
|
31
|
+
"<p class='IEEEStdsTableColumnHead'>#{to_xml(t.children)}</p>"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -45,9 +45,9 @@ module IsoDoc
|
|
45
45
|
|
46
46
|
def tbody_head_cleanup(cell)
|
47
47
|
cell.at("./p") or
|
48
|
-
cell.children = "<p>#{cell.children
|
48
|
+
cell.children = "<p>#{to_xml(cell.children)}</p>"
|
49
49
|
cell.xpath("./p").each do |p|
|
50
|
-
p.replace p.
|
50
|
+
p.replace to_xml(p).gsub(%r{<br/>}, "</p><p>")
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -58,7 +58,7 @@ module IsoDoc
|
|
58
58
|
end
|
59
59
|
else
|
60
60
|
cell.children =
|
61
|
-
"<p class='#{td_style(cell, 0)}'>#{cell.children
|
61
|
+
"<p class='#{td_style(cell, 0)}'>#{to_xml(cell.children)}</p>"
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -80,28 +80,28 @@ module IsoDoc
|
|
80
80
|
|
81
81
|
def table_caption(docxml)
|
82
82
|
docxml.xpath("//p[@class = 'TableTitle']").each do |s|
|
83
|
-
s.children = s.children
|
83
|
+
s.children = to_xml(s.children)
|
84
84
|
.sub(/^#{@i18n.table}(\s+[A-Z0-9.]+)?/, "")
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
88
|
def figure_caption(docxml)
|
89
89
|
docxml.xpath("//p[@class = 'FigureTitle']").each do |s|
|
90
|
-
s.children = s.children
|
90
|
+
s.children = to_xml(s.children)
|
91
91
|
.sub(/^#{@i18n.figure}(\s+[A-Z0-9.]+)?/, "")
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
95
|
def example_caption(docxml)
|
96
96
|
docxml.xpath("//p[@class = 'example-title']").each do |s|
|
97
|
-
s.children = "<em>#{s.children
|
97
|
+
s.children = "<em>#{to_xml(s.children)}</em>"
|
98
98
|
s["class"] = "IEEEStdsParagraph"
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
102
|
def sourcecode_cleanup(docxml)
|
103
103
|
docxml.xpath("//p[@class = 'Sourcecode']").each do |s|
|
104
|
-
s.replace(s.
|
104
|
+
s.replace(to_xml(s).gsub(%r{<br/>}, "</p><p class='Sourcecode'>"))
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
data/metanorma-ieee.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.require_paths = ["lib"]
|
26
26
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
27
27
|
|
28
|
-
spec.add_dependency "metanorma-standoc", "~> 2.
|
28
|
+
spec.add_dependency "metanorma-standoc", "~> 2.3.0"
|
29
29
|
spec.add_dependency "mnconvert", "~> 1.20"
|
30
30
|
|
31
31
|
spec.add_development_dependency "debug"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ieee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
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-
|
11
|
+
date: 2022-12-05 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.
|
19
|
+
version: 2.3.0
|
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.
|
26
|
+
version: 2.3.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mnconvert
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -299,7 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
299
|
- !ruby/object:Gem::Version
|
300
300
|
version: '0'
|
301
301
|
requirements: []
|
302
|
-
rubygems_version: 3.3.
|
302
|
+
rubygems_version: 3.3.26
|
303
303
|
signing_key:
|
304
304
|
specification_version: 4
|
305
305
|
summary: Metanorma for the IEEE
|