metanorma-jis 0.6.2 → 0.6.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.
@@ -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
@@ -145,7 +146,8 @@ module IsoDoc
145
146
  def non_document_footnotes(docxml)
146
147
  table_fns = docxml.xpath(ns("//table//fn"))
147
148
  fig_fns = docxml.xpath(ns("//figure//fn")) -
148
- docxml.xpath(ns("//figure/name//fn"))
149
+ docxml.xpath(ns("//figure/name//fn")) -
150
+ docxml.xpath(ns("//figure/fmt-name//fn"))
149
151
  table_fns + fig_fns
150
152
  end
151
153
 
@@ -76,12 +76,6 @@ from other documents in the same doctype</a:documentation>
76
76
  <ref name="flavor">
77
77
  <a:documentation>Flavour of Metanorma used to process this document</a:documentation>
78
78
  </ref>
79
- <optional>
80
- <ref name="editorialgroup">
81
- <a:documentation>Groups associated with the production of the standards document, typically within
82
- a standards definition organization</a:documentation>
83
- </ref>
84
- </optional>
85
79
  <zeroOrMore>
86
80
  <ref name="ics">
87
81
  <a:documentation>Classification of the document contents taken from the International Classification of Standards</a:documentation>
@@ -130,49 +124,6 @@ a standards definition organization</a:documentation>
130
124
  However we prefer not to hardcode it, given ongoing extension.</a:documentation>
131
125
  <text/>
132
126
  </define>
133
- <define name="editorialgroup">
134
- <a:documentation>A group associated with the production of the standards document, typically within
135
- a standards definition organization</a:documentation>
136
- <element name="editorialgroup">
137
- <oneOrMore>
138
- <ref name="technical-committee">
139
- <a:documentation>A technical committee associated with the production of the standards document</a:documentation>
140
- </ref>
141
- </oneOrMore>
142
- </element>
143
- </define>
144
- <define name="technical-committee">
145
- <a:documentation>Technical committee associated with the production of a standards document</a:documentation>
146
- <element name="technical-committee">
147
- <ref name="IsoWorkgroup"/>
148
- </element>
149
- </define>
150
- <define name="IsoWorkgroup">
151
- <optional>
152
- <attribute name="number">
153
- <a:documentation>Numeric identifier of the technical committee</a:documentation>
154
- </attribute>
155
- </optional>
156
- <optional>
157
- <attribute name="type">
158
- <a:documentation>Type of the technical committee, used in identifying the technical committee</a:documentation>
159
- </attribute>
160
- </optional>
161
- <optional>
162
- <attribute name="identifier">
163
- <a:documentation>Non-numeric, complete identifier of the technical committee</a:documentation>
164
- </attribute>
165
- </optional>
166
- <optional>
167
- <attribute name="prefix">
168
- <a:documentation>Disambiguating prefix added to number to form the identifier of the technical committee,
169
- typically indicating its type</a:documentation>
170
- </attribute>
171
- </optional>
172
- <text>
173
- <a:documentation>Name of the technical committee</a:documentation>
174
- </text>
175
- </define>
176
127
  <define name="ics">
177
128
  <a:documentation>Classification taken from the International Classification of Standards.
178
129
  ICS is defined by ISO here -- https://www.iso.org/publication/PUB100033.html</a:documentation>
@@ -242,6 +242,8 @@ Detailed in https://www.relaton.org/model/creator/</a:documentation>
242
242
  </choice>
243
243
  </define>
244
244
  <define name="roledescription">
245
+ <a:documentation>A more detailed description of the role of the contributor
246
+ Some descriptions are reserved words; in particular, the editorial committee of a standard has the role description "committee"</a:documentation>
245
247
  <element name="description">
246
248
  <ref name="LocalizedMarkedUpString"/>
247
249
  </element>
@@ -443,7 +445,10 @@ real names (if the person is named with a pseudonym or user name); previous lega
443
445
  </oneOrMore>
444
446
  <zeroOrMore>
445
447
  <ref name="subdivision">
446
- <a:documentation>The subdivision of the organization directly involved with the production of the bibliographic item</a:documentation>
448
+ <a:documentation>The subdivision of the organization directly involved with the production of the bibliographic item.
449
+ Multiple subdivisions can be specified for an organization, with no implication of hierarchical
450
+ relation between them
451
+ Editorial and advisory groups are represented as consecutive subdivisions of the SDO</a:documentation>
447
452
  </ref>
