metanorma-jis 0.3.0 → 0.3.1

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: 1aab80a7925f249d9da43542593dcb44fbf35c6e444e47b43c2d409f6b5e6337
4
- data.tar.gz: 0f25e20b71e7410dca4bdbc7f7484cea9926fd198d480a52a5213e19194af60b
3
+ metadata.gz: b3c4ae85ab16813c1ea6df1c84c0f35eed81c3cfced1a6847f24c18ee4d3d15a
4
+ data.tar.gz: 6cd56b9042872341a10daa7a420eeb2fc253b36316d487ee40e0b863b1cd34fc
5
5
  SHA512:
6
- metadata.gz: a3e77efa2a97c6faf8f6419d9d73d77b99da0682f668df17113516c75d7b8d33625ec56274a5996d576d8dffdf6816df2699ab9c080fcce06ee9be30e89c5fcc
7
- data.tar.gz: cfc8462eb1314e15cd7c163d4f767c61a1b84631c1159851110398e559722e9dbadb743f3920c6255f868656c6573bab0748e0dcb9b2c9bd2cd479355c44ab93
6
+ metadata.gz: 917d400c63d026ef24f46382369e4c0d0789060e85938bff493143045219ed36b256aa92d19f7dbfa74f06640f031a7ea231f44adfa1abf196ce9b32e8d0472a
7
+ data.tar.gz: 21a50c365f2107c6dc1fde249ff28453c2fcbf3d9d2c6c9064d6881738fbfc9d8a858bd9c7cc412b59e0be7ff643a27bdcb64c5843975b7158c1b4dd664ef0de
@@ -6,6 +6,9 @@ commentary_page: Comm.
6
6
  JIS: 日本工業規格
7
7
  permission_footer: Duplication, reprinting, etc. without permission is prohibited by copyright law.
8
8
  chairperson: chairperson
9
+ membership_table: Membership Table
10
+ full_name: Full Name
11
+ affiliation: Affiliation
9
12
  doctype_dict:
10
13
  international-standard: International standard
11
14
  japanese-industrial-standard: International standard
@@ -11,6 +11,9 @@ JIS: 日本工業規格
11
11
  draft_label: 案
12
12
  white-paper: 白紙
13
13
  chairperson: 委員会長
14
+ membership_table: 構成表
15
+ full_name: 氏名
16
+ affiliation: 所属
14
17
  doctype_dict:
15
18
  international-standard: 日本産業規格
16
19
  japanese-industrial-standard: 日本産業規格
@@ -185,6 +185,11 @@
185
185
  <xsl:apply-templates mode="update_xml_step1"/>
186
186
  </xsl:variable>
187
187
  <!-- DEBUG: updated_xml_step1=<xsl:copy-of select="$updated_xml_step1"/> -->
188
+ <!-- <xsl:message>start redirect</xsl:message>
189
+ <redirect:write file="update_xml_step1.xml">
190
+ <xsl:copy-of select="$updated_xml_step1"/>
191
+ </redirect:write>
192
+ <xsl:message>end redirect</xsl:message> -->
188
193
 
189
194
  <xsl:variable name="updated_xml_step2_">
190
195
  <xsl:apply-templates select="xalan:nodeset($updated_xml_step1)" mode="update_xml_step2"/>
@@ -246,87 +251,99 @@
246
251
  <!-- Contents and preface pages -->
247
252
  <!-- ========================== -->
248
253
 
249
- <fo:page-sequence master-reference="document_toc" initial-page-number="1" force-page-count="no-force">
254
+ <xsl:for-each select="/*/*[local-name()='preface']/*">
255
+ <xsl:sort select="@displayorder" data-type="number"/>
250
256
 
251
- <xsl:call-template name="insertHeaderFooter">
252
- <xsl:with-param name="docidentifier" select="$docidentifier"/>
253
- <xsl:with-param name="copyrightText" select="$copyrightText"/>
254
- <xsl:with-param name="section">preface</xsl:with-param>
255
- <xsl:with-param name="section_title">
256
- <fo:inline font-family="IPAexGothic">
257
- <xsl:text> </xsl:text>
258
- <xsl:call-template name="getLocalizedString">
259
- <xsl:with-param name="key">table_of_contents</xsl:with-param>
260
- </xsl:call-template>
261
- </fo:inline>
262
- </xsl:with-param>
263
- </xsl:call-template>
264
-
265
- <fo:flow flow-name="xsl-region-body">
257
+ <xsl:choose>
258
+ <xsl:when test="local-name() = 'clause' and @type = 'toc'">
259
+ <fo:page-sequence master-reference="document_toc" force-page-count="no-force">
266
260
 
