metanorma-jis 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1705b0a1189c3766e1a185447e7ca92fa6c55ceebcb394f12d51782dbbe98a6e
4
- data.tar.gz: 9e549d8aaba6c21294d6314c980e79de90bd92f9172cf29f056199a5af1f135b
3
+ metadata.gz: cef3f0aef7b0710dc4f98802b2fcc476ffe6a3805d11334005eb280a0480001a
4
+ data.tar.gz: 9e8979493f228f6d689d606946736551c1f7e00545e90a1c68c664aa99f0d83a
5
5
  SHA512:
6
- metadata.gz: ef60ef6cce41c377a25975953d216a707b6621923b9d88a4202535b59a1bc7e9de8a6548be68718c51fb5df05c5e91a3f432b171f67f8e1112f3d42ddcd00cb3
7
- data.tar.gz: 1adc24ff72b309f1ccea730e3a047fc89d9678e489ec8f3d62c1213a26513babe1890a67a571fa33b4c804426f91fffdee28661a89a40025434ed02b41ecab72
6
+ metadata.gz: fa081288f2be1b8e984a141e577d92f6beff9c1e2e34202e2db931cdca1522341895c82f674d975aaba3102960e280f526d4b3bc5dadfc8fb1e866ef7aaa2da9
7
+ data.tar.gz: 162d57afdf668c125100e6f85376bf63803551b2ec6ef36fae2e1bf84d38d188b244d1176934add96330223fec28ccd4de6c047683078537ab6b57b58b813e10
@@ -6,6 +6,8 @@
6
6
 
7
7
  <xsl:variable name="debug">false</xsl:variable>
8
8
 
9
+ <xsl:variable name="isIgnoreComplexScripts">true</xsl:variable>
10
+
9
11
  <xsl:variable name="contents_">
10
12
  <xsl:variable name="bundle" select="count(//jis:jis-standard) &gt; 1"/>
11
13
 
@@ -7724,6 +7726,12 @@
7724
7726
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
7725
7727
  <attachment filename="{@name}"/>
7726
7728
  </xsl:for-each>
7729
+ <xsl:if test="not(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment'])">
7730
+ <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment']]">
7731
+ <xsl:variable name="attachment_path" select="*[local-name() = 'uri'][@type = 'attachment']"/>
7732
+ <attachment filename="{$attachment_path}"/>
7733
+ </xsl:for-each>
7734
+ </xsl:if>
7727
7735
  </xsl:variable>
7728
7736
  <xsl:variable name="pdfAttachmentsList" select="xalan:nodeset($pdfAttachmentsList_)"/>
7729
7737
 
@@ -7736,7 +7744,7 @@
7736
7744
  <xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
7737
7745
  </xsl:when>
7738
7746
  <!-- link to the PDF attachment -->
7739
- <xsl:when test="$pdfAttachmentsList//attachment[@filename = current()/@target]">
7747
+ <xsl:when test="@attachment = 'true' and $pdfAttachmentsList//attachment[@filename = current()/@target]">
7740
7748
  <xsl:value-of select="concat('url(embedded-file:', @target, ')')"/>
7741
7749
  </xsl:when>
7742
7750
  <!-- <xsl:when test="starts-with($target_normalized, '_') and contains($target_normalized, '_attachments/') and $pdfAttachmentsList//attachment[@filename = $target_attachment_name]">
@@ -8378,7 +8386,16 @@
8378
8386
  </xsl:variable>
8379
8387
  <xsl:variable name="img_src">
8380
8388
  <xsl:choose>
8381
- <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
8389
+ <xsl:when test="not(starts-with(@src, 'data:'))">
8390
+ <xsl:choose>
8391
+ <xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
8392
+ <xsl:value-of select="@src"/>
8393
+ </xsl:when>
8394
+ <xsl:otherwise>
8395
+ <xsl:value-of select="concat($basepath, @src)"/>
8396
+ </xsl:otherwise>
8397
+ </xsl:choose>
8398
+ </xsl:when>
8382
8399
  <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
8383
8400
  </xsl:choose>
8384
8401
  </xsl:variable>
@@ -8391,7 +8408,7 @@
8391
8408
  <!-- <xsl:message>width_effective=<xsl:value-of select="$width_effective"/></xsl:message>
