metanorma-jis 0.6.3 → 0.6.5

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.
@@ -103,7 +103,8 @@ module IsoDoc
103
103
  end
104
104
 
105
105
  def figure_fn(elem)
106
- fnotes = elem.xpath(ns(".//fn")) - elem.xpath(ns("./name//fn"))
106
+ fnotes = elem.xpath(ns(".//fn")) - elem.xpath(ns("./name//fn")) -
107
+ elem.xpath(ns("./fmt-name//fn"))
107
108
  ret = footnote_collect(fnotes)
108
109
  f = footnote_container(fnotes, ret) and elem << f
109
110
  end
@@ -142,11 +143,8 @@ module IsoDoc
142
143
  end
143
144
  end
144
145
 
145
- def non_document_footnotes(docxml)
146
- table_fns = docxml.xpath(ns("//table//fn"))
147
- fig_fns = docxml.xpath(ns("//figure//fn")) -
148
- docxml.xpath(ns("//figure/name//fn"))
149
- table_fns + fig_fns
146
+ def table_footnotes(docxml)
147
+ docxml.xpath(ns("//table//fn"))
150
148
  end
151
149
 
152
150
  include Init
@@ -1,14 +1,15 @@
1
1
  module Metanorma
2
2
  module Jis
3
3
  class Converter < Iso::Converter
4
- def norm_ref_preface(ref)
4
+ def norm_ref_preface(ref, isodoc)
5
5
  if ref.at("./note[@type = 'boilerplate']")
6
6
  unwrap_boilerplate_clauses(ref, ".")
7
7
  else
8
8
  pref = if ref_empty?(ref) then @i18n.norm_empty_pref
9
9
  else @i18n.get[ref_dated(ref)]
10
10
  end
11
- ref.at("./title").next = "<p>#{pref}</p>"
11
+ #ref.at("./title").next = "<p>#{pref}</p>"
12
+ ref.at("./title").next = boilerplate_snippet_convert(pref, isodoc)
12
13
  end
13
14
  end
14
15
 
@@ -11,12 +11,7 @@ module Metanorma
11
11
  "JIS"
12
12
  end
13
13
 
14
- def metadata_author(node, xml)
15
- org_contributor(node, xml,
16
- { source: ["publisher", "pub"], role: "author",
17
- default: pub_hash })
18
- personal_author(node, xml)
19
- end
14
+ def committee_contributors(node, xml, default, opt); end
20
15
 
21
16
  def metadata_publisher(node, xml)