267
- <xsl:if test="$debug = 'true'">
268
- <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
269
- DEBUG
270
- contents=<xsl:copy-of select="$contents"/>
271
- <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
272
- </xsl:if>
261
+ <xsl:if test="position() = 1">
262
+ <xsl:attribute name="initial-page-number">1</xsl:attribute>
263
+ </xsl:if>
273
264
 
274
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() = 'clause'][@type = 'toc']">
275
- <xsl:with-param name="num" select="$num"/>
276
- </xsl:apply-templates>
265
+ <xsl:call-template name="insertHeaderFooter">
266
+ <xsl:with-param name="docidentifier" select="$docidentifier"/>
267
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
268
+ <xsl:with-param name="section">preface</xsl:with-param>
269
+ <xsl:with-param name="section_title">
270
+ <fo:inline font-family="IPAexGothic">
271
+ <xsl:text> </xsl:text>
272
+ <xsl:call-template name="getLocalizedString">
273
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
274
+ </xsl:call-template>
275
+ </fo:inline>
276
+ </xsl:with-param>
277
+ </xsl:call-template>
277
278
 
278
- <xsl:if test="not(/*/*[local-name()='preface']/*[local-name() = 'clause'][@type = 'toc'])">
279
- <fo:block><!-- prevent fop error for empty document --></fo:block>
280
- </xsl:if>
279
+ <fo:flow flow-name="xsl-region-body">
281
280
 
282
- </fo:flow>
281
+ <!-- <xsl:if test="$debug = 'true'">
282
+ <redirect:write file="contents_.xml">
283
+ <xsl:copy-of select="$contents"/>
284
+ </redirect:write>
285
+ </xsl:if> -->
283
286
 
284
- </fo:page-sequence>
287
+ <xsl:apply-templates select=".">
288
+ <xsl:with-param name="num" select="$num"/>
289
+ </xsl:apply-templates>
285
290
 
286
- <xsl:variable name="structured_xml_preface">
291
+ <!-- <xsl:if test="not(/*/*[local-name()='preface']/*[local-name() = 'clause'][@type = 'toc'])">
292
+ <fo:block> --><!-- prevent fop error for empty document --><!-- </fo:block>
293
+ </xsl:if> -->
287
294
 
288
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() = 'foreword']" mode="linear_xml"/>
295
+ </fo:flow>
289
296
 
290
- </xsl:variable>
297
+ </fo:page-sequence>
298
+ </xsl:when><!-- end ToC -->
299
+ <xsl:otherwise>
300
+ <xsl:variable name="structured_xml_preface">
301
+ <xsl:apply-templates select="." mode="linear_xml"/>
302
+ </xsl:variable>
291
303
 
292
- <!-- structured_xml_preface=<xsl:copy-of select="$structured_xml_preface"/> -->
304
+ <xsl:variable name="paged_xml_preface_">
305
+ <xsl:call-template name="makePagedXML">
306
+ <xsl:with-param name="structured_xml" select="$structured_xml_preface"/>
307
+ </xsl:call-template>
308
+ </xsl:variable>
309
+ <xsl:variable name="paged_xml_preface" select="xalan:nodeset($paged_xml_preface_)"/>
293
310
 
294
- <xsl:variable name="paged_xml_preface_">
295
- <xsl:call-template name="makePagedXML">
296
- <xsl:with-param name="structured_xml" select="$structured_xml_preface"/>
297
- </xsl:call-template>
298
- </xsl:variable>
299
- <xsl:variable name="paged_xml_preface" select="xalan:nodeset($paged_xml_preface_)"/>
311
+ <xsl:if test="$paged_xml_preface/*[local-name()='page'] and count($paged_xml_preface/*[local-name()='page']/*) != 0">
312
+ <!-- Preface pages -->
313
+ <fo:page-sequence master-reference="document_preface" force-page-count="no-force">
300
314
 
