metanorma-jis 0.4.3 → 0.4.4

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: a682db090b197edb90ddd8f287a3e6d5c6144ec1cf547e7ba6e3917fd8c6fcd8
4
- data.tar.gz: 7c0834e3d7db92e8c970586df8d017816567dfed7de17236c8667f2daab66003
3
+ metadata.gz: 5c784b76a6c9e7e168e3d5b6538fad7ef2cff2a44b0a42e4c6623439e93f6d55
4
+ data.tar.gz: 8b9f329596bdcc698de66015cf540c825efd2fcd9dfbe4c71059587e4de9c243
5
5
  SHA512:
6
- metadata.gz: 3c0d262d95ae7b6abb12adbaf9becbf875afdb5aad30b0c9343543c05ccd9300d5cc8d6e9be7c92f66579b4aa928bf2c3fbcd3d5db50824997026670753d7395
7
- data.tar.gz: 2955ea4c486cb425a3b40de02205151cd99d191048ba10e6eceb9b2f11c42c26864bf40c9378a7b87d2564f2c18cb4e7ca53c85ef7c84e1e80871bbc204bb5d9
6
+ metadata.gz: 7dd69a3ab82bf22acb5cecf56e1a12935ae7eb33d6d47cd6a52dd87c4e94e19756118996d643ba7b65c74a061baf75ff68d2f52ffdfc5a89253eb418df9a40b8
7
+ data.tar.gz: 4d52dcf866a974a29494388496c7fbb3e200ff128d0d329620b2751d48a180c3de5cfbaf6b74902f4dd35855cb026a420e7d129c6b0fe94895c58fd7494310b3
@@ -530,18 +530,21 @@
530
530
  <xsl:when test="$vertical_layout = 'true'">
531
531
  <xsl:call-template name="insertCoverPage2024">
532
532
  <xsl:with-param name="num" select="$num"/>
533
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
533
534
  </xsl:call-template>
534
535
  </xsl:when>
535
536
  <xsl:when test="$doctype = 'technical-specification'">
536
537
  <xsl:call-template name="insertCoverPageJSA">
537
538
  <xsl:with-param name="num" select="$num"/>
538
539
  <xsl:with-param name="doclang" select="$doclang"/>
540
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
539
541
  </xsl:call-template>
540
542
  </xsl:when>
541
543
  <xsl:otherwise>
542
544
  <xsl:call-template name="insertCoverPage">
543
545
  <xsl:with-param name="num" select="$num"/>
544
546
  <xsl:with-param name="copyrightText" select="$copyrightText"/>
547
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
545
548
  </xsl:call-template>
546
549
  </xsl:otherwise>
547
550
  </xsl:choose>
@@ -585,6 +588,7 @@
585
588
  <xsl:with-param name="title_ja" select="$title_ja"/>
586
589
  <xsl:with-param name="i18n_JIS" select="$i18n_JIS"/>
587
590
  <xsl:with-param name="docidentifier" select="concat('JIS ', $docidentifier_JIS)"/>
591
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
588
592
  <xsl:with-param name="edition" select="$edition"/>
589
593
  <xsl:with-param name="copyrightText">
590
594
  <xsl:copy-of select="$copyrightText"/>
@@ -660,6 +664,7 @@
660
664
  <xsl:with-param name="title_ja" select="$title_ja"/>
661
665
  <xsl:with-param name="i18n_JIS" select="$i18n_JIS"/>
662
666
  <xsl:with-param name="docidentifier" select="concat('JIS ', $docidentifier_JIS)"/>
667
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
663
668
  <xsl:with-param name="edition" select="$edition"/>
664
669
  <xsl:with-param name="copyrightText">
665
670
  <xsl:copy-of select="$copyrightText"/>
@@ -855,6 +860,7 @@
855
860
  <xsl:with-param name="title_ja" select="$title_ja"/>
856
861
  <xsl:with-param name="i18n_JIS" select="$i18n_JIS"/>
857
862
  <xsl:with-param name="docidentifier" select="concat('JIS ', $docidentifier_JIS)"/>
863
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
858
864
  <xsl:with-param name="edition" select="$edition"/>
