metanorma-iec 2.4.12 → 2.4.13

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fea24aa64896b40fd0014ff6cac836db2f3b23ffb6b6c88311ad9d423118745a
4
- data.tar.gz: 30dd9c36bcb8ddb34c966fe5a8e4ce067dcc52ef0440f973d66af23f8c123490
3
+ metadata.gz: e384597ebbeb4b89f3f0044425c79cbd11e5dc58929d345ccaedb23e44d39334
4
+ data.tar.gz: 1c0dbb430b823f80db5e84e6e258487e9a01f60dadd963bbb2a6a0991064de60
5
5
  SHA512:
6
- metadata.gz: 057cb330f644950cff7cd28d7bef0fe598f27c76131ca6e554a153347c1e4a795fc33e8a63e3a1aaecd45fbff6152ba9680b4f1e7e6439831fda734668f5efe0
7
- data.tar.gz: b47996f562e5447eaff43381bbae7f709d924e7d191112a1f091c409754729f76bc98c9f95e5179acb9dd4be0d9a9edeb2009ef162709ce7261bb0d55c44db62
6
+ metadata.gz: 2a449caf7d8658172bdfcd6d391729555b56afb22d7523fbb73a1d03906de25d449c30449a99dae50148427eea7123ad098b273187331dbde0f78c8481e75ed0
7
+ data.tar.gz: f5a2455092890175c3b8f64550efd83e98a1786228c5c5bbd13788eb60835f92d2466bb501cc5739da862f92ceddbe09c13a4a51577fdd17581c5222ccef60cf
@@ -8387,18 +8387,33 @@
8387
8387
 
8388
8388
  <xsl:template match="*[local-name()='localityStack']"/>
8389
8389
 
8390
+ <xsl:variable name="pdfAttachmentsList_">
8391
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
8392
+ <attachment filename="{@name}"/>
8393
+ </xsl:for-each>
8394
+ </xsl:variable>
8395
+ <xsl:variable name="pdfAttachmentsList" select="xalan:nodeset($pdfAttachmentsList_)"/>
8396
+
8390
8397
  <xsl:template match="*[local-name()='link']" name="link">
8398
+ <xsl:variable name="target_normalized" select="translate(@target, '\', '/')"/>
8399
+ <xsl:variable name="target_attachment_name" select="substring-after($target_normalized, '_attachments/')"/>
8391
8400
  <xsl:variable name="target">
8392
8401
  <xsl:choose>
8393
8402
  <xsl:when test="@updatetype = 'true'">
8394
8403
  <xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
8395
8404
  </xsl:when>
8405
+ <!-- link to the PDF attachment -->
8406
+ <xsl:when test="$pdfAttachmentsList//attachment[@filename = current()/@target]">
8407
+ <xsl:value-of select="concat('url(embedded-file:', @target, ')')"/>
8408
+ </xsl:when>
8409
+ <!-- <xsl:when test="starts-with($target_normalized, '_') and contains($target_normalized, '_attachments/') and $pdfAttachmentsList//attachment[@filename = $target_attachment_name]">
8410
+ <xsl:value-of select="concat('url(embedded-file:', $target_attachment_name, ')')"/>
8411
+ </xsl:when>
8396
8412
  <xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
8397
- <!-- link to the PDF attachment -->
8398
8413
  <xsl:variable name="target_" select="translate(@target, '\', '/')"/>
8399
8414
  <xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
8400
8415
  <xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
8401
- </xsl:when>
8416
+ </xsl:when> -->
8402
8417
  <xsl:otherwise>
8403
8418
  <xsl:value-of select="normalize-space(@target)"/>
8404
8419
  </xsl:otherwise>
@@ -13017,6 +13032,17 @@
13017
13032
  <xsl:copy-of select="."/>
13018
13033
  </xsl:template>
13019
13034
 
13035
+ <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
13036
+ <xsl:copy>
13037
+ <xsl:copy-of select="@*"/>
13038
+ <xsl:variable name="name_filepath" select="concat($inputxml_basepath, @name)"/>
13039
+ <xsl:variable name="file_exists" select="normalize-space(java:exists(java:java.io.File.new($name_filepath)))"/>
13040
+ <xsl:if test="$file_exists = 'false'"> <!-- copy attachment content only if file on disk doesnt exist -->
13041
+ <xsl:value-of select="."/>
13042
+ </xsl:if>
13043
+ </xsl:copy>
13044
+ </xsl:template>
13045
+
13020
13046
  <!-- add @id, mandatory for table auto-layout algorithm -->
13021
13047
  <xsl:template match="*[local-name() = 'dl' or local-name() = 'table'][not(@id)]" mode="update_xml_step1">
13022
13048
  <xsl:copy>
@@ -13891,7 +13917,8 @@
13891
13917
  </xsl:when>
13892
13918
  <xsl:otherwise>
13893
13919
  <!-- _{filename}_attachments -->
13894
- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
13920
+ <!-- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/> -->
13921
+ <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath , @name, ')')"/>
13895
13922
  <pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{@name}"/>
13896
13923
  </xsl:otherwise>
13897
13924
  </xsl:choose>
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Iec
3
- VERSION = "2.4.12".freeze
3
+ VERSION = "2.4.13".freeze
4
4
  end
5
5
  end
6
6
 
@@ -44,5 +44,6 @@ Gem::Specification.new do |spec|
44
44
  spec.add_development_dependency "sassc", "2.4.0"
45
45
  spec.add_development_dependency "simplecov", "~> 0.15"
46
46
  spec.add_development_dependency "timecop", "~> 0.9"
47
+ spec.add_development_dependency "xml-c14n"
47
48
  # spec.metadata["rubygems_mfa_required"] = "true"
48
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iec
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.12
4
+ version: 2.4.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-22 00:00:00.000000000 Z
11
+ date: 2024-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-iso
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0.9'
195
+ - !ruby/object:Gem::Dependency
196
+ name: xml-c14n
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  description: |
196
210
  metanorma-iec lets you write IEC standards in AsciiDoc syntax.
197
211