metanorma-un 0.12.3 → 0.12.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/un/un.plenary-attachment.xsl +131 -16
- data/lib/isodoc/un/un.plenary.xsl +131 -16
- data/lib/isodoc/un/un.recommendation.xsl +131 -16
- data/lib/metanorma/un/biblio.rng +28 -25
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-un.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ea1d0a3c64d0112d31b61f1ea0bccf373a6b56140c824dba7fa8013d30c50c9
|
4
|
+
data.tar.gz: bba26136fc35c6f240f631bf70996c1e36b510ad555421e3c07a1221821680c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb9884d76badbeb5d8f61e60dbe379ec1c1580fb1758ec2649ed36c6cbd8760b7533536dd129c53f9d9c6aa27c101c90dbd70d5c248070ad81eb994721aea4dc
|
7
|
+
data.tar.gz: c98cfb6f6fe725362740900f1dbabe87b8d88197db2740559f31ed1d47c2fca79a0853749195a8e48a89a9540b215d7cf0f9e3b628f02e01b66592b89b165abe
|
@@ -738,6 +738,8 @@
|
|
738
738
|
<xsl:param name="svg_images"/> <!-- svg images array -->
|
739
739
|
<xsl:variable name="images" select="document($svg_images)"/>
|
740
740
|
<xsl:param name="basepath"/> <!-- base path for images -->
|
741
|
+
<xsl:param name="inputxml_basepath"/> <!-- input xml file path -->
|
742
|
+
<xsl:param name="inputxml_filename"/> <!-- input xml file name -->
|
741
743
|
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
742
744
|
<xsl:param name="syntax-highlight">false</xsl:param> <!-- syntax highlighting feature, default - off -->
|
743
745
|
<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 -->
|
@@ -790,6 +792,20 @@
|
|
790
792
|
<xsl:call-template name="getLang"/>
|
791
793
|
</xsl:variable>
|
792
794
|
|
795
|
+
<xsl:variable name="inputxml_filename_prefix">
|
796
|
+
<xsl:choose>
|
797
|
+
<xsl:when test="contains($inputxml_filename, '.presentation.xml')">
|
798
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.presentation.xml')"/>
|
799
|
+
</xsl:when>
|
800
|
+
<xsl:when test="contains($inputxml_filename, '.xml')">
|
801
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.xml')"/>
|
802
|
+
</xsl:when>
|
803
|
+
<xsl:otherwise>
|
804
|
+
<xsl:value-of select="$inputxml_filename"/>
|
805
|
+
</xsl:otherwise>
|
806
|
+
</xsl:choose>
|
807
|
+
</xsl:variable>
|
808
|
+
|
793
809
|
<!-- Note 1: Each xslt has declated variable `namespace` that allows to set some properties, processing logic, etc. for concrete xslt.
|
794
810
|
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>,
|
795
811
|
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 -->
|
@@ -1696,6 +1712,10 @@
|
|
1696
1712
|
|
1697
1713
|
</xsl:attribute-set>
|
1698
1714
|
|
1715
|
+
<xsl:template name="refine_figure-block-style">
|
1716
|
+
|
1717
|
+
</xsl:template>
|
1718
|
+
|
1699
1719
|
<xsl:attribute-set name="figure-style">
|
1700
1720
|
|
1701
1721
|
</xsl:attribute-set>
|
@@ -2606,7 +2626,7 @@
|
|
2606
2626
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
|
2607
2627
|
|
2608
2628
|
<xsl:variable name="colwidths">
|
2609
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2629
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col']) and not(@class = 'dl')">
|
2610
2630
|
<xsl:call-template name="calculate-column-widths">
|
2611
2631
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2612
2632
|
<xsl:with-param name="table" select="$simple-table"/>
|
@@ -2724,6 +2744,11 @@
|
|
2724
2744
|
<fo:table-column column-width="{@width}"/>
|
2725
2745
|
</xsl:for-each>
|
2726
2746
|
</xsl:when>
|
2747
|
+
<xsl:when test="@class = 'dl'">
|
2748
|
+
<xsl:for-each select=".//*[local-name()='tr'][1]/*">
|
2749
|
+
<fo:table-column column-width="{@width}"/>
|
2750
|
+
</xsl:for-each>
|
2751
|
+
</xsl:when>
|
2727
2752
|
<xsl:otherwise>
|
2728
2753
|
<xsl:call-template name="insertTableColumnWidth">
|
2729
2754
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -4000,6 +4025,7 @@
|
|
4000
4025
|
<!-- ===================== -->
|
4001
4026
|
<!-- Definition List -->
|
4002
4027
|
<!-- ===================== -->
|
4028
|
+
|
4003
4029
|
<xsl:template match="*[local-name()='dl']">
|
4004
4030
|
<xsl:variable name="isAdded" select="@added"/>
|
4005
4031
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -4212,10 +4238,21 @@
|
|
4212
4238
|
</xsl:variable>
|
4213
4239
|
|
4214
4240
|
<xsl:variable name="colwidths">
|
4215
|
-
<xsl:
|
4216
|
-
|
4217
|
-
<xsl:
|
4218
|
-
|
4241
|
+
<xsl:choose>
|
4242
|
+
<!-- dl from table[@class='dl'] -->
|
4243
|
+
<xsl:when test="*[local-name() = 'colgroup']">
|
4244
|
+
<autolayout/>
|
4245
|
+
<xsl:for-each select="*[local-name() = 'colgroup']/*[local-name() = 'col']">
|
4246
|
+
<column><xsl:value-of select="translate(@width,'%m','')"/></column>
|
4247
|
+
</xsl:for-each>
|
4248
|
+
</xsl:when>
|
4249
|
+
<xsl:otherwise>
|
4250
|
+
<xsl:call-template name="calculate-column-widths">
|
4251
|
+
<xsl:with-param name="cols-count" select="2"/>
|
4252
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
4253
|
+
</xsl:call-template>
|
4254
|
+
</xsl:otherwise>
|
4255
|
+
</xsl:choose>
|
4219
4256
|
</xsl:variable>
|
4220
4257
|
|
4221
4258
|
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
@@ -4941,7 +4978,8 @@
|
|
4941
4978
|
</xsl:template>
|
4942
4979
|
|
4943
4980
|
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
4944
|
-
<xsl:variable name="text" select="normalize-space(.)"/>
|
4981
|
+
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
4982
|
+
<xsl:variable name="text" select="."/>
|
4945
4983
|
<fo:inline font-size="75%" role="SKIP">
|
4946
4984
|
<xsl:if test="string-length($text) > 0">
|
4947
4985
|
<xsl:variable name="smallCapsText">
|
@@ -6309,6 +6347,12 @@
|
|
6309
6347
|
<xsl:when test="@updatetype = 'true'">
|
6310
6348
|
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
6311
6349
|
</xsl:when>
|
6350
|
+
<xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
|
6351
|
+
<!-- link to the PDF attachment -->
|
6352
|
+
<xsl:variable name="target_" select="translate(@target, '\', '/')"/>
|
6353
|
+
<xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
|
6354
|
+
<xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
|
6355
|
+
</xsl:when>
|
6312
6356
|
<xsl:otherwise>
|
6313
6357
|
<xsl:value-of select="normalize-space(@target)"/>
|
6314
6358
|
</xsl:otherwise>
|
@@ -6727,6 +6771,7 @@
|
|
6727
6771
|
<xsl:variable name="isAdded" select="@added"/>
|
6728
6772
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
6729
6773
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
6774
|
+
<xsl:call-template name="refine_figure-block-style"/>
|
6730
6775
|
|
6731
6776
|
<xsl:call-template name="setTrackChangesStyles">
|
6732
6777
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -7082,16 +7127,44 @@
|
|
7082
7127
|
</xsl:choose>
|
7083
7128
|
|
7084
7129
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
7085
|
-
<xsl:variable name="
|
7086
|
-
<xsl:variable name="
|
7130
|
+
<xsl:variable name="svg_width_" select="xalan:nodeset($svg_content)/*/@width"/>
|
7131
|
+
<xsl:variable name="svg_width" select="number(translate($svg_width_, 'px', ''))"/>
|
7132
|
+
<xsl:variable name="svg_height_" select="xalan:nodeset($svg_content)/*/@height"/>
|
7133
|
+
<xsl:variable name="svg_height" select="number(translate($svg_height_, 'px', ''))"/>
|
7134
|
+
|
7135
|
+
<!-- Example: -->
|
7087
7136
|
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
7088
7137
|
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
7089
7138
|
<!-- effective height / width = 1.48, 1.4 - with title -->
|
7090
|
-
|
7139
|
+
|
7140
|
+
<xsl:variable name="scale_x">
|
7141
|
+
<xsl:choose>
|
7142
|
+
<xsl:when test="$svg_width > $width_effective_px">
|
7143
|
+
<xsl:value-of select="$width_effective_px div $svg_width"/>
|
7144
|
+
</xsl:when>
|
7145
|
+
<xsl:otherwise>1</xsl:otherwise>
|
7146
|
+
</xsl:choose>
|
7147
|
+
</xsl:variable>
|
7148
|
+
<xsl:variable name="scale_y">
|
7149
|
+
<xsl:choose>
|
7150
|
+
<xsl:when test="$svg_height * $scale_x > $height_effective_px">
|
7151
|
+
<xsl:value-of select="$height_effective_px div ($svg_height * $scale_x)"/>
|
7152
|
+
</xsl:when>
|
7153
|
+
<xsl:otherwise>1</xsl:otherwise>
|
7154
|
+
</xsl:choose>
|
7155
|
+
</xsl:variable>
|
7156
|
+
|
7157
|
+
<!-- for images with big height -->
|
7158
|
+
<!-- <xsl:if test="$svg_height > ($svg_width * 1.4)">
|
7091
7159
|
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
7092
7160
|
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
7093
|
-
</xsl:if>
|
7161
|
+
</xsl:if> -->
|
7094
7162
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
7163
|
+
|
7164
|
+
<xsl:if test="$scale_y != 1">
|
7165
|
+
<xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
|
7166
|
+
</xsl:if>
|
7167
|
+
|
7095
7168
|
<xsl:copy-of select="$svg_content"/>
|
7096
7169
|
</fo:instream-foreign-object>
|
7097
7170
|
<!-- </fo:block> -->
|
@@ -7129,8 +7202,12 @@
|
|
7129
7202
|
<xsl:variable name="width" select="normalize-space($viewbox//item[3])"/>
|
7130
7203
|
<xsl:variable name="height" select="normalize-space($viewbox//item[4])"/>
|
7131
7204
|
|
7205
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[1][local-name() = 'image']/@width)"/>
|
7206
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[1][local-name() = 'image']/@height)"/>
|
7207
|
+
|
7132
7208
|
<xsl:attribute name="width">
|
7133
7209
|
<xsl:choose>
|
7210
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
7134
7211
|
<xsl:when test="$width != ''">
|
7135
7212
|
<xsl:value-of select="round($width)"/>
|
7136
7213
|
</xsl:when>
|
@@ -7139,6 +7216,7 @@
|
|
7139
7216
|
</xsl:attribute>
|
7140
7217
|
<xsl:attribute name="height">
|
7141
7218
|
<xsl:choose>
|
7219
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
7142
7220
|
<xsl:when test="$height != ''">
|
7143
7221
|
<xsl:value-of select="round($height)"/>
|
7144
7222
|
</xsl:when>
|
@@ -7150,6 +7228,28 @@
|
|
7150
7228
|
</xsl:copy>
|
7151
7229
|
</xsl:template>
|
7152
7230
|
|
7231
|
+
<xsl:template match="*[local-name() = 'svg']/@width" mode="svg_update">
|
7232
|
+
<!-- image[@width]/svg -->
|
7233
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[2][local-name() = 'image']/@width)"/>
|
7234
|
+
<xsl:attribute name="width">
|
7235
|
+
<xsl:choose>
|
7236
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
7237
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
7238
|
+
</xsl:choose>
|
7239
|
+
</xsl:attribute>
|
7240
|
+
</xsl:template>
|
7241
|
+
|
7242
|
+
<xsl:template match="*[local-name() = 'svg']/@height" mode="svg_update">
|
7243
|
+
<!-- image[@height]/svg -->
|
7244
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[2][local-name() = 'image']/@height)"/>
|
7245
|
+
<xsl:attribute name="height">
|
7246
|
+
<xsl:choose>
|
7247
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
7248
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
7249
|
+
</xsl:choose>
|
7250
|
+
</xsl:attribute>
|
7251
|
+
</xsl:template>
|
7252
|
+
|
7153
7253
|
<!-- regex for 'display: inline-block;' -->
|
7154
7254
|
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
7155
7255
|
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
@@ -9219,7 +9319,9 @@
|
|
9219
9319
|
</xsl:template> <!-- sections_element_style -->
|
9220
9320
|
|
9221
9321
|
<xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
9222
|
-
|
9322
|
+
|
9323
|
+
<fo:block break-after="page"/>
|
9324
|
+
|
9223
9325
|
<fo:block>
|
9224
9326
|
<xsl:call-template name="setId"/>
|
9225
9327
|
<xsl:apply-templates/>
|
@@ -9291,7 +9393,7 @@
|
|
9291
9393
|
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
9292
9394
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9293
9395
|
</xsl:when>
|
9294
|
-
<xsl:when test="not(
|
9396
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
9295
9397
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9296
9398
|
</xsl:when>
|
9297
9399
|
</xsl:choose>
|
@@ -11074,10 +11176,10 @@
|
|
11074
11176
|
|
11075
11177
|
<xsl:template name="addPDFUAmeta">
|
11076
11178
|
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
11077
|
-
|
11078
|
-
|
11079
|
-
|
11080
|
-
|
11179
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
11180
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
11181
|
+
</pdf:dictionary>
|
11182
|
+
</pdf:catalog>
|
11081
11183
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
11082
11184
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
11083
11185
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
@@ -11129,6 +11231,19 @@
|
|
11129
11231
|
</rdf:Description>
|
11130
11232
|
</rdf:RDF>
|
11131
11233
|
</x:xmpmeta>
|
11234
|
+
<!-- add attachments -->
|
11235
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
|
11236
|
+
<xsl:choose>
|
11237
|
+
<xsl:when test="normalize-space() != ''">
|
11238
|
+
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{.}" filename="{@name}"/>
|
11239
|
+
</xsl:when>
|
11240
|
+
<xsl:otherwise>
|
11241
|
+
<!-- _{filename}_attachments -->
|
11242
|
+
<xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
|
11243
|
+
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{@name}"/>
|
11244
|
+
</xsl:otherwise>
|
11245
|
+
</xsl:choose>
|
11246
|
+
</xsl:for-each>
|
11132
11247
|
</xsl:template> <!-- addPDFUAmeta -->
|
11133
11248
|
|
11134
11249
|
<xsl:template name="getId">
|
@@ -738,6 +738,8 @@
|
|
738
738
|
<xsl:param name="svg_images"/> <!-- svg images array -->
|
739
739
|
<xsl:variable name="images" select="document($svg_images)"/>
|
740
740
|
<xsl:param name="basepath"/> <!-- base path for images -->
|
741
|
+
<xsl:param name="inputxml_basepath"/> <!-- input xml file path -->
|
742
|
+
<xsl:param name="inputxml_filename"/> <!-- input xml file name -->
|
741
743
|
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
742
744
|
<xsl:param name="syntax-highlight">false</xsl:param> <!-- syntax highlighting feature, default - off -->
|
743
745
|
<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 -->
|
@@ -790,6 +792,20 @@
|
|
790
792
|
<xsl:call-template name="getLang"/>
|
791
793
|
</xsl:variable>
|
792
794
|
|
795
|
+
<xsl:variable name="inputxml_filename_prefix">
|
796
|
+
<xsl:choose>
|
797
|
+
<xsl:when test="contains($inputxml_filename, '.presentation.xml')">
|
798
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.presentation.xml')"/>
|
799
|
+
</xsl:when>
|
800
|
+
<xsl:when test="contains($inputxml_filename, '.xml')">
|
801
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.xml')"/>
|
802
|
+
</xsl:when>
|
803
|
+
<xsl:otherwise>
|
804
|
+
<xsl:value-of select="$inputxml_filename"/>
|
805
|
+
</xsl:otherwise>
|
806
|
+
</xsl:choose>
|
807
|
+
</xsl:variable>
|
808
|
+
|
793
809
|
<!-- Note 1: Each xslt has declated variable `namespace` that allows to set some properties, processing logic, etc. for concrete xslt.
|
794
810
|
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>,
|
795
811
|
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 -->
|
@@ -1696,6 +1712,10 @@
|
|
1696
1712
|
|
1697
1713
|
</xsl:attribute-set>
|
1698
1714
|
|
1715
|
+
<xsl:template name="refine_figure-block-style">
|
1716
|
+
|
1717
|
+
</xsl:template>
|
1718
|
+
|
1699
1719
|
<xsl:attribute-set name="figure-style">
|
1700
1720
|
|
1701
1721
|
</xsl:attribute-set>
|
@@ -2606,7 +2626,7 @@
|
|
2606
2626
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
|
2607
2627
|
|
2608
2628
|
<xsl:variable name="colwidths">
|
2609
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2629
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col']) and not(@class = 'dl')">
|
2610
2630
|
<xsl:call-template name="calculate-column-widths">
|
2611
2631
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2612
2632
|
<xsl:with-param name="table" select="$simple-table"/>
|
@@ -2724,6 +2744,11 @@
|
|
2724
2744
|
<fo:table-column column-width="{@width}"/>
|
2725
2745
|
</xsl:for-each>
|
2726
2746
|
</xsl:when>
|
2747
|
+
<xsl:when test="@class = 'dl'">
|
2748
|
+
<xsl:for-each select=".//*[local-name()='tr'][1]/*">
|
2749
|
+
<fo:table-column column-width="{@width}"/>
|
2750
|
+
</xsl:for-each>
|
2751
|
+
</xsl:when>
|
2727
2752
|
<xsl:otherwise>
|
2728
2753
|
<xsl:call-template name="insertTableColumnWidth">
|
2729
2754
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -4000,6 +4025,7 @@
|
|
4000
4025
|
<!-- ===================== -->
|
4001
4026
|
<!-- Definition List -->
|
4002
4027
|
<!-- ===================== -->
|
4028
|
+
|
4003
4029
|
<xsl:template match="*[local-name()='dl']">
|
4004
4030
|
<xsl:variable name="isAdded" select="@added"/>
|
4005
4031
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -4212,10 +4238,21 @@
|
|
4212
4238
|
</xsl:variable>
|
4213
4239
|
|
4214
4240
|
<xsl:variable name="colwidths">
|
4215
|
-
<xsl:
|
4216
|
-
|
4217
|
-
<xsl:
|
4218
|
-
|
4241
|
+
<xsl:choose>
|
4242
|
+
<!-- dl from table[@class='dl'] -->
|
4243
|
+
<xsl:when test="*[local-name() = 'colgroup']">
|
4244
|
+
<autolayout/>
|
4245
|
+
<xsl:for-each select="*[local-name() = 'colgroup']/*[local-name() = 'col']">
|
4246
|
+
<column><xsl:value-of select="translate(@width,'%m','')"/></column>
|
4247
|
+
</xsl:for-each>
|
4248
|
+
</xsl:when>
|
4249
|
+
<xsl:otherwise>
|
4250
|
+
<xsl:call-template name="calculate-column-widths">
|
4251
|
+
<xsl:with-param name="cols-count" select="2"/>
|
4252
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
4253
|
+
</xsl:call-template>
|
4254
|
+
</xsl:otherwise>
|
4255
|
+
</xsl:choose>
|
4219
4256
|
</xsl:variable>
|
4220
4257
|
|
4221
4258
|
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
@@ -4941,7 +4978,8 @@
|
|
4941
4978
|
</xsl:template>
|
4942
4979
|
|
4943
4980
|
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
4944
|
-
<xsl:variable name="text" select="normalize-space(.)"/>
|
4981
|
+
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
4982
|
+
<xsl:variable name="text" select="."/>
|
4945
4983
|
<fo:inline font-size="75%" role="SKIP">
|
4946
4984
|
<xsl:if test="string-length($text) > 0">
|
4947
4985
|
<xsl:variable name="smallCapsText">
|
@@ -6309,6 +6347,12 @@
|
|
6309
6347
|
<xsl:when test="@updatetype = 'true'">
|
6310
6348
|
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
6311
6349
|
</xsl:when>
|
6350
|
+
<xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
|
6351
|
+
<!-- link to the PDF attachment -->
|
6352
|
+
<xsl:variable name="target_" select="translate(@target, '\', '/')"/>
|
6353
|
+
<xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
|
6354
|
+
<xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
|
6355
|
+
</xsl:when>
|
6312
6356
|
<xsl:otherwise>
|
6313
6357
|
<xsl:value-of select="normalize-space(@target)"/>
|
6314
6358
|
</xsl:otherwise>
|
@@ -6727,6 +6771,7 @@
|
|
6727
6771
|
<xsl:variable name="isAdded" select="@added"/>
|
6728
6772
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
6729
6773
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
6774
|
+
<xsl:call-template name="refine_figure-block-style"/>
|
6730
6775
|
|
6731
6776
|
<xsl:call-template name="setTrackChangesStyles">
|
6732
6777
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -7082,16 +7127,44 @@
|
|
7082
7127
|
</xsl:choose>
|
7083
7128
|
|
7084
7129
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
7085
|
-
<xsl:variable name="
|
7086
|
-
<xsl:variable name="
|
7130
|
+
<xsl:variable name="svg_width_" select="xalan:nodeset($svg_content)/*/@width"/>
|
7131
|
+
<xsl:variable name="svg_width" select="number(translate($svg_width_, 'px', ''))"/>
|
7132
|
+
<xsl:variable name="svg_height_" select="xalan:nodeset($svg_content)/*/@height"/>
|
7133
|
+
<xsl:variable name="svg_height" select="number(translate($svg_height_, 'px', ''))"/>
|
7134
|
+
|
7135
|
+
<!-- Example: -->
|
7087
7136
|
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
7088
7137
|
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
7089
7138
|
<!-- effective height / width = 1.48, 1.4 - with title -->
|
7090
|
-
|
7139
|
+
|
7140
|
+
<xsl:variable name="scale_x">
|
7141
|
+
<xsl:choose>
|
7142
|
+
<xsl:when test="$svg_width > $width_effective_px">
|
7143
|
+
<xsl:value-of select="$width_effective_px div $svg_width"/>
|
7144
|
+
</xsl:when>
|
7145
|
+
<xsl:otherwise>1</xsl:otherwise>
|
7146
|
+
</xsl:choose>
|
7147
|
+
</xsl:variable>
|
7148
|
+
<xsl:variable name="scale_y">
|
7149
|
+
<xsl:choose>
|
7150
|
+
<xsl:when test="$svg_height * $scale_x > $height_effective_px">
|
7151
|
+
<xsl:value-of select="$height_effective_px div ($svg_height * $scale_x)"/>
|
7152
|
+
</xsl:when>
|
7153
|
+
<xsl:otherwise>1</xsl:otherwise>
|
7154
|
+
</xsl:choose>
|
7155
|
+
</xsl:variable>
|
7156
|
+
|
7157
|
+
<!-- for images with big height -->
|
7158
|
+
<!-- <xsl:if test="$svg_height > ($svg_width * 1.4)">
|
7091
7159
|
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
7092
7160
|
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
7093
|
-
</xsl:if>
|
7161
|
+
</xsl:if> -->
|
7094
7162
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
7163
|
+
|
7164
|
+
<xsl:if test="$scale_y != 1">
|
7165
|
+
<xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
|
7166
|
+
</xsl:if>
|
7167
|
+
|
7095
7168
|
<xsl:copy-of select="$svg_content"/>
|
7096
7169
|
</fo:instream-foreign-object>
|
7097
7170
|
<!-- </fo:block> -->
|
@@ -7129,8 +7202,12 @@
|
|
7129
7202
|
<xsl:variable name="width" select="normalize-space($viewbox//item[3])"/>
|
7130
7203
|
<xsl:variable name="height" select="normalize-space($viewbox//item[4])"/>
|
7131
7204
|
|
7205
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[1][local-name() = 'image']/@width)"/>
|
7206
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[1][local-name() = 'image']/@height)"/>
|
7207
|
+
|
7132
7208
|
<xsl:attribute name="width">
|
7133
7209
|
<xsl:choose>
|
7210
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
7134
7211
|
<xsl:when test="$width != ''">
|
7135
7212
|
<xsl:value-of select="round($width)"/>
|
7136
7213
|
</xsl:when>
|
@@ -7139,6 +7216,7 @@
|
|
7139
7216
|
</xsl:attribute>
|
7140
7217
|
<xsl:attribute name="height">
|
7141
7218
|
<xsl:choose>
|
7219
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
7142
7220
|
<xsl:when test="$height != ''">
|
7143
7221
|
<xsl:value-of select="round($height)"/>
|
7144
7222
|
</xsl:when>
|
@@ -7150,6 +7228,28 @@
|
|
7150
7228
|
</xsl:copy>
|
7151
7229
|
</xsl:template>
|
7152
7230
|
|
7231
|
+
<xsl:template match="*[local-name() = 'svg']/@width" mode="svg_update">
|
7232
|
+
<!-- image[@width]/svg -->
|
7233
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[2][local-name() = 'image']/@width)"/>
|
7234
|
+
<xsl:attribute name="width">
|
7235
|
+
<xsl:choose>
|
7236
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
7237
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
7238
|
+
</xsl:choose>
|
7239
|
+
</xsl:attribute>
|
7240
|
+
</xsl:template>
|
7241
|
+
|
7242
|
+
<xsl:template match="*[local-name() = 'svg']/@height" mode="svg_update">
|
7243
|
+
<!-- image[@height]/svg -->
|
7244
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[2][local-name() = 'image']/@height)"/>
|
7245
|
+
<xsl:attribute name="height">
|
7246
|
+
<xsl:choose>
|
7247
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
7248
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
7249
|
+
</xsl:choose>
|
7250
|
+
</xsl:attribute>
|
7251
|
+
</xsl:template>
|
7252
|
+
|
7153
7253
|
<!-- regex for 'display: inline-block;' -->
|
7154
7254
|
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
7155
7255
|
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
@@ -9219,7 +9319,9 @@
|
|
9219
9319
|
</xsl:template> <!-- sections_element_style -->
|
9220
9320
|
|
9221
9321
|
<xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
9222
|
-
|
9322
|
+
|
9323
|
+
<fo:block break-after="page"/>
|
9324
|
+
|
9223
9325
|
<fo:block>
|
9224
9326
|
<xsl:call-template name="setId"/>
|
9225
9327
|
<xsl:apply-templates/>
|
@@ -9291,7 +9393,7 @@
|
|
9291
9393
|
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
9292
9394
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9293
9395
|
</xsl:when>
|
9294
|
-
<xsl:when test="not(
|
9396
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
9295
9397
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9296
9398
|
</xsl:when>
|
9297
9399
|
</xsl:choose>
|
@@ -11074,10 +11176,10 @@
|
|
11074
11176
|
|
11075
11177
|
<xsl:template name="addPDFUAmeta">
|
11076
11178
|
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
11077
|
-
|
11078
|
-
|
11079
|
-
|
11080
|
-
|
11179
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
11180
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
11181
|
+
</pdf:dictionary>
|
11182
|
+
</pdf:catalog>
|
11081
11183
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
11082
11184
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
11083
11185
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
@@ -11129,6 +11231,19 @@
|
|
11129
11231
|
</rdf:Description>
|
11130
11232
|
</rdf:RDF>
|
11131
11233
|
</x:xmpmeta>
|
11234
|
+
<!-- add attachments -->
|
11235
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
|
11236
|
+
<xsl:choose>
|
11237
|
+
<xsl:when test="normalize-space() != ''">
|
11238
|
+
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{.}" filename="{@name}"/>
|
11239
|
+
</xsl:when>
|
11240
|
+
<xsl:otherwise>
|
11241
|
+
<!-- _{filename}_attachments -->
|
11242
|
+
<xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
|
11243
|
+
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{@name}"/>
|
11244
|
+
</xsl:otherwise>
|
11245
|
+
</xsl:choose>
|
11246
|
+
</xsl:for-each>
|
11132
11247
|
</xsl:template> <!-- addPDFUAmeta -->
|
11133
11248
|
|
11134
11249
|
<xsl:template name="getId">
|
@@ -844,6 +844,8 @@
|
|
844
844
|
<xsl:param name="svg_images"/> <!-- svg images array -->
|
845
845
|
<xsl:variable name="images" select="document($svg_images)"/>
|
846
846
|
<xsl:param name="basepath"/> <!-- base path for images -->
|
847
|
+
<xsl:param name="inputxml_basepath"/> <!-- input xml file path -->
|
848
|
+
<xsl:param name="inputxml_filename"/> <!-- input xml file name -->
|
847
849
|
<xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
|
848
850
|
<xsl:param name="syntax-highlight">false</xsl:param> <!-- syntax highlighting feature, default - off -->
|
849
851
|
<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 -->
|
@@ -896,6 +898,20 @@
|
|
896
898
|
<xsl:call-template name="getLang"/>
|
897
899
|
</xsl:variable>
|
898
900
|
|
901
|
+
<xsl:variable name="inputxml_filename_prefix">
|
902
|
+
<xsl:choose>
|
903
|
+
<xsl:when test="contains($inputxml_filename, '.presentation.xml')">
|
904
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.presentation.xml')"/>
|
905
|
+
</xsl:when>
|
906
|
+
<xsl:when test="contains($inputxml_filename, '.xml')">
|
907
|
+
<xsl:value-of select="substring-before($inputxml_filename, '.xml')"/>
|
908
|
+
</xsl:when>
|
909
|
+
<xsl:otherwise>
|
910
|
+
<xsl:value-of select="$inputxml_filename"/>
|
911
|
+
</xsl:otherwise>
|
912
|
+
</xsl:choose>
|
913
|
+
</xsl:variable>
|
914
|
+
|
899
915
|
<!-- Note 1: Each xslt has declated variable `namespace` that allows to set some properties, processing logic, etc. for concrete xslt.
|
900
916
|
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>,
|
901
917
|
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 -->
|
@@ -1819,6 +1835,10 @@
|
|
1819
1835
|
|
1820
1836
|
</xsl:attribute-set>
|
1821
1837
|
|
1838
|
+
<xsl:template name="refine_figure-block-style">
|
1839
|
+
|
1840
|
+
</xsl:template>
|
1841
|
+
|
1822
1842
|
<xsl:attribute-set name="figure-style">
|
1823
1843
|
|
1824
1844
|
</xsl:attribute-set>
|
@@ -2737,7 +2757,7 @@
|
|
2737
2757
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
|
2738
2758
|
|
2739
2759
|
<xsl:variable name="colwidths">
|
2740
|
-
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2760
|
+
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col']) and not(@class = 'dl')">
|
2741
2761
|
<xsl:call-template name="calculate-column-widths">
|
2742
2762
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2743
2763
|
<xsl:with-param name="table" select="$simple-table"/>
|
@@ -2855,6 +2875,11 @@
|
|
2855
2875
|
<fo:table-column column-width="{@width}"/>
|
2856
2876
|
</xsl:for-each>
|
2857
2877
|
</xsl:when>
|
2878
|
+
<xsl:when test="@class = 'dl'">
|
2879
|
+
<xsl:for-each select=".//*[local-name()='tr'][1]/*">
|
2880
|
+
<fo:table-column column-width="{@width}"/>
|
2881
|
+
</xsl:for-each>
|
2882
|
+
</xsl:when>
|
2858
2883
|
<xsl:otherwise>
|
2859
2884
|
<xsl:call-template name="insertTableColumnWidth">
|
2860
2885
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -4127,6 +4152,7 @@
|
|
4127
4152
|
<!-- ===================== -->
|
4128
4153
|
<!-- Definition List -->
|
4129
4154
|
<!-- ===================== -->
|
4155
|
+
|
4130
4156
|
<xsl:template match="*[local-name()='dl']">
|
4131
4157
|
<xsl:variable name="isAdded" select="@added"/>
|
4132
4158
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
@@ -4339,10 +4365,21 @@
|
|
4339
4365
|
</xsl:variable>
|
4340
4366
|
|
4341
4367
|
<xsl:variable name="colwidths">
|
4342
|
-
<xsl:
|
4343
|
-
|
4344
|
-
<xsl:
|
4345
|
-
|
4368
|
+
<xsl:choose>
|
4369
|
+
<!-- dl from table[@class='dl'] -->
|
4370
|
+
<xsl:when test="*[local-name() = 'colgroup']">
|
4371
|
+
<autolayout/>
|
4372
|
+
<xsl:for-each select="*[local-name() = 'colgroup']/*[local-name() = 'col']">
|
4373
|
+
<column><xsl:value-of select="translate(@width,'%m','')"/></column>
|
4374
|
+
</xsl:for-each>
|
4375
|
+
</xsl:when>
|
4376
|
+
<xsl:otherwise>
|
4377
|
+
<xsl:call-template name="calculate-column-widths">
|
4378
|
+
<xsl:with-param name="cols-count" select="2"/>
|
4379
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
4380
|
+
</xsl:call-template>
|
4381
|
+
</xsl:otherwise>
|
4382
|
+
</xsl:choose>
|
4346
4383
|
</xsl:variable>
|
4347
4384
|
|
4348
4385
|
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
@@ -5068,7 +5105,8 @@
|
|
5068
5105
|
</xsl:template>
|
5069
5106
|
|
5070
5107
|
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
5071
|
-
<xsl:variable name="text" select="normalize-space(.)"/>
|
5108
|
+
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
5109
|
+
<xsl:variable name="text" select="."/>
|
5072
5110
|
<fo:inline font-size="75%" role="SKIP">
|
5073
5111
|
<xsl:if test="string-length($text) > 0">
|
5074
5112
|
<xsl:variable name="smallCapsText">
|
@@ -6436,6 +6474,12 @@
|
|
6436
6474
|
<xsl:when test="@updatetype = 'true'">
|
6437
6475
|
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
6438
6476
|
</xsl:when>
|
6477
|
+
<xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
|
6478
|
+
<!-- link to the PDF attachment -->
|
6479
|
+
<xsl:variable name="target_" select="translate(@target, '\', '/')"/>
|
6480
|
+
<xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
|
6481
|
+
<xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
|
6482
|
+
</xsl:when>
|
6439
6483
|
<xsl:otherwise>
|
6440
6484
|
<xsl:value-of select="normalize-space(@target)"/>
|
6441
6485
|
</xsl:otherwise>
|
@@ -6854,6 +6898,7 @@
|
|
6854
6898
|
<xsl:variable name="isAdded" select="@added"/>
|
6855
6899
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
6856
6900
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
6901
|
+
<xsl:call-template name="refine_figure-block-style"/>
|
6857
6902
|
|
6858
6903
|
<xsl:call-template name="setTrackChangesStyles">
|
6859
6904
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
@@ -7209,16 +7254,44 @@
|
|
7209
7254
|
</xsl:choose>
|
7210
7255
|
|
7211
7256
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
7212
|
-
<xsl:variable name="
|
7213
|
-
<xsl:variable name="
|
7257
|
+
<xsl:variable name="svg_width_" select="xalan:nodeset($svg_content)/*/@width"/>
|
7258
|
+
<xsl:variable name="svg_width" select="number(translate($svg_width_, 'px', ''))"/>
|
7259
|
+
<xsl:variable name="svg_height_" select="xalan:nodeset($svg_content)/*/@height"/>
|
7260
|
+
<xsl:variable name="svg_height" select="number(translate($svg_height_, 'px', ''))"/>
|
7261
|
+
|
7262
|
+
<!-- Example: -->
|
7214
7263
|
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
7215
7264
|
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
7216
7265
|
<!-- effective height / width = 1.48, 1.4 - with title -->
|
7217
|
-
|
7266
|
+
|
7267
|
+
<xsl:variable name="scale_x">
|
7268
|
+
<xsl:choose>
|
7269
|
+
<xsl:when test="$svg_width > $width_effective_px">
|
7270
|
+
<xsl:value-of select="$width_effective_px div $svg_width"/>
|
7271
|
+
</xsl:when>
|
7272
|
+
<xsl:otherwise>1</xsl:otherwise>
|
7273
|
+
</xsl:choose>
|
7274
|
+
</xsl:variable>
|
7275
|
+
<xsl:variable name="scale_y">
|
7276
|
+
<xsl:choose>
|
7277
|
+
<xsl:when test="$svg_height * $scale_x > $height_effective_px">
|
7278
|
+
<xsl:value-of select="$height_effective_px div ($svg_height * $scale_x)"/>
|
7279
|
+
</xsl:when>
|
7280
|
+
<xsl:otherwise>1</xsl:otherwise>
|
7281
|
+
</xsl:choose>
|
7282
|
+
</xsl:variable>
|
7283
|
+
|
7284
|
+
<!-- for images with big height -->
|
7285
|
+
<!-- <xsl:if test="$svg_height > ($svg_width * 1.4)">
|
7218
7286
|
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
7219
7287
|
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
7220
|
-
</xsl:if>
|
7288
|
+
</xsl:if> -->
|
7221
7289
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
7290
|
+
|
7291
|
+
<xsl:if test="$scale_y != 1">
|
7292
|
+
<xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
|
7293
|
+
</xsl:if>
|
7294
|
+
|
7222
7295
|
<xsl:copy-of select="$svg_content"/>
|
7223
7296
|
</fo:instream-foreign-object>
|
7224
7297
|
<!-- </fo:block> -->
|
@@ -7256,8 +7329,12 @@
|
|
7256
7329
|
<xsl:variable name="width" select="normalize-space($viewbox//item[3])"/>
|
7257
7330
|
<xsl:variable name="height" select="normalize-space($viewbox//item[4])"/>
|
7258
7331
|
|
7332
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[1][local-name() = 'image']/@width)"/>
|
7333
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[1][local-name() = 'image']/@height)"/>
|
7334
|
+
|
7259
7335
|
<xsl:attribute name="width">
|
7260
7336
|
<xsl:choose>
|
7337
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
7261
7338
|
<xsl:when test="$width != ''">
|
7262
7339
|
<xsl:value-of select="round($width)"/>
|
7263
7340
|
</xsl:when>
|
@@ -7266,6 +7343,7 @@
|
|
7266
7343
|
</xsl:attribute>
|
7267
7344
|
<xsl:attribute name="height">
|
7268
7345
|
<xsl:choose>
|
7346
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
7269
7347
|
<xsl:when test="$height != ''">
|
7270
7348
|
<xsl:value-of select="round($height)"/>
|
7271
7349
|
</xsl:when>
|
@@ -7277,6 +7355,28 @@
|
|
7277
7355
|
</xsl:copy>
|
7278
7356
|
</xsl:template>
|
7279
7357
|
|
7358
|
+
<xsl:template match="*[local-name() = 'svg']/@width" mode="svg_update">
|
7359
|
+
<!-- image[@width]/svg -->
|
7360
|
+
<xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[2][local-name() = 'image']/@width)"/>
|
7361
|
+
<xsl:attribute name="width">
|
7362
|
+
<xsl:choose>
|
7363
|
+
<xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
|
7364
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
7365
|
+
</xsl:choose>
|
7366
|
+
</xsl:attribute>
|
7367
|
+
</xsl:template>
|
7368
|
+
|
7369
|
+
<xsl:template match="*[local-name() = 'svg']/@height" mode="svg_update">
|
7370
|
+
<!-- image[@height]/svg -->
|
7371
|
+
<xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[2][local-name() = 'image']/@height)"/>
|
7372
|
+
<xsl:attribute name="height">
|
7373
|
+
<xsl:choose>
|
7374
|
+
<xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
|
7375
|
+
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
7376
|
+
</xsl:choose>
|
7377
|
+
</xsl:attribute>
|
7378
|
+
</xsl:template>
|
7379
|
+
|
7280
7380
|
<!-- regex for 'display: inline-block;' -->
|
7281
7381
|
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
7282
7382
|
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
@@ -9346,7 +9446,9 @@
|
|
9346
9446
|
</xsl:template> <!-- sections_element_style -->
|
9347
9447
|
|
9348
9448
|
<xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
9349
|
-
|
9449
|
+
|
9450
|
+
<fo:block break-after="page"/>
|
9451
|
+
|
9350
9452
|
<fo:block>
|
9351
9453
|
<xsl:call-template name="setId"/>
|
9352
9454
|
<xsl:apply-templates/>
|
@@ -9418,7 +9520,7 @@
|
|
9418
9520
|
<xsl:when test="ancestor::*[contains(local-name(), '-standard')] and not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
|
9419
9521
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9420
9522
|
</xsl:when>
|
9421
|
-
<xsl:when test="not(
|
9523
|
+
<xsl:when test="not(/*[@id = $id_from]) and not(/*//*[@id = $id_from]) and not(preceding-sibling::*[@id = $id_from])">
|
9422
9524
|
<fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
|
9423
9525
|
</xsl:when>
|
9424
9526
|
</xsl:choose>
|
@@ -11202,10 +11304,10 @@
|
|
11202
11304
|
|
11203
11305
|
<xsl:template name="addPDFUAmeta">
|
11204
11306
|
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
|
11205
|
-
|
11206
|
-
|
11207
|
-
|
11208
|
-
|
11307
|
+
<pdf:dictionary type="normal" key="ViewerPreferences">
|
11308
|
+
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
|
11309
|
+
</pdf:dictionary>
|
11310
|
+
</pdf:catalog>
|
11209
11311
|
<x:xmpmeta xmlns:x="adobe:ns:meta/">
|
11210
11312
|
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
11211
11313
|
<rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
|
@@ -11257,6 +11359,19 @@
|
|
11257
11359
|
</rdf:Description>
|
11258
11360
|
</rdf:RDF>
|
11259
11361
|
</x:xmpmeta>
|
11362
|
+
<!-- add attachments -->
|
11363
|
+
<xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
|
11364
|
+
<xsl:choose>
|
11365
|
+
<xsl:when test="normalize-space() != ''">
|
11366
|
+
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{.}" filename="{@name}"/>
|
11367
|
+
</xsl:when>
|
11368
|
+
<xsl:otherwise>
|
11369
|
+
<!-- _{filename}_attachments -->
|
11370
|
+
<xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
|
11371
|
+
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{@name}"/>
|
11372
|
+
</xsl:otherwise>
|
11373
|
+
</xsl:choose>
|
11374
|
+
</xsl:for-each>
|
11260
11375
|
</xsl:template> <!-- addPDFUAmeta -->
|
11261
11376
|
|
11262
11377
|
<xsl:template name="getId">
|
data/lib/metanorma/un/biblio.rng
CHANGED
@@ -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">
|
data/lib/metanorma/un/version.rb
CHANGED
data/metanorma-un.gemspec
CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency "roman-numerals"
|
32
32
|
spec.add_dependency "twitter_cldr"
|
33
33
|
|
34
|
-
spec.add_dependency "metanorma-standoc", "~> 2.8.
|
34
|
+
spec.add_dependency "metanorma-standoc", "~> 2.8.4"
|
35
35
|
|
36
36
|
spec.add_development_dependency "debug"
|
37
37
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-un
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.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: iso-639
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.8.
|
61
|
+
version: 2.8.4
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.8.
|
68
|
+
version: 2.8.4
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: debug
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|