8392
8409
  <xsl:message>indent_left=<xsl:value-of select="$indent_left"/></xsl:message>
8393
8410
  <xsl:message>image_width_effective=<xsl:value-of select="$image_width_effective"/> for <xsl:value-of select="ancestor::ogc:p[1]/@id"/></xsl:message> -->
8394
- <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $image_width_effective, $height_effective)"/>
8411
+ <xsl:variable name="scale" select="java:org.metanorma.fop.utils.ImageUtils.getImageScale($img_src, $image_width_effective, $height_effective)"/>
8395
8412
  <xsl:value-of select="$scale"/>
8396
8413
  </xsl:template>
8397
8414
 
@@ -8410,7 +8427,14 @@
8410
8427
  <xsl:value-of select="concat('url(file:///',$basepath, $src_png, ')')"/>
8411
8428
  </xsl:when>
8412
8429
  <xsl:when test="not(starts-with(@src, 'data:'))">
8413
- <xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
8430
+ <xsl:choose>
8431
+ <xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
8432
+ <xsl:value-of select="concat('url(file:///', @src, ')')"/>
8433
+ </xsl:when>
8434
+ <xsl:otherwise>
8435
+ <xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
8436
+ </xsl:otherwise>
8437
+ </xsl:choose>
8414
8438
  </xsl:when>
8415
8439
  <xsl:otherwise>
8416
8440
  <xsl:value-of select="@src"/>
@@ -8432,7 +8456,14 @@
8432
8456
  </xsl:when>
8433
8457
  <xsl:when test="not(starts-with(@src, 'data:'))">
8434
8458
  <xsl:variable name="src">
8435
- <xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
8459
+ <xsl:choose>
8460
+ <xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
8461
+ <xsl:value-of select="concat('url(file:///', @src, ')')"/>
8462
+ </xsl:when>
8463
+ <xsl:otherwise>
8464
+ <xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
8465
+ </xsl:otherwise>
8466
+ </xsl:choose>
8436
8467
  </xsl:variable>
8437
8468
  <xsl:variable name="file" select="java:java.io.File.new(@src)"/>
8438
8469
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
@@ -13328,26 +13359,37 @@
13328
13359
  </x:xmpmeta>
13329
13360
  <!-- add attachments -->
13330
13361
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
13331
- <xsl:choose>
13332
- <xsl:when test="normalize-space() != ''">
13333
- <xsl:variable name="src_attachment" select="java:replaceAll(java:java.lang.String.new(.),'(&#13;&#10;|&#13;|&#10;)', '')"/> <!-- remove line breaks -->
13334
- <pdf:embedded-file src="{$src_attachment}" filename="{@name}"/>
13335
- </xsl:when>
13336
- <xsl:otherwise>
13337
- <!-- _{filename}_attachments -->
13338
- <!-- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/> -->
13339
- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath , @name, ')')"/>
13340
- <pdf:embedded-file src="{$url}" filename="{@name}"/>
13341
- </xsl:otherwise>
13342
- </xsl:choose>
13362
+ <xsl:variable name="description" select="normalize-space(//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment'] = current()/@name]/*[local-name() = 'formattedref'])"/>
13363
+
13364
+ <pdf:embedded-file filename="{@name}">
13365
+ <xsl:attribute name="src">
13366
+ <xsl:choose>
13367
+ <xsl:when test="normalize-space() != ''">
13368
+ <xsl:variable name="src_attachment" select="java:replaceAll(java:java.lang.String.new(.),'(&#13;&#10;|&#13;|&#10;)', '')"/> <!-- remove line breaks -->
13369
+ <xsl:value-of select="$src_attachment"/>
13370
+ </xsl:when>
13371
+ <xsl:otherwise>
13372
+ <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath , @name, ')')"/>
13373
+ <xsl:value-of select="$url"/>
13374
+ </xsl:otherwise>
13375
+ </xsl:choose>
13376
+ </xsl:attribute>
13377
+ <xsl:if test="$description != ''">
13378
+ <xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
13379
+ </xsl:if>
13380
+ </pdf:embedded-file>
13343
13381
  </xsl:for-each>
13344
13382
  <!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
13345
13383
  <xsl:if test="not(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment'])">
13346
13384
  <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment']]">
