metanorma-ieee 1.2.3 → 1.2.5
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/ieee.amendment.xsl +131 -16
- data/lib/isodoc/ieee/ieee.standard.xsl +131 -16
- data/lib/isodoc/ieee/init.rb +5 -0
- data/lib/isodoc/ieee/presentation_ref.rb +1 -6
- data/lib/metanorma/ieee/biblio.rng +28 -25
- data/lib/metanorma/ieee/validate.rb +5 -3
- data/lib/metanorma/ieee/version.rb +1 -1
- data/metanorma-ieee.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: ab37b771354bffc19e7080b500920d2d06903584f58de70dd5c2f0ba2ad0ed65
|
4
|
+
data.tar.gz: e5d1cb8d760b5ef370bf8902fb22e09fd59423a6957af2f8ebb8cfab28cc875b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 246ea4c06c6ec1086b1d27b75cf1e9a877d804d5328205d6f0701db0a19afffef5cf8a2dc63d749138541cbba28c589acd8e2546ebe6a510360701dacf1acac8
|
7
|
+
data.tar.gz: f0bbae74c7dea1bf820cd1fa1aabd3cac46ea0985814c76d14e81b2ff6762749e3710bab4f75fe504f5a6d61746fc2fd62908bc6dcc90fefff75f0eb2141d8a3
|
@@ -3804,6 +3804,8 @@
|
|
3804
3804
|
<xsl:param name="svg_images"/> <!-- svg images array -->
|
3805
3805
|
<xsl:variable name="images" select="document($svg_images)"/>
|
3806
3806
|
<xsl:param name="basepath"/> <!-- base path for images -->
|
3807
|
+
<xsl:param name="inputxml_basepath"/> <!-- input xml file path -->
|
3808
|
+
<xsl:param name="inputxml_filename"/> <!-- input xml file name -->
|
3807
3809
|
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
3808
3810
|
<xsl:param name="syntax-highlight">false</xsl:param> <!-- syntax highlighting feature, default - off -->
|
3809
3811
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
@@ -3856,6 +3858,20 @@
|
|
3856
3858
|
<xsl:call-template name="getLang"/>
|
3857
3859
|
</xsl:variable>
|
3858
3860
|
|
3861
|
+
<xsl:variable name="inputxml_filename_prefix">
|
3862
|
+
<xsl:choose>
|
3863
|
+
<xsl:when test="contains($inputxml_filename, '.presentation.xml')">
|
3864
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.presentation.xml')"/>
|
3865
|
+
</xsl:when>
|
3866
|
+
<xsl:when test="contains($inputxml_filename, '.xml')">
|
3867
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.xml')"/>
|
3868
|
+
</xsl:when>
|
3869
|
+
<xsl:otherwise>
|
3870
|
+
<xsl:value-of select="$inputxml_filename"/>
|
3871
|
+
</xsl:otherwise>
|
3872
|
+
</xsl:choose>
|
3873
|
+
</xsl:variable>
|
3874
|
+
|
3859
3875
|
<!-- Note 1: Each xslt has declated variable `namespace` that allows to set some properties, processing logic, etc. for concrete xslt.
|
3860
3876
|
You can put such conditions by using xslt construction `xsl:if test="..."` or <xsl:choose><xsl:when test=""></xsl:when><xsl:otherwiste></xsl:otherwiste></xsl:choose>,
|
3861
3877
|
BUT DON'T put any another conditions together with $namespace = '...' (such conditions will be ignored). For another conditions, please use nested xsl:if or xsl:choose -->
|
@@ -4826,6 +4842,10 @@
|
|
4826
4842
|
|
4827
4843
|
</xsl:attribute-set>
|
4828
4844
|
|
4845
|
+
<xsl:template name="refine_figure-block-style">
|
4846
|
+
|
4847
|
+
</xsl:template>
|
4848
|
+
|
4829
4849
|
<xsl:attribute-set name="figure-style">
|
4830
4850
|
|
4831
4851
|
</xsl:attribute-set>
|
@@ -5755,7 +5775,7 @@
|
|
5755
5775
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
|
5756
5776
|
|
5757
5777
|
<xsl:variable name="colwidths">
|
5758
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
5778
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col']) and not(@class = 'dl')">
|
5759
5779
|
<xsl:call-template name="calculate-column-widths">
|
5760
5780
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
5761
5781
|
<xsl:with-param name="table" select="$simple-table"/>
|
@@ -5874,6 +5894,11 @@
|
|
5874
5894
|
<fo:table-column column-width="{@width}"/>
|
5875
5895
|
</xsl:for-each>
|
5876
5896
|
</xsl:when>
|
5897
|
+
<xsl:when test="@class = 'dl'">
|
5898
|
+
<xsl:for-each select=".//*[local-name()='tr'][1]/*">
|
5899
|
+
<fo:table-column column-width="{@width}"/>
|
5900
|
+
</xsl:for-each>
|
5901
|
+
</xsl:when>
|
5877
5902
|
<xsl:otherwise>
|
5878
5903
|
<xsl:call-template name="insertTableColumnWidth">
|
5879
5904
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -7175,6 +7200,7 @@
|
|
7175
7200
|
<!-- ===================== -->
|
7176
7201
|
<!-- Definition List -->
|
7177
7202
|
<!-- ===================== -->
|
7203
|
+
|
7178
7204
|
<xsl:template match="*[local-name()='dl']">
|
7179
7205
|
<xsl:variable name="isAdded" select="@added"/>
|
7180
7206
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -7387,10 +7413,21 @@
|
|
7387
7413
|
</xsl:variable>
|
7388
7414
|
|
7389
7415
|
<xsl:variable name="colwidths">
|
7390
|
-
<xsl:
|
7391
|
-
|
7392
|
-
<xsl:
|
7393
|
-
|
7416
|
+
<xsl:choose>
|
7417
|
+
<!-- dl from table[@class='dl'] -->
|
7418
|
+
<xsl:when test="*[local-name() = 'colgroup']">
|
7419
|
+
<autolayout/>
|
7420
|
+
<xsl:for-each select="*[local-name() = 'colgroup']/*[local-name() = 'col']">
|
7421
|
+
<column><xsl:value-of select="translate(@width,'%m','')"/></column>
|
7422
|
+
</xsl:for-each>
|
7423
|
+
</xsl:when>
|
7424
|
+
<xsl:otherwise>
|
7425
|
+
<xsl:call-template name="calculate-column-widths">
|
7426
|
+
<xsl:with-param name="cols-count" select="2"/>
|
7427
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
7428
|
+
</xsl:call-template>
|
7429
|
+
</xsl:otherwise>
|
7430
|
+
</xsl:choose>
|
7394
7431
|
</xsl:variable>
|
7395
7432
|
|
7396
7433
|
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
@@ -8116,7 +8153,8 @@
|
|
8116
8153
|
</xsl:template>
|
8117
8154
|
|
8118
8155
|
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
8119
|
-
<xsl:variable name="text" select="normalize-space(.)"/>
|
8156
|
+
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
8157
|
+
<xsl:variable name="text" select="."/>
|
8120
8158
|
<fo:inline font-size="75%" role="SKIP">
|
8121
8159
|
<xsl:if test="string-length($text) > 0">
|
8122
8160
|
<xsl:variable name="smallCapsText">
|
@@ -9486,6 +9524,12 @@
|
|
9486
9524
|
<xsl:when test="@updatetype = 'true'">
|
9487
9525
|
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
9488
9526
|
</xsl:when>
|
9527
|
+
<xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
|
9528
|
+
<!-- link to the PDF attachment -->
|
9529
|
+
<xsl:variable name="target_" select="translate(@target, '\', '/')"/>
|
9530
|
+
<xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
|
9531
|
+
<xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
|
9532
|
+
</xsl:when>
|
9489
9533
|
<xsl:otherwise>
|
9490
9534
|
<xsl:value-of select="normalize-space(@target)"/>
|
9491
9535
|
</xsl:otherwise>
|
@@ -9895,6 +9939,7 @@
|
|
9895
9939
|
<xsl:variable name="isAdded" select="@added"/>
|
9896
9940
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
9897
9941
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
9942
|
+
<xsl:call-template name="refine_figure-block-style"/>
|
9898
9943
|
|
9899
9944
|
<xsl:call-template name="setTrackChangesStyles">
|
9900
9945
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -10250,16 +10295,44 @@
|
|
10250
10295
|
</xsl:choose>
|
10251
10296
|
|
10252
10297
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
10253
|
-
<xsl:variable name="
|
10254
|
-
<xsl:variable name="
|
10298
|
+
<xsl:variable name="svg_width_" select="xalan:nodeset($svg_content)/*/@width"/>
|
10299
|
+
<xsl:variable name="svg_width" select="number(translate($svg_width_, 'px', ''))"/>
|
10300
|
+
<xsl:variable name="svg_height_" select="xalan:nodeset($svg_content)/*/@height"/>
|
10301
|
+
<xsl:variable name="svg_height" select="number(translate($svg_height_, 'px', ''))"/>
|
10302
|
+
|
10303
|
+
<!-- Example: -->
|
10255
10304
|
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
10256
10305
|
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
10257
10306
|
<!-- effective height / width = 1.48, 1.4 - with title -->
|
10258
|
-
|
10307
|
+
|
10308
|
+
<xsl:variable name="scale_x">
|
10309
|
+
<xsl:choose>
|
10310
|
+
<xsl:when test="$svg_width > $width_effective_px">
|
10311
|
+
<xsl:value-of select="$width_effective_px div $svg_width"/>
|
10312
|
+
</xsl:when>
|
10313
|
+
<xsl:otherwise>1</xsl:otherwise>
|
10314
|
+
</xsl:choose>
|
10315
|
+
</xsl:variable>
|
10316
|
+
<xsl:variable name="scale_y">
|
10317
|
+
<xsl:choose>
|
10318
|
+
<xsl:when test="$svg_height * $scale_x > $height_effective_px">
|
10319
|
+
<xsl:value-of select="$height_effective_px div ($svg_height * $scale_x)"/>
|
10320
|
+
</xsl:when>
|
10321
|
+
<xsl:otherwise>1</xsl:otherwise>
|
10322
|
+
</xsl:choose>
|
10323
|
+
</xsl:variable>
|
10324
|
+
|
10325
|
+
<!-- for images with big height -->
|
10326
|
+
<!-- <xsl:if test="$svg_height > ($svg_width * 1.4)">
|
10259
10327
|
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
10260
10328
|
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
10261
|
-
</xsl:if>
|
10329
|
+
</xsl:if> -->
|
10262
10330
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
10331
|
+
|
10332
|
+
<xsl:if test="$scale_y != 1">
|
10333
|
+
<xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
|
10334
|
+
</xsl:if>
|
10335
|
+
|
10263
10336
|
<xsl:copy-of select="$svg_content"/>
|
10264
10337
|
</fo:instream-foreign-object>
|
10265
10338
|
<!-- </fo:block> -->
|
@@ -10297,8 +10370,12 @@
|
|
10297
10370
|
<xsl:variable name="width" select="normalize-space($viewbox//item[3])"/>
|
10298
10371
|
<xsl:variable name="height" select="normalize-space($viewbox//item[4])"/>
|
10299
10372
|
|
10373
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[1][local-name() = 'image']/@width)"/>
|
10374
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[1][local-name() = 'image']/@height)"/>
|
10375
|
+
|
10300
10376
|
<xsl:attribute name="width">
|
10301
10377
|
<xsl:choose>
|
10378
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
10302
10379
|
<xsl:when test="$width != ''">
|
10303
10380
|
<xsl:value-of select="round($width)"/>
|
10304
10381
|
</xsl:when>
|
@@ -10307,6 +10384,7 @@
|
|
10307
10384
|
</xsl:attribute>
|
10308
10385
|
<xsl:attribute name="height">
|
10309
10386
|
<xsl:choose>
|
10387
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
10310
10388
|
<xsl:when test="$height != ''">
|
10311
10389
|
<xsl:value-of select="round($height)"/>
|
10312
10390
|
</xsl:when>
|
@@ -10318,6 +10396,28 @@
|
|
10318
10396
|
</xsl:copy>
|
10319
10397
|
</xsl:template>
|
10320
10398
|
|
10399
|
+
<xsl:template match="*[local-name() = 'svg']/@width" mode="svg_update">
|
10400
|
+
<!-- image[@width]/svg -->
|
10401
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[2][local-name() = 'image']/@width)"/>
|
10402
|
+
<xsl:attribute name="width">
|
10403
|
+
<xsl:choose>
|
10404
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
10405
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
10406
|
+
</xsl:choose>
|
10407
|
+
</xsl:attribute>
|
10408
|
+
</xsl:template>
|
10409
|
+
|
10410
|
+
<xsl:template match="*[local-name() = 'svg']/@height" mode="svg_update">
|
10411
|
+
<!-- image[@height]/svg -->
|
10412
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[2][local-name() = 'image']/@height)"/>
|
10413
|
+
<xsl:attribute name="height">
|
10414
|
+
<xsl:choose>
|
10415
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
10416
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
10417
|
+
</xsl:choose>
|
10418
|
+
</xsl:attribute>
|
10419
|
+
</xsl:template>
|
10420
|
+
|
10321
10421
|
<!-- regex for 'display: inline-block;' -->
|
10322
10422
|
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
10323
10423
|
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
@@ -12381,7 +12481,9 @@
|
|
12381
12481
|
</xsl:template> <!-- sections_element_style -->
|
12382
12482
|
|
12383
12483
|
<xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
12384
|
-
|
12484
|
+
|
12485
|
+
<fo:block break-after="page"/>
|
12486
|
+
|
12385
12487
|
<fo:block>
|
12386
12488
|
<xsl:call-template name="setId"/>
|
12387
12489
|
<xsl:apply-templates/>
|
@@ -12448,7 +12550,7 @@
|
|
12448
12550
|
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
12449
12551
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
12450
12552
|
</xsl:when>
|
12451
|
-
<xsl:when test="not(
|
12553
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
12452
12554
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
12453
12555
|
</xsl:when>
|
12454
12556
|
</xsl:choose>
|
@@ -14408,10 +14510,10 @@
|
|
14408
14510
|
|
14409
14511
|
<xsl:template name="addPDFUAmeta">
|
14410
14512
|
<pdf:catalog>
|
14411
|
-
|
14412
|
-
|
14413
|
-
|
14414
|
-
|
14513
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
14514
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
14515
|
+
</pdf:dictionary>
|
14516
|
+
</pdf:catalog>
|
14415
14517
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
14416
14518
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
14417
14519
|
<rdf:Description xmlns:pdf="http://ns.adobe.com/pdf/1.3/" xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about="">
|
@@ -14461,6 +14563,19 @@
|
|
14461
14563
|
</rdf:Description>
|
14462
14564
|
</rdf:RDF>
|
14463
14565
|
</x:xmpmeta>
|
14566
|
+
<!-- add attachments -->
|
14567
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
|
14568
|
+
<xsl:choose>
|
14569
|
+
<xsl:when test="normalize-space() != ''">
|
14570
|
+
<pdf:embedded-file src="{.}" filename="{@name}"/>
|
14571
|
+
</xsl:when>
|
14572
|
+
<xsl:otherwise>
|
14573
|
+
<!-- _{filename}_attachments -->
|
14574
|
+
<xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
|
14575
|
+
<pdf:embedded-file src="{$url}" filename="{@name}"/>
|
14576
|
+
</xsl:otherwise>
|
14577
|
+
</xsl:choose>
|
14578
|
+
</xsl:for-each>
|
14464
14579
|
</xsl:template> <!-- addPDFUAmeta -->
|
14465
14580
|
|
14466
14581
|
<xsl:template name="getId">
|
@@ -3804,6 +3804,8 @@
|
|
3804
3804
|
<xsl:param name="svg_images"/> <!-- svg images array -->
|
3805
3805
|
<xsl:variable name="images" select="document($svg_images)"/>
|
3806
3806
|
<xsl:param name="basepath"/> <!-- base path for images -->
|
3807
|
+
<xsl:param name="inputxml_basepath"/> <!-- input xml file path -->
|
3808
|
+
<xsl:param name="inputxml_filename"/> <!-- input xml file name -->
|
3807
3809
|
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
3808
3810
|
<xsl:param name="syntax-highlight">false</xsl:param> <!-- syntax highlighting feature, default - off -->
|
3809
3811
|
<xsl:param name="add_math_as_text">true</xsl:param> <!-- add math in text behind svg formula, to copy-paste formula from PDF as text -->
|
@@ -3856,6 +3858,20 @@
|
|
3856
3858
|
<xsl:call-template name="getLang"/>
|
3857
3859
|
</xsl:variable>
|
3858
3860
|
|
3861
|
+
<xsl:variable name="inputxml_filename_prefix">
|
3862
|
+
<xsl:choose>
|
3863
|
+
<xsl:when test="contains($inputxml_filename, '.presentation.xml')">
|
3864
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.presentation.xml')"/>
|
3865
|
+
</xsl:when>
|
3866
|
+
<xsl:when test="contains($inputxml_filename, '.xml')">
|
3867
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.xml')"/>
|
3868
|
+
</xsl:when>
|
3869
|
+
<xsl:otherwise>
|
3870
|
+
<xsl:value-of select="$inputxml_filename"/>
|
3871
|
+
</xsl:otherwise>
|
3872
|
+
</xsl:choose>
|
3873
|
+
</xsl:variable>
|
3874
|
+
|
3859
3875
|
<!-- Note 1: Each xslt has declated variable `namespace` that allows to set some properties, processing logic, etc. for concrete xslt.
|
3860
3876
|
You can put such conditions by using xslt construction `xsl:if test="..."` or <xsl:choose><xsl:when test=""></xsl:when><xsl:otherwiste></xsl:otherwiste></xsl:choose>,
|
3861
3877
|
BUT DON'T put any another conditions together with $namespace = '...' (such conditions will be ignored). For another conditions, please use nested xsl:if or xsl:choose -->
|
@@ -4826,6 +4842,10 @@
|
|
4826
4842
|
|
4827
4843
|
</xsl:attribute-set>
|
4828
4844
|
|
4845
|
+
<xsl:template name="refine_figure-block-style">
|
4846
|
+
|
4847
|
+
</xsl:template>
|
4848
|
+
|
4829
4849
|
<xsl:attribute-set name="figure-style">
|
4830
4850
|
|
4831
4851
|
</xsl:attribute-set>
|
@@ -5755,7 +5775,7 @@
|
|
5755
5775
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
|
5756
5776
|
|
5757
5777
|
<xsl:variable name="colwidths">
|
5758
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
5778
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col']) and not(@class = 'dl')">
|
5759
5779
|
<xsl:call-template name="calculate-column-widths">
|
5760
5780
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
5761
5781
|
<xsl:with-param name="table" select="$simple-table"/>
|
@@ -5874,6 +5894,11 @@
|
|
5874
5894
|
<fo:table-column column-width="{@width}"/>
|
5875
5895
|
</xsl:for-each>
|
5876
5896
|
</xsl:when>
|
5897
|
+
<xsl:when test="@class = 'dl'">
|
5898
|
+
<xsl:for-each select=".//*[local-name()='tr'][1]/*">
|
5899
|
+
<fo:table-column column-width="{@width}"/>
|
5900
|
+
</xsl:for-each>
|
5901
|
+
</xsl:when>
|
5877
5902
|
<xsl:otherwise>
|
5878
5903
|
<xsl:call-template name="insertTableColumnWidth">
|
5879
5904
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -7175,6 +7200,7 @@
|
|
7175
7200
|
<!-- ===================== -->
|
7176
7201
|
<!-- Definition List -->
|
7177
7202
|
<!-- ===================== -->
|
7203
|
+
|
7178
7204
|
<xsl:template match="*[local-name()='dl']">
|
7179
7205
|
<xsl:variable name="isAdded" select="@added"/>
|
7180
7206
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -7387,10 +7413,21 @@
|
|
7387
7413
|
</xsl:variable>
|
7388
7414
|
|
7389
7415
|
<xsl:variable name="colwidths">
|
7390
|
-
<xsl:
|
7391
|
-
|
7392
|
-
<xsl:
|
7393
|
-
|
7416
|
+
<xsl:choose>
|
7417
|
+
<!-- dl from table[@class='dl'] -->
|
7418
|
+
<xsl:when test="*[local-name() = 'colgroup']">
|
7419
|
+
<autolayout/>
|
7420
|
+
<xsl:for-each select="*[local-name() = 'colgroup']/*[local-name() = 'col']">
|
7421
|
+
<column><xsl:value-of select="translate(@width,'%m','')"/></column>
|
7422
|
+
</xsl:for-each>
|
7423
|
+
</xsl:when>
|
7424
|
+
<xsl:otherwise>
|
7425
|
+
<xsl:call-template name="calculate-column-widths">
|
7426
|
+
<xsl:with-param name="cols-count" select="2"/>
|
7427
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
7428
|
+
</xsl:call-template>
|
7429
|
+
</xsl:otherwise>
|
7430
|
+
</xsl:choose>
|
7394
7431
|
</xsl:variable>
|
7395
7432
|
|
7396
7433
|
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
@@ -8116,7 +8153,8 @@
|
|
8116
8153
|
</xsl:template>
|
8117
8154
|
|
8118
8155
|
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
8119
|
-
<xsl:variable name="text" select="normalize-space(.)"/>
|
8156
|
+
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
8157
|
+
<xsl:variable name="text" select="."/>
|
8120
8158
|
<fo:inline font-size="75%" role="SKIP">
|
8121
8159
|
<xsl:if test="string-length($text) > 0">
|
8122
8160
|
<xsl:variable name="smallCapsText">
|
@@ -9486,6 +9524,12 @@
|
|
9486
9524
|
<xsl:when test="@updatetype = 'true'">
|
9487
9525
|
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
9488
9526
|
</xsl:when>
|
9527
|
+
<xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
|
9528
|
+
<!-- link to the PDF attachment -->
|
9529
|
+
<xsl:variable name="target_" select="translate(@target, '\', '/')"/>
|
9530
|
+
<xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
|
9531
|
+
<xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
|
9532
|
+
</xsl:when>
|
9489
9533
|
<xsl:otherwise>
|
9490
9534
|
<xsl:value-of select="normalize-space(@target)"/>
|
9491
9535
|
</xsl:otherwise>
|
@@ -9895,6 +9939,7 @@
|
|
9895
9939
|
<xsl:variable name="isAdded" select="@added"/>
|
9896
9940
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
9897
9941
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
9942
|
+
<xsl:call-template name="refine_figure-block-style"/>
|
9898
9943
|
|
9899
9944
|
<xsl:call-template name="setTrackChangesStyles">
|
9900
9945
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -10250,16 +10295,44 @@
|
|
10250
10295
|
</xsl:choose>
|
10251
10296
|
|
10252
10297
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
10253
|
-
<xsl:variable name="
|
10254
|
-
<xsl:variable name="
|
10298
|
+
<xsl:variable name="svg_width_" select="xalan:nodeset($svg_content)/*/@width"/>
|
10299
|
+
<xsl:variable name="svg_width" select="number(translate($svg_width_, 'px', ''))"/>
|
10300
|
+
<xsl:variable name="svg_height_" select="xalan:nodeset($svg_content)/*/@height"/>
|
10301
|
+
<xsl:variable name="svg_height" select="number(translate($svg_height_, 'px', ''))"/>
|
10302
|
+
|
10303
|
+
<!-- Example: -->
|
10255
10304
|
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
10256
10305
|
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
10257
10306
|
<!-- effective height / width = 1.48, 1.4 - with title -->
|
10258
|
-
|
10307
|
+
|
10308
|
+
<xsl:variable name="scale_x">
|
10309
|
+
<xsl:choose>
|
10310
|
+
<xsl:when test="$svg_width > $width_effective_px">
|
10311
|
+
<xsl:value-of select="$width_effective_px div $svg_width"/>
|
10312
|
+
</xsl:when>
|
10313
|
+
<xsl:otherwise>1</xsl:otherwise>
|
10314
|
+
</xsl:choose>
|
10315
|
+
</xsl:variable>
|
10316
|
+
<xsl:variable name="scale_y">
|
10317
|
+
<xsl:choose>
|
10318
|
+
<xsl:when test="$svg_height * $scale_x > $height_effective_px">
|
10319
|
+
<xsl:value-of select="$height_effective_px div ($svg_height * $scale_x)"/>
|
10320
|
+
</xsl:when>
|
10321
|
+
<xsl:otherwise>1</xsl:otherwise>
|
10322
|
+
</xsl:choose>
|
10323
|
+
</xsl:variable>
|
10324
|
+
|
10325
|
+
<!-- for images with big height -->
|
10326
|
+
<!-- <xsl:if test="$svg_height > ($svg_width * 1.4)">
|
10259
10327
|
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
10260
10328
|
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
10261
|
-
</xsl:if>
|
10329
|
+
</xsl:if> -->
|
10262
10330
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
10331
|
+
|
10332
|
+
<xsl:if test="$scale_y != 1">
|
10333
|
+
<xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
|
10334
|
+
</xsl:if>
|
10335
|
+
|
10263
10336
|
<xsl:copy-of select="$svg_content"/>
|
10264
10337
|
</fo:instream-foreign-object>
|
10265
10338
|
<!-- </fo:block> -->
|
@@ -10297,8 +10370,12 @@
|
|
10297
10370
|
<xsl:variable name="width" select="normalize-space($viewbox//item[3])"/>
|
10298
10371
|
<xsl:variable name="height" select="normalize-space($viewbox//item[4])"/>
|
10299
10372
|
|
10373
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[1][local-name() = 'image']/@width)"/>
|
10374
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[1][local-name() = 'image']/@height)"/>
|
10375
|
+
|
10300
10376
|
<xsl:attribute name="width">
|
10301
10377
|
<xsl:choose>
|
10378
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
10302
10379
|
<xsl:when test="$width != ''">
|
10303
10380
|
<xsl:value-of select="round($width)"/>
|
10304
10381
|
</xsl:when>
|
@@ -10307,6 +10384,7 @@
|
|
10307
10384
|
</xsl:attribute>
|
10308
10385
|
<xsl:attribute name="height">
|
10309
10386
|
<xsl:choose>
|
10387
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
10310
10388
|
<xsl:when test="$height != ''">
|
10311
10389
|
<xsl:value-of select="round($height)"/>
|
10312
10390
|
</xsl:when>
|
@@ -10318,6 +10396,28 @@
|
|
10318
10396
|
</xsl:copy>
|
10319
10397
|
</xsl:template>
|
10320
10398
|
|
10399
|
+
<xsl:template match="*[local-name() = 'svg']/@width" mode="svg_update">
|
10400
|
+
<!-- image[@width]/svg -->
|
10401
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[2][local-name() = 'image']/@width)"/>
|
10402
|
+
<xsl:attribute name="width">
|
10403
|
+
<xsl:choose>
|
10404
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
10405
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
10406
|
+
</xsl:choose>
|
10407
|
+
</xsl:attribute>
|
10408
|
+
</xsl:template>
|
10409
|
+
|
10410
|
+
<xsl:template match="*[local-name() = 'svg']/@height" mode="svg_update">
|
10411
|
+
<!-- image[@height]/svg -->
|
10412
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[2][local-name() = 'image']/@height)"/>
|
10413
|
+
<xsl:attribute name="height">
|
10414
|
+
<xsl:choose>
|
10415
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
10416
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
10417
|
+
</xsl:choose>
|
10418
|
+
</xsl:attribute>
|
10419
|
+
</xsl:template>
|
10420
|
+
|
10321
10421
|
<!-- regex for 'display: inline-block;' -->
|
10322
10422
|
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
10323
10423
|
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
@@ -12381,7 +12481,9 @@
|
|
12381
12481
|
</xsl:template> <!-- sections_element_style -->
|
12382
12482
|
|
12383
12483
|
<xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
12384
|
-
|
12484
|
+
|
12485
|
+
<fo:block break-after="page"/>
|
12486
|
+
|
12385
12487
|
<fo:block>
|
12386
12488
|
<xsl:call-template name="setId"/>
|
12387
12489
|
<xsl:apply-templates/>
|
@@ -12448,7 +12550,7 @@
|
|
12448
12550
|
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
12449
12551
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
12450
12552
|
</xsl:when>
|
12451
|
-
<xsl:when test="not(
|
12553
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
12452
12554
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
12453
12555
|
</xsl:when>
|
12454
12556
|
</xsl:choose>
|
@@ -14408,10 +14510,10 @@
|
|
14408
14510
|
|
14409
14511
|
<xsl:template name="addPDFUAmeta">
|
14410
14512
|
<pdf:catalog>
|
14411
|
-
|
14412
|
-
|
14413
|
-
|
14414
|
-
|
14513
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
14514
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
14515
|
+
</pdf:dictionary>
|
14516
|
+
</pdf:catalog>
|
14415
14517
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
14416
14518
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
14417
14519
|
<rdf:Description xmlns:pdf="http://ns.adobe.com/pdf/1.3/" xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about="">
|
@@ -14461,6 +14563,19 @@
|
|
14461
14563
|
</rdf:Description>
|
14462
14564
|
</rdf:RDF>
|
14463
14565
|
</x:xmpmeta>
|
14566
|
+
<!-- add attachments -->
|
14567
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
|
14568
|
+
<xsl:choose>
|
14569
|
+
<xsl:when test="normalize-space() != ''">
|
14570
|
+
<pdf:embedded-file src="{.}" filename="{@name}"/>
|
14571
|
+
</xsl:when>
|
14572
|
+
<xsl:otherwise>
|
14573
|
+
<!-- _{filename}_attachments -->
|
14574
|
+
<xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
|
14575
|
+
<pdf:embedded-file src="{$url}" filename="{@name}"/>
|
14576
|
+
</xsl:otherwise>
|
14577
|
+
</xsl:choose>
|
14578
|
+
</xsl:for-each>
|
14464
14579
|
</xsl:template> <!-- addPDFUAmeta -->
|
14465
14580
|
|
14466
14581
|
<xsl:template name="getId">
|
data/lib/isodoc/ieee/init.rb
CHANGED
@@ -34,11 +34,6 @@ module IsoDoc
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
def bibrenderer
|
38
|
-
::Relaton::Render::IEEE::General.new(language: @lang,
|
39
|
-
i18nhash: @i18n.get)
|
40
|
-
end
|
41
|
-
|
42
37
|
def citestyle
|
43
38
|
"author-date"
|
44
39
|
end
|
@@ -62,7 +57,7 @@ module IsoDoc
|
|
62
57
|
.new(language: @lang, i18nhash: @i18n.get,
|
63
58
|
template: { (bibitem["type"] || "misc").to_sym =>
|
64
59
|
"{{ creatornames }}" })
|
65
|
-
.
|
60
|
+
.render1(RelatonBib::XMLParser.from_xml(bibitem.to_xml))
|
66
61
|
end
|
67
62
|
|
68
63
|
def bibliography_bibitem_number1(bibitem, idx)
|
@@ -338,29 +338,32 @@
|
|
338
338
|
</define>
|
339
339
|
<define name="organization">
|
340
340
|
<element name="organization">
|
341
|
-
<
|
342
|
-
<ref name="orgname"/>
|
343
|
-
</oneOrMore>
|
344
|
-
<zeroOrMore>
|
345
|
-
<ref name="subdivision"/>
|
346
|
-
</zeroOrMore>
|
347
|
-
<optional>
|
348
|
-
<ref name="abbreviation"/>
|
349
|
-
</optional>
|
350
|
-
<zeroOrMore>
|
351
|
-
<ref name="uri"/>
|
352
|
-
</zeroOrMore>
|
353
|
-
<zeroOrMore>
|
354
|
-
<ref name="org-identifier"/>
|
355
|
-
</zeroOrMore>
|
356
|
-
<zeroOrMore>
|
357
|
-
<ref name="contact"/>
|
358
|
-
</zeroOrMore>
|
359
|
-
<optional>
|
360
|
-
<ref name="logo"/>
|
361
|
-
</optional>
|
341
|
+
<ref name="OrganizationType"/>
|
362
342
|
</element>
|
363
343
|
</define>
|
344
|
+
<define name="OrganizationType">
|
345
|
+
<oneOrMore>
|
346
|
+
<ref name="orgname"/>
|
347
|
+
</oneOrMore>
|
348
|
+
<zeroOrMore>
|
349
|
+
<ref name="subdivision"/>
|
350
|
+
</zeroOrMore>
|
351
|
+
<optional>
|
352
|
+
<ref name="abbreviation"/>
|
353
|
+
</optional>
|
354
|
+
<zeroOrMore>
|
355
|
+
<ref name="uri"/>
|
356
|
+
</zeroOrMore>
|
357
|
+
<zeroOrMore>
|
358
|
+
<ref name="org-identifier"/>
|
359
|
+
</zeroOrMore>
|
360
|
+
<zeroOrMore>
|
361
|
+
<ref name="contact"/>
|
362
|
+
</zeroOrMore>
|
363
|
+
<optional>
|
364
|
+
<ref name="logo"/>
|
365
|
+
</optional>
|
366
|
+
</define>
|
364
367
|
<define name="orgname">
|
365
368
|
<element name="name">
|
366
369
|
<choice>
|
@@ -371,10 +374,10 @@
|
|
371
374
|
</define>
|
372
375
|
<define name="subdivision">
|
373
376
|
<element name="subdivision">
|
374
|
-
<
|
375
|
-
<
|
376
|
-
|
377
|
-
|
377
|
+
<optional>
|
378
|
+
<attribute name="type"/>
|
379
|
+
</optional>
|
380
|
+
<ref name="OrganizationType"/>
|
378
381
|
</element>
|
379
382
|
</define>
|
380
383
|
<define name="logo">
|
@@ -131,7 +131,9 @@ module Metanorma
|
|
131
131
|
xrefs = IsoDoc::IEEE::Xref
|
132
132
|
.new(@lang, @script, klass, IsoDoc::IEEE::I18n.new(@lang, @script),
|
133
133
|
{ hierarchicalassets: @hierarchical_assets })
|
134
|
-
|
134
|
+
# don't process refs without relaton-render init
|
135
|
+
xrefs.parse_inclusions(clauses: true, assets: true)
|
136
|
+
.parse(Nokogiri::XML(xmldoc.to_xml))
|
135
137
|
xrefs
|
136
138
|
end
|
137
139
|
|
@@ -160,8 +162,8 @@ module Metanorma
|
|
160
162
|
# Style manual 17.2
|
161
163
|
def figure_name_style_validate(docxml)
|
162
164
|
docxml.xpath("//figure/name").each do |td|
|
163
|
-
style_regex(/^(?<num>\p{Lower}\s*)/,
|
164
|
-
td, td.text)
|
165
|
+
style_regex(/^(?<num>\p{Lower}\s*)/,
|
166
|
+
"figure heading should be capitalised", td, td.text)
|
165
167
|
end
|
166
168
|
end
|
167
169
|
|
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.8.
|
28
|
+
spec.add_dependency "metanorma-standoc", "~> 2.8.4"
|
29
29
|
spec.add_dependency "mnconvert", "~> 1.20"
|
30
30
|
spec.add_dependency "pubid-ieee"
|
31
31
|
#spec.add_dependency "pubid-iso", "~> 0.5.3"
|
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: 1.2.
|
4
|
+
version: 1.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-10 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.8.
|
19
|
+
version: 2.8.4
|
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.8.
|
26
|
+
version: 2.8.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: mnconvert
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|