448
453
  </zeroOrMore>
449
454
  <optional>
@@ -485,6 +490,11 @@ real names (if the person is named with a pseudonym or user name); previous lega
485
490
  <a:documentation>The type of subdivision</a:documentation>
486
491
  </attribute>
487
492
  </optional>
493
+ <optional>
494
+ <attribute name="subtype">
495
+ <a:documentation>The subtype of subdivision; e.g. different types of technical committee</a:documentation>
496
+ </attribute>
497
+ </optional>
488
498
  <ref name="OrganizationType">
489
499
  <a:documentation>The subdivision, modelled recursively as an organization</a:documentation>
490
500
  </ref>
@@ -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
@@ -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.0 -->
3
+ <!-- VERSION v2.1.2 -->
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">
@@ -871,6 +883,12 @@ titlecase, or lowercase</a:documentation>
871
883
  </oneOrMore>
872
884
  </element>
873
885
  </define>
886
+ <define name="ParagraphFnBody" combine="interleave">
887
+ <ref name="BlockSource">
888
+ <a:documentation>Bibliographic source for the information in the paragraph
889
+ parargaph sources are currently only rendered in metanorma-plateau</a:documentation>
890
+ </ref>
891
+ </define>
874
892
  <define name="BasicBlock" combine="choice">
875
893
  <ref name="columnbreak"/>
876
894
  </define>
@@ -2233,6 +2251,11 @@ used in document amendments</a:documentation>
2233
2251
  <ref name="RequiredId"/>
2234
2252
  <ref name="NumberingAttributes"/>
2235
2253
  <ref name="BlockAttributes"/>
2254
+ <optional>
2255
+ <attribute name="type">
2256
+ <a:documentation>Semantic classification of note</a:documentation>
2257
+ </attribute>
2258
+ </optional>
2236
2259
  <oneOrMore>
2237
2260
  <choice>
2238
2261
  <a:documentation>Content of the term note</a:documentation>
@@ -22,11 +22,6 @@
22
22
  </group>
23
23
  </element>
24
24
  </define>
25
- <define name="editorialgroup">
26
- <element name="editorialgroup">
27
- <ref name="ISOProjectGroup"/>
28
- </element>
29
- </define>
30
25
  </include>
31
26
  <define name="BibDataExtensionType" combine="interleave">
32
27
  <optional>
@@ -35,28 +30,6 @@
35
30
  </ref>
36
31
  </optional>
37
32
  </define>
38
- <define name="ISOProjectGroup">
39
- <zeroOrMore>
40
- <ref name="agency"/>
41
- </zeroOrMore>
42
- <oneOrMore>
43
- <ref name="technical-committee"/>
44
- </oneOrMore>
45
- <zeroOrMore>
46
- <ref name="subcommittee"/>
47
- </zeroOrMore>
48
- <zeroOrMore>
49
- <ref name="workgroup"/>
50
- </zeroOrMore>
51
- <optional>
52
- <ref name="secretariat"/>
53
- </optional>
54
- </define>
55
- <define name="agency">
56
- <element name="agency">
57
- <text/>
58
- </element>
59
- </define>
60
33
  <define name="documentnumber">
61
34
  <element name="project-number">
62
35
  <optional>
@@ -92,21 +65,6 @@
92
65
  <data type="int"/>
93
66
  </element>
94
67
  </define>
95
- <define name="subcommittee">
96
- <element name="subcommittee">
97
- <ref name="IsoWorkgroup"/>
98
- </element>
99
- </define>
100
- <define name="workgroup">
101
- <element name="workgroup">
102
- <ref name="IsoWorkgroup"/>
103
- </element>
104
- </define>
105
- <define name="secretariat">
106
- <element name="secretariat">
107
- <text/>
108
- </element>
109
- </define>
110
68
  <define name="stagename">
111
69
  <element name="stagename">
112
70
  <optional>
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Jis
3
- VERSION = "0.6.2".freeze
3
+ VERSION = "0.6.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.6.2
4
+ version: 0.6.4
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-04 00:00:00.000000000 Z
11
+ date: 2025-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: japanese_calendar