13347
13385
  <xsl:variable name="attachment_path" select="*[local-name() = 'uri'][@type = 'attachment']"/>
13348
- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, $attachment_path, ')')"/>
13349
- <xsl:variable name="filename_embedded" select="substring-after($attachment_path, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
13350
- <pdf:embedded-file src="{$url}" filename="{$filename_embedded}"/>
13386
+ <xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
13387
+ <xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
13388
+ <pdf:embedded-file src="{$url}" filename="{$attachment_path}">
13389
+ <xsl:if test="$description != ''">
13390
+ <xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
13391
+ </xsl:if>
13392
+ </pdf:embedded-file>
13351
13393
  </xsl:for-each>
13352
13394
  </xsl:if>
13353
13395
  </xsl:template> <!-- addPDFUAmeta -->
@@ -13723,7 +13765,14 @@
13723
13765
  <xsl:value-of select="$src"/>
13724
13766
  </xsl:when>
13725
13767
  <xsl:otherwise>
13726
- <xsl:value-of select="concat('url(file:///',$basepath, $src, ')')"/>
13768
+ <xsl:choose>
13769
+ <xsl:when test="@extracted = 'true'"> <!-- added in mn2pdf v1.97 -->
13770
+ <xsl:value-of select="concat('url(file:///', @src, ')')"/>
13771
+ </xsl:when>
13772
+ <xsl:otherwise>
13773
+ <xsl:value-of select="concat('url(file:///',$basepath, $src, ')')"/>
13774
+ </xsl:otherwise>
13775
+ </xsl:choose>
13727
13776
  </xsl:otherwise>
13728
13777
  </xsl:choose>
13729
13778
  </xsl:template>
@@ -1000,14 +1000,14 @@
1000
1000
  <define name="PureTextElement">
1001
1001
  <choice>
1002
1002
  <text/>
1003
- <ref name="em"/>
1004
- <ref name="strong"/>
1003
+ <ref name="pure_em"/>
1004
+ <ref name="pure_strong"/>
1005
1005
  <ref name="sub"/>
1006
1006
  <ref name="sup"/>
1007
- <ref name="tt"/>
1008
- <ref name="underline"/>
1009
- <ref name="strike"/>
1010
- <ref name="smallcap"/>
1007
+ <ref name="pure_tt"/>
1008
+ <ref name="pure_underline"/>
1009
+ <ref name="pure_strike"/>
1010
+ <ref name="pure_smallcap"/>
1011
1011
  <ref name="br"/>
1012
1012
  </choice>
1013
1013
  </define>
@@ -1031,6 +1031,13 @@
1031
1031
  </zeroOrMore>
1032
1032
  </element>
1033
1033
  </define>
1034
+ <define name="pure_em">
1035
+ <element name="em">
1036
+ <zeroOrMore>
1037
+ <ref name="PureTextElement"/>
1038
+ </zeroOrMore>
1039
+ </element>
1040
+ </define>
1034
1041
  <define name="strong">
1035
1042
  <element name="strong">
1036
1043
  <zeroOrMore>
@@ -1046,6 +1053,13 @@
1046
1053
  </zeroOrMore>
1047
1054
  </element>
1048
1055
  </define>
1056
+ <define name="pure_strong">
1057
+ <element name="strong">
1058
+ <zeroOrMore>
1059
+ <ref name="PureTextElement"/>
1060
+ </zeroOrMore>
1061
+ </element>
1062
+ </define>
1049
1063
  <define name="tt">
1050
1064
  <element name="tt">
1051
1065
  <zeroOrMore>
@@ -1060,6 +1074,13 @@
1060
1074
  </zeroOrMore>
1061
1075
  </element>
1062
1076
  </define>
1077
+ <define name="pure_tt">
1078
+ <element name="tt">
1079
+ <zeroOrMore>
1080
+ <ref name="PureTextElement"/>
1081
+ </zeroOrMore>
1082
+ </element>
1083
+ </define>
1063
1084
  <define name="keyword">
1064
1085
  <element name="keyword">
1065
1086
  <zeroOrMore>
@@ -1090,13 +1111,42 @@
1090
1111
  <zeroOrMore>
1091
1112
  <choice>
1092
1113
  <ref name="PureTextElement"/>