301
- <xsl:if test="$paged_xml_preface/*[local-name()='page'] and count($paged_xml_preface/*[local-name()='page']/*) != 0">
302
- <!-- Preface pages -->
303
- <fo:page-sequence master-reference="document_preface" force-page-count="no-force">
315
+ <xsl:if test="position() = 1">
316
+ <xsl:attribute name="initial-page-number">1</xsl:attribute>
317
+ </xsl:if>
304
318
 
305
- <fo:static-content flow-name="xsl-footnote-separator">
306
- <fo:block text-align="center" margin-bottom="6pt">
307
- <fo:leader leader-pattern="rule" leader-length="80mm"/>
308
- </fo:block>
309
- </fo:static-content>
319
+ <fo:static-content flow-name="xsl-footnote-separator">
320
+ <fo:block text-align="center" margin-bottom="6pt">
321
+ <fo:leader leader-pattern="rule" leader-length="80mm"/>
322
+ </fo:block>
323
+ </fo:static-content>
310
324
 
311
- <xsl:call-template name="insertHeaderFooter">
312
- <xsl:with-param name="docidentifier" select="$docidentifier"/>
313
- <xsl:with-param name="copyrightText" select="$copyrightText"/>
314
- <xsl:with-param name="section">preface</xsl:with-param>
315
- </xsl:call-template>
325
+ <xsl:call-template name="insertHeaderFooter">
326
+ <xsl:with-param name="docidentifier" select="$docidentifier"/>
327
+ <xsl:with-param name="copyrightText" select="$copyrightText"/>
328
+ <xsl:with-param name="section">preface</xsl:with-param>
329
+ </xsl:call-template>
316
330
 
317
- <fo:flow flow-name="xsl-region-body">
331
+ <fo:flow flow-name="xsl-region-body">
318
332
 
319
- <fo:block>
320
- <xsl:for-each select="$paged_xml_preface/*[local-name()='page']">
321
- <xsl:if test="position() != 1">
322
- <fo:block break-after="page"/>
323
- </xsl:if>
324
- <xsl:apply-templates select="*" mode="page"/>
325
- </xsl:for-each>
326
- </fo:block>
327
- </fo:flow>
328
- </fo:page-sequence> <!-- END Preface pages -->
329
- </xsl:if>
333
+ <fo:block>
334
+ <xsl:for-each select="$paged_xml_preface/*[local-name()='page']">
335
+ <xsl:if test="position() != 1">
336
+ <fo:block break-after="page"/>
337
+ </xsl:if>
338
+ <xsl:apply-templates select="*" mode="page"/>
339
+ </xsl:for-each>
340
+ </fo:block>
341
+ </fo:flow>
342
+ </fo:page-sequence> <!-- END Preface pages -->
343
+ </xsl:if>
344
+ </xsl:otherwise>
345
+ </xsl:choose>
346
+ </xsl:for-each>
330
347
 
331
348
  <!-- Document type rendering -->
332
349
  <fo:page-sequence master-reference="document_preface" force-page-count="no-force">
@@ -400,7 +417,12 @@
400
417
  <xsl:copy-of select="./*"/>
401
418
  </xsl:for-each>
402
419
  </xsl:variable>
403
- <!-- structured_xml=<xsl:copy-of select="$structured_xml" /> -->
420
+
421
+ <!-- <xsl:if test="$debug = 'true'">
422
+ <redirect:write file="structured_xml_.xml">
423
+ <xsl:copy-of select="$structured_xml"/>
424
+ </redirect:write>
425
+ </xsl:if> -->
404
426
 
405
427
  <xsl:variable name="paged_xml">
406
428
  <xsl:call-template name="makePagedXML">
@@ -1102,6 +1124,12 @@
1102
1124
  </xsl:choose>
1103
1125
  </xsl:template>
1104
1126
 
1127
+ <xsl:template match="*[local-name() = 'introduction']">
1128
+ <fo:block id="{@id}">
1129
+ <xsl:apply-templates/>
1130
+ </fo:block>
1131
+ </xsl:template>
1132
+
1105
1133
  <xsl:template match="*[local-name() = 'annex']" priority="2">
1106
1134
  <fo:block id="{@id}">
1107
1135
  </fo:block>
@@ -7639,18 +7667,33 @@
7639
7667
 
7640
7668
  <xsl:template match="*[local-name()='localityStack']"/>
7641
7669
 