859
865
  <xsl:with-param name="copyrightText">
860
866
  <xsl:copy-of select="$copyrightText"/>
@@ -954,6 +960,7 @@
954
960
  <xsl:with-param name="num" select="$num"/>
955
961
  <xsl:with-param name="doclang" select="'en'"/>
956
962
  <xsl:with-param name="first">false</xsl:with-param>
963
+ <xsl:with-param name="docidentifier_jis" select="$docidentifier_JIS_"/>
957
964
  </xsl:call-template>
958
965
  </xsl:if>
959
966
 
@@ -1081,18 +1088,18 @@
1081
1088
  <xsl:attribute name="text-align">left</xsl:attribute>
1082
1089
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1083
1090
  <!-- <xsl:attribute name="margin-top">26mm</xsl:attribute> -->
1091
+ <!-- Contents -->
1092
+ <!-- <xsl:call-template name="getLocalizedString">
1093
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
1094
+ </xsl:call-template> -->
1095
+ <fo:marker marker-class-name="section_title">
1096
+ <xsl:variable name="section_title_"><xsl:apply-templates/></xsl:variable>
1097
+ <xsl:variable name="section_title" select="translate($section_title_, ' ', '')"/>
1098
+ <xsl:call-template name="insertVerticalChar">
1099
+ <xsl:with-param name="str" select="$section_title"/>
1100
+ </xsl:call-template>
1101
+ </fo:marker>
1084
1102
  </xsl:if>
1085
- <!-- Contents -->
1086
- <!-- <xsl:call-template name="getLocalizedString">
1087
- <xsl:with-param name="key">table_of_contents</xsl:with-param>
1088
- </xsl:call-template> -->
1089
- <fo:marker marker-class-name="section_title">
1090
- <xsl:variable name="section_title_"><xsl:apply-templates/></xsl:variable>
1091
- <xsl:variable name="section_title" select="translate($section_title_, ' ', '')"/>
1092
- <xsl:call-template name="insertVerticalChar">
1093
- <xsl:with-param name="str" select="$section_title"/>
1094
- </xsl:call-template>
1095
- </fo:marker>
1096
1103
  <xsl:apply-templates/>
1097
1104
  </fo:block>
1098
1105
  <fo:block text-align="right" margin-top="10mm">
@@ -1144,13 +1151,15 @@
1144
1151
  </fo:block>
1145
1152
  </xsl:template>
1146
1153
 
1147
- <!-- docidentifier, 3 part: number, colon and year-->
1148
- <xsl:variable name="docidentifier_jis" select="/*/jis:bibdata/jis:docidentifier[@type = 'JIS']"/>
1149
- <xsl:variable name="docidentifier_number" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$1')"/>
1150
- <xsl:variable name="docidentifier_year" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$3')"/>
1151
1154
  <xsl:template name="insertCoverPage">
1152
1155
  <xsl:param name="num"/>
1153
1156
  <xsl:param name="copyrightText"/>
1157
+ <xsl:param name="docidentifier_jis"/>
1158
+
1159
+ <!-- docidentifier, 3 part: number, colon and year-->
1160
+ <xsl:variable name="docidentifier_number" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$1')"/>
1161
+ <xsl:variable name="docidentifier_year" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$3')"/>
1162
+
1154
1163
  <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
1155
1164
  <xsl:call-template name="insertFooter">
1156
1165
  <xsl:with-param name="copyrightText" select="$copyrightText"/>
@@ -1158,10 +1167,15 @@
1158
1167
 
1159
1168
  <fo:flow flow-name="xsl-region-body">
1160
1169
  <!-- JIS -->
1161
- <fo:block id="firstpage_id_{$num}">
1162
- <fo:instream-foreign-object content-width="81mm" fox:alt-text="JIS Logo">
1163
- <xsl:copy-of select="$JIS-Logo"/>
1164
- </fo:instream-foreign-object>
1170
+ <fo:block>
1171
+ <xsl:if test="$num = 1">
1172
+ <xsl:attribute name="id">firstpage_id_0</xsl:attribute>
1173
+ </xsl:if>
1174
+ <fo:block id="firstpage_id_{$num}">
1175
+ <fo:instream-foreign-object content-width="81mm" fox:alt-text="JIS Logo">
1176
+ <xsl:copy-of select="$JIS-Logo"/>
1177
+ </fo:instream-foreign-object>
1178
+ </fo:block>
1165
1179
  </fo:block>