1114
+ <ref name="stem"/>
1115
+ <ref name="eref"/>
1116
+ <ref name="xref"/>
1117
+ <ref name="hyperlink"/>
1093
1118
  <ref name="index"/>
1094
1119
  <ref name="index-xref"/>
1095
1120
  </choice>
1096
1121
  </zeroOrMore>
1097
1122
  </element>
1098
1123
  </define>
1124
+ <define name="pure_strike">
1125
+ <element name="strike">
1126
+ <zeroOrMore>
1127
+ <ref name="PureTextElement"/>
1128
+ </zeroOrMore>
1129
+ </element>
1130
+ </define>
1099
1131
  <define name="underline">
1132
+ <element name="underline">
1133
+ <optional>
1134
+ <attribute name="style"/>
1135
+ </optional>
1136
+ <zeroOrMore>
1137
+ <choice>
1138
+ <ref name="PureTextElement"/>
1139
+ <ref name="stem"/>
1140
+ <ref name="eref"/>
1141
+ <ref name="xref"/>
1142
+ <ref name="hyperlink"/>
1143
+ <ref name="index"/>
1144
+ <ref name="index-xref"/>
1145
+ </choice>
1146
+ </zeroOrMore>
1147
+ </element>
1148
+ </define>
1149
+ <define name="pure_underline">
1100
1150
  <element name="underline">
1101
1151
  <optional>
1102
1152
  <attribute name="style"/>
@@ -1107,6 +1157,21 @@
1107
1157
  </element>
1108
1158
  </define>
1109
1159
  <define name="smallcap">
1160
+ <element name="smallcap">
1161
+ <zeroOrMore>
1162
+ <choice>
1163
+ <ref name="PureTextElement"/>
1164
+ <ref name="stem"/>
1165
+ <ref name="eref"/>
1166
+ <ref name="xref"/>
1167
+ <ref name="hyperlink"/>
1168
+ <ref name="index"/>
1169
+ <ref name="index-xref"/>
1170
+ </choice>
1171
+ </zeroOrMore>
1172
+ </element>
1173
+ </define>
1174
+ <define name="pure_smallcap">
1110
1175
  <element name="smallcap">
1111
1176
  <zeroOrMore>
1112
1177
  <ref name="PureTextElement"/>
@@ -1204,7 +1204,9 @@
1204
1204
  <optional>
1205
1205
  <ref name="formattedref"/>
1206
1206
  </optional>
1207
- <ref name="btitle"/>
1207
+ <oneOrMore>
1208
+ <ref name="btitle"/>
1209
+ </oneOrMore>
1208
1210
  <optional>
1209
1211
  <ref name="bplace"/>
1210
1212
  </optional>
@@ -662,6 +662,9 @@
662
662
  <value>LatexMath</value>
663
663
  </choice>
664
664
  </attribute>
665
+ <optional>
666
+ <attribute name="number-format"/>
667
+ </optional>
665
668
  <attribute name="block">
666
669
  <data type="boolean"/>
667
670
  </attribute>
@@ -66,6 +66,9 @@
66
66
  <ref name="MultilingualRenderingType"/>
67
67
  </attribute>
68
68
  </optional>
69
+ <optional>
70
+ <attribute name="class"/>
71
+ </optional>
69
72
  <optional>
70
73
  <ref name="reqtitle"/>
71
74
  </optional>
@@ -20,6 +20,9 @@ module Metanorma
20
20
  schema_validate(formattedstr_strip(doc.dup),
21
21
  File.join(File.dirname(__FILE__), "jis.rng"))
22
22
  end
23
+
24
+ def image_name_validate(xmldoc); end
25
+ def norm_bibitem_style(xmldoc); end
23
26
  end
24
27
  end
25
28
  end
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module JIS
3
- VERSION = "0.3.2".freeze
3
+ VERSION = "0.3.3".freeze
4
4
  end
5
5
  end
6
6
 