7670
+ <xsl:variable name="pdfAttachmentsList_">
7671
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
7672
+ <attachment filename="{@name}"/>
7673
+ </xsl:for-each>
7674
+ </xsl:variable>
7675
+ <xsl:variable name="pdfAttachmentsList" select="xalan:nodeset($pdfAttachmentsList_)"/>
7676
+
7642
7677
  <xsl:template match="*[local-name()='link']" name="link">
7678
+ <xsl:variable name="target_normalized" select="translate(@target, '\', '/')"/>
7679
+ <xsl:variable name="target_attachment_name" select="substring-after($target_normalized, '_attachments/')"/>
7643
7680
  <xsl:variable name="target">
7644
7681
  <xsl:choose>
7645
7682
  <xsl:when test="@updatetype = 'true'">
7646
7683
  <xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
7647
7684
  </xsl:when>
7685
+ <!-- link to the PDF attachment -->
7686
+ <xsl:when test="$pdfAttachmentsList//attachment[@filename = current()/@target]">
7687
+ <xsl:value-of select="concat('url(embedded-file:', @target, ')')"/>
7688
+ </xsl:when>
7689
+ <!-- <xsl:when test="starts-with($target_normalized, '_') and contains($target_normalized, '_attachments/') and $pdfAttachmentsList//attachment[@filename = $target_attachment_name]">
7690
+ <xsl:value-of select="concat('url(embedded-file:', $target_attachment_name, ')')"/>
7691
+ </xsl:when>
7648
7692
  <xsl:when test="contains(@target, concat('_', $inputxml_filename_prefix, '_attachments'))">
7649
- <!-- link to the PDF attachment -->
7650
7693
  <xsl:variable name="target_" select="translate(@target, '\', '/')"/>
7651
7694
  <xsl:variable name="target__" select="substring-after($target_, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
7652
7695
  <xsl:value-of select="concat('url(embedded-file:', $target__, ')')"/>
7653
- </xsl:when>
7696
+ </xsl:when> -->
7654
7697
  <xsl:otherwise>
7655
7698
  <xsl:value-of select="normalize-space(@target)"/>
7656
7699
  </xsl:otherwise>
@@ -12244,6 +12287,17 @@
12244
12287
  <xsl:copy-of select="."/>
12245
12288
  </xsl:template>
12246
12289
 
12290
+ <xsl:template match="*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']" mode="update_xml_step1">
12291
+ <xsl:copy>
12292
+ <xsl:copy-of select="@*"/>
12293
+ <xsl:variable name="name_filepath" select="concat($inputxml_basepath, @name)"/>
12294
+ <xsl:variable name="file_exists" select="normalize-space(java:exists(java:java.io.File.new($name_filepath)))"/>
12295
+ <xsl:if test="$file_exists = 'false'"> <!-- copy attachment content only if file on disk doesnt exist -->
12296
+ <xsl:value-of select="."/>
12297
+ </xsl:if>
12298
+ </xsl:copy>
12299
+ </xsl:template>
12300
+
12247
12301
  <!-- add @id, mandatory for table auto-layout algorithm -->
12248
12302
  <xsl:template match="*[local-name() = 'dl' or local-name() = 'table'][not(@id)]" mode="update_xml_step1">
12249
12303
  <xsl:copy>
@@ -13225,7 +13279,8 @@
13225
13279
  </xsl:when>
13226
13280
  <xsl:otherwise>
13227
13281
  <!-- _{filename}_attachments -->
13228
- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/>
13282
+ <!-- <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, '_', $inputxml_filename_prefix, '_attachments', '/', @name, ')')"/> -->
13283
+ <xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath , @name, ')')"/>
13229
13284
  <pdf:embedded-file src="{$url}" filename="{@name}"/>
13230
13285
  </xsl:otherwise>
13231
13286
  </xsl:choose>
@@ -73,20 +73,23 @@ module IsoDoc
73
73
  investigative_committee(xml)
74
74
  end
75
75
 
76
+ def extract_role(role, desc)
77
+ <<~XPATH
78
+ //bibdata/contributor[xmlns:role/@type = '#{role}'][xmlns:role/description = '#{desc}' or xmlns:role/description = '#{desc.downcase}']
79
+ XPATH
80
+ end
81
+
76
82
  def investigative_organisation(xml)