1166
1180
 
1167
1181
  <fo:block-container text-align="center">
@@ -1199,6 +1213,8 @@
1199
1213
  <xsl:param name="num"/>
1200
1214
  <xsl:param name="doclang"/>
1201
1215
  <xsl:param name="first">true</xsl:param>
1216
+ <xsl:param name="docidentifier_jis"/>
1217
+
1202
1218
  <fo:page-sequence master-reference="cover-page-JSA" force-page-count="no-force">
1203
1219
  <fo:static-content flow-name="footer" font-family="IPAexGothic" font-size="10pt" line-height="1.7">
1204
1220
  <fo:block text-align="center">
@@ -1240,7 +1256,7 @@
1240
1256
 
1241
1257
  <fo:block-container text-align="center">
1242
1258
  <fo:block font-family="IPAexGothic" font-size="15pt">
1243
- <xsl:value-of select="/*/jis:bibdata/jis:docidentifier[@type = 'JIS']"/>
1259
+ <xsl:value-of select="$docidentifier_jis"/>
1244
1260
  </fo:block>
1245
1261
  <!-- title -->
1246
1262
  <fo:block role="H1" font-family="IPAexGothic" font-size="32pt" line-height="1.3">
@@ -1260,6 +1276,11 @@
1260
1276
  <xsl:variable name="i18n_JIS"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">JIS</xsl:with-param></xsl:call-template></xsl:variable>
1261
1277
  <xsl:template name="insertCoverPage2024">
1262
1278
  <xsl:param name="num"/>
1279
+ <xsl:param name="docidentifier_jis"/>
1280
+
1281
+ <!-- docidentifier, 3 part: number, colon and year-->
1282
+ <xsl:variable name="docidentifier_number" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$1')"/>
1283
+ <xsl:variable name="docidentifier_year" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$3')"/>
1263
1284
 
1264
1285
  <fo:page-sequence master-reference="cover-page_2024" force-page-count="no-force">
1265
1286
 
@@ -1941,7 +1962,7 @@
1941
1962
  <xsl:call-template name="extractSection"/>
1942
1963
  </xsl:variable>
1943
1964
 
1944
- <xsl:if test="$level = 1">
1965
+ <xsl:if test="$level = 1 and $vertical_layout = 'true'">
1945
1966
  <fo:marker marker-class-name="section_title">
1946
1967
  <xsl:choose>
1947
1968
  <xsl:when test="@ancestor = 'annex' and *[local-name() = 'br']">
@@ -3201,12 +3222,17 @@
3201
3222
  <xsl:param name="cover_header_footer_background"/>
3202
3223
  <xsl:param name="i18n_JIS"/>
3203
3224
  <xsl:param name="docidentifier"/>
3225
+ <xsl:param name="docidentifier_jis"/>
3204
3226
  <xsl:param name="title_ja"/>
3205
3227
  <xsl:param name="edition"/>
3206
3228
  <xsl:param name="copyrightText"/>
3207
3229
  <xsl:param name="insertLast"/>
3208
3230
  <xsl:param name="bibdata"/>
3209
3231
 
3232
+ <!-- docidentifier, 3 part: number, colon and year-->
3233
+ <xsl:variable name="docidentifier_number" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$1')"/>
3234
+ <xsl:variable name="docidentifier_year" select="java:replaceAll(java:java.lang.String.new($docidentifier_jis), '^(.*)(:)(.*)$', '$3')"/>
3235
+
3210
3236
  <!-- header -->
3211
3237
  <fo:static-content flow-name="right-region" role="artifact">
3212
3238
  <fo:block-container font-size="9pt" height="{$pageHeightA5}mm" width="6mm" color="white" background-color="{$cover_header_footer_background}" text-align="center" margin-left="11mm">
@@ -5424,8 +5450,21 @@
5424
5450
 