@@ -0,0 +1,57 @@
1
+ extenttemplate:
2
+ book: "{{ volume }} {{ page }}"
3
+ booklet: book
4
+ proceedings: book
5
+ journal: book
6
+ standard: book
7
+ techreport: book
8
+ inbook: "{{ volume }} {{ page }}"
9
+ misc: "{{ volume }} {{issue}} {{ page }}, {{ duration }}"
10
+ nametemplate:
11
+ one: "{% if nonpersonal[0] %}{{ nonpersonal[0] }}{% else %}{{surname[0]}} {{initials[0] | join: ''}}.{% endif %}"
12
+ two: "{% if nonpersonal[0] %}{{ nonpersonal[0] }}{% else %}{{surname[0]}} {{initials[0] | join: ''}}.{% endif %} , & {% if nonpersonal[1] %}{{ nonpersonal[1] }}{% else %}{{surname[1]}} {{initials[1] | join: ''}}.{% endif %}"
13
+ more: "{% if nonpersonal[0] %}{{ nonpersonal[0] }}{% else %}{{surname[0]}} {{initials[0] | join: ''}}.{% endif %} , {% if nonpersonal[1] %}{{ nonpersonal[1] }}{% else %}{{surname[1]}} {{initials[1] | join: ''}}. {% endif %} , & {% if nonpersonal[2] %}{{ nonpersonal[2] }}{% else %}{{surname[2]}} {{initials[2] | join: ''}}.{% endif %}"
14
+ # disabled the following: they should be provided in inheriting calls
15
+ # etal: "{% if nonpersonal[0] %}{{ nonpersonal[0] }}{% else %}{{surname[0] | upcase}} ,_{%if given[0]%}{{given[0]}} {{middle[0]}}{%else%}{{initials[0] | join: ' '}}.{%endif%}{% endif %}, {% if nonpersonal[1] %}{{ nonpersonal[1] }}{% else %}{%if given[1]%}{{given[1]}} {{middle[1]}}{%else%}{{initials[1] | join: ' '}}.{%endif%} {{surname[1] | upcase}}{% endif %} <em>et al.</em>"
16
+ # etal_count: 5
17
+ seriestemplate: "{% if series_formatted %}{{ series_formatted }}{%else%}{% if series_abbr %}{{series_abbr}}{% else %}{{series_title}}{% endif %} ({{series_run}}) {{series_num}}|({{series_partnumber}}){%endif%}"
18
+ journaltemplate: "{% if series_abbr %}{{series_abbr}}{% else %}{{series_title}}{% endif %} ({{series_run}}) {{ labels['volume'] }}_{{series_num}} {{ labels['part'] }}_{{series_partnumber}}"
19
+ template:
20
+ # skip standardidentifier, it is inserted in front of formattedref within metanorma
21
+ standard: "{% if home_standard %}<span_class='stddocTitle'>{{ title }}</span> ,_{{ extent }}{% else %}{{ creatornames }}. <span_class='stddocTitle'>{{ title }}</span> ,_{{ extent }} . {{ labels['version'] | capitalize }}_{{ edition_raw }}. {{labels['updated'] | capitalize }}_{{date_updated}}. {{status | capitalize}}. {{ authorizer }}. {{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>.{% endif %}"
22
+ website: "{{ creatornames }} ({{ role }}) . <span_class='stddocTitle'>{{ title }}</span> [{{ labels['website'] }}]. {{ labels['version'] | capitalize }}_{{ edition_raw }}. {{place}}: {{ publisher }}. {{date}}. {{ labels['updated'] | capitalize }}:_{{date_updated}}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. [{{ labels['viewed'] }}:_{{date_accessed}}]. "
23
+ book: "{{ creatornames }} ({{role}}) . {{ title }} . {{ edition | capitalize_first }}. ({{ series }}). {% if place %}{{place}}{%else%}{{ labels['no_place']}}{%endif%}: {{publisher}}. {{date}}. {{size}}. {{extent}}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
24
+ booklet: book
25
+ manual: book
26
+ techreport: book
27
+ proceedings: book
28
+ inbook: "{{ creatornames }} ({{role}}) . {{ title }} . {{host_title}} ({{host_role}} {{ host_creatornames}}). {{ edition | capitalize_first }}. ({{ series }}). {% if place %}{{place}}{%else%}{{ labels['no_place']}}{%endif%}: {{publisher}}. {{date}}. {{size}}. {{extent}}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
29
+ inproceedings: inbook
30
+ incollection: inbook
31
+ journal: "{{ title}} . {{ edition | capitalize_first }}. {{place}}: {{publisher}}. {{date}}. {{size}}. {{extent}}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
32
+ article: "{{ creatornames }} ({{role}}) . {{ title }}. {{ series }} . {{date}}, {{ extent }}. {{ labels['updated'] | capitalize }}:_{{date_updated}}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
33
+ software: "{{ creatornames }} ({{ role}}) . {{ title }} . {{ labels['version'] | capitalize }}_{{ edition_raw }}. {{medium | capitalize}}. {{place}}: {{publisher}}. {{date}}. {{size}}. {{extent}}. {{ labels['updated'] | capitalize }}:_{{date_updated}}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. [{{ labels['viewed'] }}:_{{date_accessed}}]. "
34
+ electronic resource: software
35
+ dataset: "{{ creatornames }} ({{ role }}) . {{ title }} . {{ labels['version'] | capitalize }}_{{ edition_raw }}. {{medium | capitalize }}. {{ labels['in'] | capitalize }}:_{{series}}. {{date}}. {{ labels['updated'] | capitalize }}:_{{date_updated}}. {{ authoritative_identifier | join '. ' }}. {{ other_identifier | join '. ' }}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. {{ size }}. {{ extent}}. [{{ labels['viewed'] }}:_{{date_accessed}}]. "
36
+ webresource: website
37
+ unpublished: "{{ creatornames }} ({{ role }}) . {{ title }} . {{ medium | capitalize }}. {{ date }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. [{{ labels['viewed'] }}:_{{date_accessed}}]."
38
+ presentation: unpublished
39
+ thesis: "{{ creatornames }} ({{ role }}) . {{ title }} . {{ medium | capitalize }}. {{place}}: {{ publisher }}. {{ date }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. ._{{ labels['availablefrom'] }}:_<span_class='biburl'>{{ uri }}</span>. [{{ labels['viewed'] }}:_{{date_accessed}}]."
40
+ misc: "{{ creatornames }} ({{ role }}) . {{ title }} . {{ date }}."
41
+ # following are # unsupported types:
42
+ map: misc
43
+ audiovisual: misc
44
+ film: misc
45
+ video: misc
46
+ broadcast: misc
47
+ graphic_work: misc
48
+ music: misc
49
+ performance: misc
50
+ patent: misc
51
+ archival: misc
52
+ social_media: misc
53
+ alert: misc
54
+ message: misc
55
+ conversation: misc
56
+ internal: misc
57
+
@@ -7,14 +7,27 @@ module Relaton
7
7
  module Render