22
17
  [{ source: ["publisher", "pub"], role: "publisher", default: pub_hash },
@@ -30,6 +25,17 @@ module Metanorma
30
25
  end
31
26
  end
32
27
 
28
+ def org_author(node, xml)
29
+ if node.attr("corporate-author")
30
+ org_contributor(node, xml, { source: ["corporate-author"],
31
+ role: "author" })
32
+ else
33
+ org_contributor(node, xml,
34
+ { source: ["publisher", "pub"], role: "author",
35
+ default: pub_hash })
36
+ end
37
+ end
38
+
33
39
  LANGS = %w(ja en).freeze
34
40
 
35
41
  def pub_hash
@@ -128,12 +134,12 @@ module Metanorma
128
134
 
129
135
  def title(node, xml)
130
136
  %w(en ja).each do |lang|
131
- at = { language: lang, format: "text/plain" }
132
- title_full(node, xml, lang, at)
133
- title_intro(node, xml, lang, at)
134
- title_main(node, xml, lang, at)
135
- title_part(node, xml, lang, at)
136
- title_amd(node, xml, lang, at) if @amd
137
+ title_full(node, xml, lang)
138
+ %w(intro main part).each do |w|
139
+ title_component(node, xml, lang, { name: w, abbr: w })
140
+ end
141
+ @amd and title_component(node, xml, lang,
142
+ { name: "amendment", abbr: "amd" })
137
143
  end
138
144
  end
139
145
 
@@ -187,6 +193,11 @@ module Metanorma
187
193
  rescue StandardError => e
188
194
  clean_abort("Document identifier: #{e}", xml)
189
195
  end
196
+
197
+ def personal_author(node, xml)
198
+ ::Metanorma::Standoc::Converter.instance_method(:personal_author).bind(self)
199
+ .call(node, xml)
200
+ end
190
201
  end
191
202
  end
192
203
  end
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <!-- VERSION v2.1.1 -->
3
+ <!-- VERSION v2.1.3 -->
4
4
 
5
5
  <!--
6
6
  ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
@@ -123,6 +123,10 @@ the type attribute defaults to `review` for reviews</a:documentation>
123
123
  <a:documentation>Notes whose scope is the current block</a:documentation>
124
124
  </ref>
125
125
  </zeroOrMore>
126
+ <ref name="BlockSource">
127
+ <a:documentation>Bibliographic source for the information in the list.
128
+ Sources are currently only rendered in metanorma-plateau</a:documentation>
129
+ </ref>
126
130
  </define>
127
131
  <define name="OlBody">
128
132
  <optional>
@@ -140,6 +144,10 @@ the type attribute defaults to `review` for reviews</a:documentation>
140
144
  <a:documentation>Notes whose scope is the current block</a:documentation>
141
145
  </ref>
142
146
  </zeroOrMore>
147
+ <ref name="BlockSource">
148
+ <a:documentation>Bibliographic source for the information in the list.
149
+ Sources are currently only rendered in metanorma-plateau</a:documentation>
150
+ </ref>
143
151
  </define>
144
152
  <define name="OlAttributes">
145
153
  <a:documentation>NOTE: `start` attribute is not included by default, because of problems it raises with DOC output</a:documentation>
@@ -188,6 +196,10 @@ the type attribute defaults to `review` for reviews</a:documentation>
188
196
  <a:documentation>Notes whose scope is the current block</a:documentation>
189
197
  </ref>
190
198
  </zeroOrMore>
199
+ <ref name="BlockSource">
200
+ <a:documentation>Bibliographic source for the information in the list.
201
+ Sources are currently only rendered in metanorma-plateau</a:documentation>
202
+ </ref>
191
203
  </define>
192
204
  <define name="dt">
193
205
  <element name="dt">
@@ -443,14 +455,7 @@ normative or informative references, some split references into sections organiz
443
455
  </ref>
444
456
  </zeroOrMore>
445
457
  <zeroOrMore>
446
- <ref name="doc_bibitem">
447
- <a:documentation>Bibliographic item cited in the document</a:documentation>
448
- </ref>
449
- <zeroOrMore>
450
- <ref name="note">
451
- <a:documentation>Annotation of the bibliographic item</a:documentation>
452
- </ref>
453
- </zeroOrMore>
458
+ <ref name="ReferenceEntry"/>
454
459
  </zeroOrMore>
455
460
  <zeroOrMore>
456
461
  <ref name="references">
@@ -592,18 +597,21 @@ gives an explicit page orientation</a:documentation>
592
597
  </element>
593
598
  </optional>
594
599
  </define>
595
- </include>
596
- <!-- end overrides -->
597
- <define name="FnAttributes" combine="interleave">
598
- <ref name="RequiredId"/>
599
- <optional>
600
- <attribute name="hiddenref">
601
- <a:documentation>If true, number the footnote as normal, but suppress display of the footnote reference in the document body.
600
+ <define name="FnAttributes">
601
+ <ref name="RequiredId"/>
602
+ <optional>
603
+ <attribute name="hiddenref">
604
+ <a:documentation>If true, number the footnote as normal, but suppress display of the footnote reference in the document body.
602
605
  This is done if the footnote reference is already presented in some other form, e.g. within a figure image.</a:documentation>
603
- <data type="boolean"/>
606
+ <data type="boolean"/>
607
+ </attribute>
608
+ </optional>
609
+ <attribute name="reference">
610
+ <a:documentation>The number of the footnote, used to identify it visually</a:documentation>
604
611
  </attribute>
605
- </optional>
606
- </define>
612
+ </define>
613
+ </include>
614
+ <!-- end overrides -->
607
615
  <define name="TdAttributes" combine="interleave">
608
616
  <ref name="RequiredId"/>
609
617
  <optional>
@@ -841,6 +849,17 @@ titlecase, or lowercase</a:documentation>
841
849
  <value>informative</value>
842
850
  </choice>
843
851
  </define>
852
+ <define name="ReferenceEntry">
853
+ <a:documentation>Entry in bibliography</a:documentation>
854
+ <ref name="doc_bibitem">
855
+ <a:documentation>Bibliographic item cited in the document</a:documentation>
856
+ </ref>
857
+ <zeroOrMore>
858
+ <ref name="note">
859
+ <a:documentation>Annotation of the bibliographic item</a:documentation>
860
+ </ref>
861
+ </zeroOrMore>
862
+ </define>
844
863
  <define name="doc_bibitem">
845
864
  <a:documentation>Standardisation document representation of bibliographic entry</a:documentation>
846
865
  <element name="bibitem">
@@ -871,6 +890,12 @@ titlecase, or lowercase</a:documentation>
871
890
  </oneOrMore>
872
891
  </element>
873
892
  </define>
893
+ <define name="ParagraphFnBody" combine="interleave">
894
+ <ref name="BlockSource">
895
+ <a:documentation>Bibliographic source for the information in the paragraph
896
+ parargaph sources are currently only rendered in metanorma-plateau</a:documentation>
897
+ </ref>
898
+ </define>
874
899
  <define name="BasicBlock" combine="choice">
875
900
  <ref name="columnbreak"/>
876
901
  </define>
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Jis
3
- VERSION = "0.6.3".freeze
3
+ VERSION = "0.6.5".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.6.3
4
+ version: 0.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-18 00:00:00.000000000 Z
11
+ date: 2025-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: japanese_calendar