5425
5451
  <!-- <xsl:strip-space elements="jis:xref"/> -->
5426
5452
 
5427
- <xsl:variable name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
5428
- <xsl:variable name="root_element" select="local-name(/*)"/> <!-- example: iso-standard -->
5453
+ <xsl:variable name="namespace_full_">
5454
+ <xsl:choose>
5455
+ <xsl:when test="local-name(/*) = 'metanorma-collection'"><xsl:value-of select="namespace-uri(//*[contains(local-name(), '-standard')][1])"/></xsl:when>
5456
+ <xsl:otherwise><xsl:value-of select="namespace-uri(/*)"/></xsl:otherwise><!-- example: https://www.metanorma.org/ns/iso -->
5457
+ </xsl:choose>
5458
+ </xsl:variable>
5459
+ <xsl:variable name="namespace_full" select="normalize-space($namespace_full_)"/>
5460
+
5461
+ <xsl:variable name="root_element_">
5462
+ <xsl:choose>
5463
+ <xsl:when test="local-name(/*) = 'metanorma-collection'"><xsl:value-of select="local-name(//*[contains(local-name(), '-standard')][1])"/></xsl:when>
5464
+ <xsl:otherwise><xsl:value-of select="local-name(/*)"/></xsl:otherwise><!-- example: iso-standard -->
5465
+ </xsl:choose>
5466
+ </xsl:variable>
5467
+ <xsl:variable name="root_element" select="normalize-space($root_element_)"/>
5429
5468
 
5430
5469
  <xsl:variable name="document_scheme" select="normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'document-scheme']/*[local-name() = 'value'])"/>
5431
5470
 
@@ -10383,6 +10422,12 @@
10383
10422
  </xsl:if>
10384
10423
  </xsl:template>
10385
10424
 
10425
+ <xsl:template match="*[local-name()='strike']">
10426
+ <fo:inline text-decoration="line-through">
10427
+ <xsl:apply-templates/>
10428
+ </fo:inline>
10429
+ </xsl:template>
10430
+
10386
10431
  <xsl:template match="*[local-name() = 'pagebreak']">
10387
10432
  <fo:block break-after="page"/>
10388
10433
  <fo:block> </fo:block>
@@ -70,19 +70,19 @@ module IsoDoc
70
70
  end
71
71
 
72
72
  def move_participants(doc)
73
- p = doc.at(ns("//clause[@type = 'participants']")) or return
74
- t = participant_table(p) or return
75
- p.remove
76
- ins = make_preface(doc) or return nil
77
- ins.add_first_child t
73
+ doc.xpath(ns("//clause[@type = 'participants']")).reverse_each do |p|
74
+ t = participant_table(p) or next
75
+ p.remove
76
+ ins = make_preface(doc) or next
77
+ ins.add_first_child t
78
+ end
78
79
  end
79
80
 
80
81
  def participant_table(clause)
81
- s = clause.at(ns("./sourcecode")) or return nil
82
- y = YAML.safe_load(s.children.to_xml(encoding: "UTF-8")) or return nil
83
- y.is_a?(Array) or return nil
82
+ s, t, y, d = participant_table_prep(clause)
83
+ s or return nil
84
84
  out1 = <<~OUTPUT
85
- <clause id='_#{UUIDTools::UUID.random_create}'><title>#{@meta.get[:"investigative-committee"]} #{@i18n.membership_table}</title>
85
+ <clause id='_#{UUIDTools::UUID.random_create}' type="participants"><title>#{t}</title>
86
86
  <table unnumbered='true'>
87
87
  <thead>
88
88
  <tr><th/><th>#{@i18n.full_name}</th><th>#{@i18n.affiliation}</th></tr>
@@ -90,11 +90,21 @@ module IsoDoc
90
90
  <tbody>
91
91
  OUTPUT
92
92
  out2 = <<~OUTPUT
93
- </tbody></table></clause>
93
+ </tbody>#{d&.to_xml}</table></clause>
94
94
  OUTPUT
95
95
  "#{out1}#{participant_rows(y)}#{out2}"
96
96
  end
97
97
 