77
- xpath = "//bibdata/contributor" \
78
- "[xmlns:role/@type = 'authorizer'][xmlns:role/description = " \
79
- "'investigative organization']/organization/name"
80
- org = xml.at(ns(xpath))
83
+ p = extract_role("authorizer", "Investigative organization")
84
+ org = xml.at(ns("#{p}/organization/name[@language = '#{@lang}']"))
85
+ org ||= xml.at(ns("#{p}/organization/name"))
81
86
  if org then set_encoded(:"investigative-organization", org)
82
87
  else set(:"investigative-organization", get[:publisher])
83
88
  end
84
89
  end
85
90
 
86
91
  def investigative_committee(xml)
87
- xpath = "//bibdata/contributor" \
88
- "[xmlns:role/@type = 'authorizer'][xmlns:role/description = " \
89
- "'investigative committee']"
92
+ xpath = extract_role("authorizer", "Investigative committee")
90
93
  if o = xml.at(ns("#{xpath}/organization/name"))
91
94
  set_encoded(:"investigative-committee", o)
92
95
  elsif p = xml.at(ns("#{xpath}/person"))
@@ -22,7 +22,7 @@ module IsoDoc
22
22
  docxml.at(ns("//annex[@commentary = 'true']")) or return
23
23
  b = docxml.at(ns("//bibliography")) ||
24
24
  docxml.at(ns("//annex[last()]")).after(" ").next
25
- docxml.xpath(ns("//annex[@commentary = 'true']")).reverse.each do |x|
25
+ docxml.xpath(ns("//annex[@commentary = 'true']")).reverse_each do |x|
26
26
  b.next = x.remove
27
27
  end
28
28
  end
@@ -42,17 +42,22 @@ module IsoDoc
42
42
  elem.previous = ret
43
43
  end
44
44
 
45
- def toc_title_insert_pt(docxml)
46
- ins = docxml.at(ns("//preface")) ||
45
+ def make_preface(docxml)
46
+ docxml.at(ns("//preface")) ||
47
47
  docxml.at(ns("//sections | //annex | //bibliography"))
48
48
  &.before("<preface> </preface>")
49
- &.previous_element or return nil
49
+ &.previous_element
50
+ end
51
+
52
+ def toc_title_insert_pt(docxml)
53
+ ins = make_preface(docxml) or return nil
50
54
  ins.children.last.after(" ").next
51
55
  end
52
56
 
53
57
  def preface_rearrange(doc)
54
58
  move_introduction(doc)
55
59
  super
60
+ move_participants(doc)
56
61
  end
57
62
 
58
63
  def move_introduction(doc)
@@ -63,6 +68,45 @@ module IsoDoc
63
68
  dest.children.first.next = source
64
69
  end
65
70
 
71
+ def move_participants(doc)
72
+ p = doc.at(ns("//clause[@type = 'participants']")) or return
73
+ t = participant_table(p) or return
74
+ p.remove
75
+ ins = make_preface(doc) or return nil
76
+ ins.children.first.previous = t
77
+ end
78
+
79
+ def participant_table(clause)
80
+ s = clause.at(ns("./sourcecode")) or return nil
81
+ y = YAML.safe_load(s.children.to_xml(encoding: "UTF-8")) or return nil
82
+ y.is_a?(Array) or return nil
83
+ out1 = <<~OUTPUT
84
+ <clause id='_#{UUIDTools::UUID.random_create}'><title>#{@meta.get[:"investigative-committee"]} #{@i18n.membership_table}</title>
85
+ <table unnumbered='true'>
86
+ <thead>
87
+ <tr><th/><th>#{@i18n.full_name}</th><th>#{@i18n.affiliation}</th></tr>
88
+ </thead>
89
+ <tbody>
90
+ OUTPUT
91
+ out2 = <<~OUTPUT
92
+ </tbody></table></clause>
93
+ OUTPUT
94
+ "#{out1}#{participant_rows(y)}#{out2}"
95
+ end
96
+
97
+ def participant_rows(yaml)
98
+ yaml.map do |y|
99
+ r = y["role"] ? @i18n.l10n("(#{y['role']})") : ""
100
+ n = y["name"]
101
+ if n.is_a?(Hash)
102
+ n =
103
+ if @lang == "ja" then "#{n['surname']} #{n['givenname']}"
104
+ else "#{n['givenname']} #{n['surname']}" end
105
+ end
106
+ "<tr><td>#{r}</rd><td>#{n}</td><td>#{y['affiliation']}</td></tr>"
107
+ end.join("\n")
108
+ end
109
+
66
110
  def middle_title(docxml)