8
8
  module JIS
9
9
  class General < ::Relaton::Render::Iso::General
10
- #def config_loc
11
- # YAML.load_file(File.join(File.dirname(__FILE__), "config.yml"))
12
- #end
10
+ def config_loc
11
+ YAML.load_file(File.join(File.dirname(__FILE__), "config.yml"))
12
+ end
13
13
 
14
14
  def klass_initialize(_options)
15
15
  super
16
16
  @parseklass = Relaton::Render::JIS::Parse
17
17
  end
18
+
19
+ def render1(doc)
20
+ r = doc.relation.select { |x| x.type == "hasRepresentation" }
21
+ .map { |x| @i18n.also_pub_as + render_single_bibitem(x.bibitem) }
22
+ out = [render_single_bibitem(doc)] + r
23
+ @i18n.l10n(out.join(". ").gsub(".. ", ". ").sub(/\.\s*$/, ""))
24
+ end
25
+
26
+ def render_all(bib, type: "author-date")
27
+ ret = super
28
+ ret&.each_value { |k| k[:formattedref]&.sub!(/[.。]\s*$/, "") }
29
+ ret
30
+ end
18
31
  end
19
32
  end
20
33
  end
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.3.2
4
+ version: 0.3.3
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-08-19 00:00:00.000000000 Z
11
+ date: 2024-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: japanese_calendar
@@ -314,6 +314,7 @@ files:
314
314
  - lib/metanorma/jis/reqt.rng
315
315
  - lib/metanorma/jis/validate.rb
316
316
  - lib/metanorma/jis/version.rb
317
+ - lib/relaton/render-jis/config.yml
317
318
  - lib/relaton/render-jis/general.rb
318
319
  - lib/relaton/render-jis/parse.rb
319
320
  - metanorma-jis.gemspec