98
+ def participant_table_prep(clause)
99
+ s = clause.at(ns("./sourcecode"))
100
+ t = clause.at(ns("./title"))&.children&.to_xml ||
101
+ %(#{@meta.get[:"investigative-committee"]} #{@i18n.membership_table})
102
+ y = YAML.safe_load(s.children.to_xml(encoding: "UTF-8"))
103
+ d = clause.at(ns("./dl[@key = 'true']"))
104
+ s && y.is_a?(Array) or return [nil, nil, nil, nil]
105
+ [s, t, y, d]
106
+ end
107
+
98
108
  def participant_rows(yaml)
99
109
  yaml.map do |y|
100
110
  r = y["role"] ? @i18n.l10n("(#{y['role']})") : ""
@@ -76,6 +76,7 @@ module IsoDoc
76
76
 
77
77
  def dl_to_para_name(node)
78
78
  e = node.at(ns("./fmt-name")) or return ""
79
+ node.parent.parent["type"] == "participants" and return ""
79
80
  "<p class='ListTitle'>#{e.children.to_xml}</p>"
80
81
  end
81
82
 
@@ -267,11 +267,11 @@ Detailed in https://www.relaton.org/model/creator/</a:documentation>
267
267
  <a:documentation>An identifier of the person according to an international identifier scheme</a:documentation>
268
268
  </ref>
269
269
  </zeroOrMore>
270
- <zeroOrMore>
270
+ <optional>
271
271
  <ref name="contact">
272
272
  <a:documentation>Contact information for the person, including URI, address, phone number, and email</a:documentation>
273
273
  </ref>
274
- </zeroOrMore>
274
+ </optional>
275
275
  </element>
276
276
  </define>
277
277
  <define name="fullname">
@@ -454,11 +454,11 @@ real names (if the person is named with a pseudonym or user name); previous lega
454
454
  <a:documentation>An identifier of the organization according to an international identifier scheme</a:documentation>
455
455
  </ref>
456
456
  </zeroOrMore>
457
- <zeroOrMore>
457
+ <optional>
458
458
  <ref name="contact">
459
459
  <a:documentation>Contact information for the organization, including address, phone number, and email</a:documentation>
460
460
  </ref>
461
- </zeroOrMore>
461
+ </optional>
462
462
  <optional>
463
463
  <ref name="logo">
464
464
  <a:documentation>A logo for the organization</a:documentation>
@@ -540,12 +540,18 @@ real names (if the person is named with a pseudonym or user name); previous lega
540
540
  <!-- TODO may change -->
541
541
  <define name="contact">
542
542
  <a:documentation>Contact information for a person or organization</a:documentation>
543
- <choice>
543
+ <zeroOrMore>
544
544
  <ref name="address"/>
545
+ </zeroOrMore>
546
+ <zeroOrMore>
545
547
  <ref name="phone"/>
548
+ </zeroOrMore>
549
+ <zeroOrMore>
546
550
  <ref name="email"/>
551
+ </zeroOrMore>
552
+ <zeroOrMore>
547
553
  <ref name="uri"/>
548
- </choice>
554
+ </zeroOrMore>
549
555
  </define>
550
556
  <define name="phone">
551
557
  <a:documentation>The phone number associated with a person or organization</a:documentation>
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Jis
3
- VERSION = "0.4.3".freeze
3
+ VERSION = "0.4.4".freeze
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-jis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-23 00:00:00.000000000 Z
11
+ date: 2025-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: japanese_calendar
@@ -322,7 +322,7 @@ homepage: https://github.com/metanorma/metanorma-jis
322
322
  licenses:
323
323
  - BSD-2-Clause
324
324
  metadata: {}
325
- post_install_message:
325
+ post_install_message:
326
326
  rdoc_options: []
327
327
  require_paths:
328
328
  - lib
@@ -338,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
338
338
  version: '0'
339
339
  requirements: []
340
340
  rubygems_version: 3.3.27
341
- signing_key:
341
+ signing_key:
342
342
  specification_version: 4
343
343
  summary: metanorma-jis lets you write JIS standards in AsciiDoc.
344
344
  test_files: []