67
111
  s = docxml.at(ns("//sections")) or return
68
112
  elem = s.children.first
@@ -14,12 +14,12 @@ module Metanorma
14
14
  def metadata_author(node, xml)
15
15
  org_contributor(node, xml,
16
16
  { source: ["publisher", "pub"], role: "author",
17
- default: JIS_HASH })
17
+ default: pub_hash })
18
18
  personal_author(node, xml)
19
19
  end
20
20
 
21
21
  def metadata_publisher(node, xml)
22
- [{ source: ["publisher", "pub"], role: "publisher", default: JIS_HASH },
22
+ [{ source: ["publisher", "pub"], role: "publisher", default: pub_hash },
23
23
  { role: "authorizer",
24
24
  source: ["investigative-organization"],
25
25
  desc: "Investigative organization" },
@@ -32,8 +32,9 @@ module Metanorma
32
32
 
33
33
  LANGS = %w(ja en).freeze
34
34
 
35
- JIS_HASH =
36
- { "ja" => "日本工業規格", "en" => "Japanese Industrial Standards" }.freeze
35
+ def pub_hash
36
+ { "ja" => "日本工業規格", "en" => "Japanese Industrial Standards" }
37
+ end
37
38
 
38
39
  def org_organization(node, xml, org)
39
40
  organization(xml, { name: org[:name], abbr: org[:abbr] }.compact,
@@ -92,9 +93,9 @@ module Metanorma
92
93
 
93
94
  def multiling_noko_value(value, tag, xml)
94
95
  if value.is_a?(Hash)
95
- xml.send tag do |t|
96
- value.each do |k, v|
97
- t.variant v, language: k
96
+ value.each do |k, v|
97
+ xml.send tag, language: k do |x|
98
+ x << v
98
99
  end
99
100
  end
100
101
  elsif value.is_a?(Array)
@@ -119,7 +120,7 @@ module Metanorma
119
120
 
120
121
  def copyright_parse(node)
121
122
  opt = { source: ["copyright-holder", "publisher", "pub"],
122
- role: "publisher", default: JIS_HASH }
123
+ role: "publisher", default: pub_hash }
123
124
  ret = org_attrs_parse(node, opt)
124
125
  ret.empty? and ret = [{ name: "-" }]
125
126
  ret
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module JIS
3
- VERSION = "0.3.0".freeze
3
+ VERSION = "0.3.1".freeze
4
4
  end
5
5
  end
6
6
 
@@ -6,14 +6,15 @@ module Relaton
6
6
  class Parse < ::Relaton::Render::Iso::Parse
7
7
  def simple_or_host_xml2hash(doc, host)
8
8
  ret = super
9
- ret.merge(home_standard: home_standard(doc, ret[:publisher_raw] || ret[:author_raw]))
9
+ ret.merge(home_standard: home_standard(doc, ret[:publisher_raw] ||
10
+ ret[:author_raw]))
10
11
  end
11
12
 
12
13
  def home_standard(_doc, pubs)
13
14
  pubs&.any? do |r|
14
15
  ["International Organization for Standardization", "ISO",
15
16
  "International Electrotechnical Commission", "IEC",
16
- "一般財団法人 日本規格協会", "JIS"]
17
+ "一般財団法人 日本規格協会", "Japanese Industrial Standards"]
17
18
  .include?(r[:nonpersonal])
18
19
  end
19
20
  end
@@ -47,4 +47,5 @@ Gem::Specification.new do |spec|
47
47
  spec.add_development_dependency "timecop", "~> 0.9"
48
48
  spec.add_development_dependency "vcr", "~> 6.1.0"
49
49
  spec.add_development_dependency "webmock"
50
+ spec.add_development_dependency "xml-c14n"
50
51
  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.0
4
+ version: 0.3.1
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: japanese_calendar
@@ -234,6 +234,20 @@ dependencies:
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: xml-c14n
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
237
251
  description: |
238
252
  metanorma-jis lets you write JIS standards in AsciiDoc syntax.
239
253