metanorma-jis 0.0.4 → 0.0.6
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 +4 -4
- data/lib/isodoc/jis/base_convert.rb +2 -0
- data/lib/isodoc/jis/html/header.html +70 -33
- data/lib/isodoc/jis/html/html_jis_intro.html +0 -1
- data/lib/isodoc/jis/html/isodoc.css +1 -1
- data/lib/isodoc/jis/html/isodoc.scss +1 -1
- data/lib/isodoc/jis/html/word_jis_intro.html +0 -7
- data/lib/isodoc/jis/html/wordstyle.css +11 -14
- data/lib/isodoc/jis/html/wordstyle.scss +11 -14
- data/lib/isodoc/jis/html_convert.rb +1 -1
- data/lib/isodoc/jis/jis.international-standard.xsl +1020 -213
- data/lib/isodoc/jis/presentation_xml_convert.rb +22 -0
- data/lib/isodoc/jis/word_convert.rb +12 -22
- data/lib/metanorma/jis/cleanup.rb +23 -0
- data/lib/metanorma/jis/converter.rb +5 -0
- data/lib/metanorma/jis/isodoc.rng +16 -7
- data/lib/metanorma/jis/isostandard.rng +5 -8
- data/lib/metanorma/jis/jis.rng +6 -9
- data/lib/metanorma/jis/version.rb +1 -1
- data/metanorma-jis.gemspec +2 -0
- metadata +2 -2
@@ -154,6 +154,7 @@ module IsoDoc
|
|
154
154
|
def display_order(docxml)
|
155
155
|
i = 0
|
156
156
|
i = display_order_xpath(docxml, "//preface/*", i)
|
157
|
+
i = display_order_at(docxml, "//sections/introduction", i)
|
157
158
|
i = display_order_at(docxml, "//clause[@type = 'scope']", i)
|
158
159
|
i = display_order_at(docxml, @xrefs.klass.norm_ref_xpath, i)
|
159
160
|
i = display_order_at(docxml, "//sections/terms | " \
|
@@ -174,6 +175,27 @@ module IsoDoc
|
|
174
175
|
elem.children = l10n("#{@i18n.source}: #{to_xml(elem.children).strip}")
|
175
176
|
end
|
176
177
|
|
178
|
+
def toc_title_insert_pt(docxml)
|
179
|
+
ins = docxml.at(ns("//preface")) ||
|
180
|
+
docxml.at(ns("//sections | //annex | //bibliography"))
|
181
|
+
&.before("<preface> </preface>")
|
182
|
+
&.previous_element or return nil
|
183
|
+
ins.children.last.after(" ").next
|
184
|
+
end
|
185
|
+
|
186
|
+
def preface_rearrange(doc)
|
187
|
+
move_introduction(doc)
|
188
|
+
super
|
189
|
+
end
|
190
|
+
|
191
|
+
def move_introduction(doc)
|
192
|
+
source = doc.at(ns("//preface/introduction")) or return
|
193
|
+
dest = doc.at(ns("//sections")) ||
|
194
|
+
doc.at(ns("//preface")).after("<sections> </sections>").next_element
|
195
|
+
dest.children.empty? and dest.children = " "
|
196
|
+
dest.children.first.next = source
|
197
|
+
end
|
198
|
+
|
177
199
|
include Init
|
178
200
|
end
|
179
201
|
end
|
@@ -99,24 +99,16 @@ module IsoDoc
|
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
-
def
|
103
|
-
|
104
|
-
|
105
|
-
out.div **attr_code(class: "Section3", id: f["id"],
|
106
|
-
type: f["type"]) do |div|
|
107
|
-
clause_name(f, f&.at(ns("./title")), div, { class: "IntroTitle" })
|
108
|
-
f.elements.each do |e|
|
109
|
-
parse(e, div) unless e.name == "title"
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
102
|
+
def preface_attrs(node)
|
103
|
+
{ id: node["id"], type: node["type"],
|
104
|
+
class: node["type"] == "toc" ? "TOC" : "Section3" }
|
113
105
|
end
|
114
106
|
|
115
|
-
def introduction(
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
107
|
+
def introduction(clause, out)
|
108
|
+
out.div class: "Section3", id: clause["id"] do |div|
|
109
|
+
clause_name(clause, clause.at(ns("./title")), div,
|
110
|
+
{ class: "IntroTitle" })
|
111
|
+
clause.elements.each do |e|
|
120
112
|
parse(e, div) unless e.name == "title"
|
121
113
|
end
|
122
114
|
end
|
@@ -125,11 +117,7 @@ module IsoDoc
|
|
125
117
|
def make_body2(body, docxml)
|
126
118
|
body.div class: "WordSection2" do |div2|
|
127
119
|
boilerplate docxml, div2
|
128
|
-
|
129
|
-
abstract docxml, div2
|
130
|
-
foreword docxml, div2
|
131
|
-
preface docxml, div2
|
132
|
-
acknowledgements docxml, div2
|
120
|
+
front docxml, div2
|
133
121
|
div2.p { |p| p << " " } # placeholder
|
134
122
|
end
|
135
123
|
section_break(body)
|
@@ -138,7 +126,8 @@ module IsoDoc
|
|
138
126
|
def middle(isoxml, out)
|
139
127
|
middle_title(isoxml, out)
|
140
128
|
middle_admonitions(isoxml, out)
|
141
|
-
|
129
|
+
i = isoxml.at(ns("//sections/introduction")) and
|
130
|
+
introduction i, out
|
142
131
|
scope isoxml, out, 0
|
143
132
|
norm_ref isoxml, out, 0
|
144
133
|
clause_etc isoxml, out, 0
|
@@ -183,6 +172,7 @@ module IsoDoc
|
|
183
172
|
|
184
173
|
def commentary(isoxml, out)
|
185
174
|
isoxml.xpath(ns("//annex[@commentary = 'true']")).each do |c|
|
175
|
+
out.span style: "mso-bookmark:PRECOMMENTARYPAGEREF"
|
186
176
|
section_break(out)
|
187
177
|
out.div class: "WordSectionCommentary" do |div|
|
188
178
|
commentary_title(isoxml, div)
|
@@ -38,6 +38,29 @@ module Metanorma
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def docidentifier_cleanup(xmldoc); end
|
41
|
+
|
42
|
+
def note_cleanup(xmldoc)
|
43
|
+
note_example_to_table(xmldoc)
|
44
|
+
super
|
45
|
+
clean_example_keep_separate(xmldoc)
|
46
|
+
end
|
47
|
+
|
48
|
+
def note_example_to_table(xmldoc)
|
49
|
+
xmldoc.xpath("//table").each do |t|
|
50
|
+
t.xpath("./following-sibling::*").each do |n|
|
51
|
+
%w(note example).include?(n.name) or break
|
52
|
+
n["keep-separate"] == "true" and break
|
53
|
+
n.parent = t
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def clean_example_keep_separate(xmldoc)
|
59
|
+
xmldoc.xpath("//example[@keep-separate] | " \
|
60
|
+
"//termexample[@keep-separate]").each do |n|
|
61
|
+
n.delete("keep-separate")
|
62
|
+
end
|
63
|
+
end
|
41
64
|
end
|
42
65
|
end
|
43
66
|
end
|
@@ -39,6 +39,11 @@ module Metanorma
|
|
39
39
|
ret
|
40
40
|
end
|
41
41
|
|
42
|
+
def example_attrs(node)
|
43
|
+
attr_code(id_unnum_attrs(node).merge(keep_attrs(node))
|
44
|
+
.merge("keep-separate": node.attr("keep-separate")))
|
45
|
+
end
|
46
|
+
|
42
47
|
def html_converter(node)
|
43
48
|
if node.nil?
|
44
49
|
IsoDoc::JIS::HtmlConvert.new({})
|
@@ -17,6 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
+
<!-- VERSION v1.2.2 -->
|
20
21
|
<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">
|
21
22
|
<include href="reqt.rng"/>
|
22
23
|
<include href="basicdoc.rng">
|
@@ -210,6 +211,9 @@
|
|
210
211
|
<data type="boolean"/>
|
211
212
|
</attribute>
|
212
213
|
</optional>
|
214
|
+
<optional>
|
215
|
+
<attribute name="style"/>
|
216
|
+
</optional>
|
213
217
|
<ref name="CitationType"/>
|
214
218
|
<oneOrMore>
|
215
219
|
<ref name="PureTextElement"/>
|
@@ -1349,15 +1353,19 @@
|
|
1349
1353
|
</choice>
|
1350
1354
|
</element>
|
1351
1355
|
</define>
|
1356
|
+
<define name="Root-Attributes">
|
1357
|
+
<attribute name="version"/>
|
1358
|
+
<attribute name="schema-version"/>
|
1359
|
+
<attribute name="type">
|
1360
|
+
<choice>
|
1361
|
+
<value>semantic</value>
|
1362
|
+
<value>presentation</value>
|
1363
|
+
</choice>
|
1364
|
+
</attribute>
|
1365
|
+
</define>
|
1352
1366
|
<define name="standard-document">
|
1353
1367
|
<element name="standard-document">
|
1354
|
-
<
|
1355
|
-
<attribute name="type">
|
1356
|
-
<choice>
|
1357
|
-
<value>semantic</value>
|
1358
|
-
<value>presentation</value>
|
1359
|
-
</choice>
|
1360
|
-
</attribute>
|
1368
|
+
<ref name="Root-Attributes"/>
|
1361
1369
|
<ref name="bibdata"/>
|
1362
1370
|
<optional>
|
1363
1371
|
<ref name="misccontainer"/>
|
@@ -2131,6 +2139,7 @@
|
|
2131
2139
|
<choice>
|
2132
2140
|
<value>identical</value>
|
2133
2141
|
<value>modified</value>
|
2142
|
+
<value>adapted</value>
|
2134
2143
|
<value>restyled</value>
|
2135
2144
|
<value>context-added</value>
|
2136
2145
|
<value>generalisation</value>
|
@@ -1,6 +1,9 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
-
<!--
|
3
|
+
<!--
|
4
|
+
VERSION v1.2.1
|
5
|
+
default namespace isostandard = "https://www.metanorma.com/ns/iso"
|
6
|
+
-->
|
4
7
|
<include href="isodoc.rng">
|
5
8
|
<start>
|
6
9
|
<ref name="iso-standard"/>
|
@@ -240,13 +243,7 @@
|
|
240
243
|
-->
|
241
244
|
<define name="iso-standard">
|
242
245
|
<element name="iso-standard">
|
243
|
-
<
|
244
|
-
<attribute name="type">
|
245
|
-
<choice>
|
246
|
-
<value>semantic</value>
|
247
|
-
<value>presentation</value>
|
248
|
-
</choice>
|
249
|
-
</attribute>
|
246
|
+
<ref name="Root-Attributes"/>
|
250
247
|
<ref name="bibdata"/>
|
251
248
|
<zeroOrMore>
|
252
249
|
<ref name="termdocsource"/>
|
data/lib/metanorma/jis/jis.rng
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar ns=
|
3
|
-
<!--
|
2
|
+
<grammar ns='https://www.metanorma.org/ns/jis' xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<!--
|
4
|
+
VERSION v1.2.1
|
5
|
+
default namespace = "https://www.metanorma.com/ns/jis"
|
6
|
+
-->
|
4
7
|
<include href="relaton-jis.rng"/>
|
5
8
|
<include href="isostandard.rng">
|
6
9
|
<start>
|
@@ -37,13 +40,7 @@
|
|
37
40
|
-->
|
38
41
|
<define name="jis-standard">
|
39
42
|
<element name="jis-standard">
|
40
|
-
<
|
41
|
-
<attribute name="type">
|
42
|
-
<choice>
|
43
|
-
<value>semantic</value>
|
44
|
-
<value>presentation</value>
|
45
|
-
</choice>
|
46
|
-
</attribute>
|
43
|
+
<ref name="Root-Attributes"/>
|
47
44
|
<ref name="bibdata"/>
|
48
45
|
<zeroOrMore>
|
49
46
|
<ref name="termdocsource"/>
|
data/metanorma-jis.gemspec
CHANGED
@@ -31,6 +31,8 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
32
32
|
|
33
33
|
spec.add_dependency "metanorma-iso", "~> 2.4.2"
|
34
|
+
#spec.add_dependency "relaton-bipm", "~> 1.14.8"
|
35
|
+
#spec.add_dependency "relaton-iho", "~> 1.14.3"
|
34
36
|
spec.add_dependency "pubid-jis"
|
35
37
|
|
36
38
|
spec.add_development_dependency "debug"
|
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.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: metanorma-iso
|