metanorma-jis 0.0.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 +7 -0
- data/.hound.yml +5 -0
- data/.rubocop.yml +10 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +12 -0
- data/LICENSE +25 -0
- data/README.adoc +81 -0
- data/lib/html2doc/lists.rb +166 -0
- data/lib/isodoc/jis/base_convert.rb +41 -0
- data/lib/isodoc/jis/html/header.html +934 -0
- data/lib/isodoc/jis/html/html_jis_intro.html +8 -0
- data/lib/isodoc/jis/html/html_jis_titlepage.html +79 -0
- data/lib/isodoc/jis/html/htmlstyle.css +47 -0
- data/lib/isodoc/jis/html/htmlstyle.scss +45 -0
- data/lib/isodoc/jis/html/isodoc.css +12080 -0
- data/lib/isodoc/jis/html/isodoc.scss +11551 -0
- data/lib/isodoc/jis/html/style-human.css +1107 -0
- data/lib/isodoc/jis/html/style-human.scss +783 -0
- data/lib/isodoc/jis/html/style-iso.css +1133 -0
- data/lib/isodoc/jis/html/style-iso.scss +800 -0
- data/lib/isodoc/jis/html/word_jis_intro.html +14 -0
- data/lib/isodoc/jis/html/word_jis_titlepage.html +128 -0
- data/lib/isodoc/jis/html/wordstyle.css +3477 -0
- data/lib/isodoc/jis/html/wordstyle.scss +3378 -0
- data/lib/isodoc/jis/html_convert.rb +37 -0
- data/lib/isodoc/jis/i18n-ja.yaml +214 -0
- data/lib/isodoc/jis/i18n.rb +15 -0
- data/lib/isodoc/jis/init.rb +34 -0
- data/lib/isodoc/jis/metadata.rb +52 -0
- data/lib/isodoc/jis/pdf_convert.rb +17 -0
- data/lib/isodoc/jis/presentation_xml_convert.rb +11 -0
- data/lib/isodoc/jis/word_convert.rb +153 -0
- data/lib/isodoc/jis/xref.rb +6 -0
- data/lib/metanorma/jis/basicdoc.rng +1125 -0
- data/lib/metanorma/jis/biblio-standoc.rng +164 -0
- data/lib/metanorma/jis/biblio.rng +1461 -0
- data/lib/metanorma/jis/converter.rb +71 -0
- data/lib/metanorma/jis/front.rb +51 -0
- data/lib/metanorma/jis/isodoc.rng +2450 -0
- data/lib/metanorma/jis/isostandard.rng +316 -0
- data/lib/metanorma/jis/jis.rng +63 -0
- data/lib/metanorma/jis/processor.rb +53 -0
- data/lib/metanorma/jis/relaton-jis.rng +231 -0
- data/lib/metanorma/jis/reqt.rng +226 -0
- data/lib/metanorma/jis/version.rb +6 -0
- data/lib/metanorma/jis.rb +6 -0
- data/lib/metanorma-jis.rb +16 -0
- data/metanorma-jis.gemspec +49 -0
- metadata +303 -0
@@ -0,0 +1,71 @@
|
|
1
|
+
require "asciidoctor"
|
2
|
+
require "metanorma-iso"
|
3
|
+
require_relative "./front"
|
4
|
+
|
5
|
+
module Metanorma
|
6
|
+
module JIS
|
7
|
+
class Converter < ISO::Converter
|
8
|
+
XML_ROOT_TAG = "jis-standard".freeze
|
9
|
+
XML_NAMESPACE = "https://www.metanorma.org/ns/jis".freeze
|
10
|
+
|
11
|
+
register_for "jis"
|
12
|
+
|
13
|
+
def init_i18n(node)
|
14
|
+
node.attr("language") or node.set_attr("language", "ja")
|
15
|
+
super
|
16
|
+
end
|
17
|
+
|
18
|
+
def boilerplate_file(_x_orig)
|
19
|
+
File.join(@libdir, "jis_intro_jp.xml")
|
20
|
+
end
|
21
|
+
|
22
|
+
def html_converter(node)
|
23
|
+
if node.nil?
|
24
|
+
IsoDoc::JIS::HtmlConvert.new({})
|
25
|
+
else
|
26
|
+
IsoDoc::JIS::HtmlConvert.new(html_extract_attributes(node))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def doc_converter(node)
|
31
|
+
if node.nil?
|
32
|
+
IsoDoc::JIS::WordConvert.new({})
|
33
|
+
else
|
34
|
+
IsoDoc::JIS::WordConvert.new(doc_extract_attributes(node))
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def pdf_converter(node)
|
39
|
+
return if node.attr("no-pdf")
|
40
|
+
return
|
41
|
+
|
42
|
+
if node.nil?
|
43
|
+
IsoDoc::JIS::PdfConvert.new({})
|
44
|
+
else
|
45
|
+
IsoDoc::JIS::PdfConvert.new(pdf_extract_attributes(node))
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def presentation_xml_converter(node)
|
50
|
+
if node.nil?
|
51
|
+
IsoDoc::JIS::PresentationXMLConvert.new({})
|
52
|
+
else
|
53
|
+
IsoDoc::JIS::PresentationXMLConvert.new(doc_extract_attributes(node))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def script_validate(xmldoc)
|
58
|
+
script = xmldoc&.at("//bibdata/script")&.text
|
59
|
+
%w(Jpan Latn).include?(script) or
|
60
|
+
@log.add("Document Attributes", nil,
|
61
|
+
"#{script} is not a recognised script")
|
62
|
+
end
|
63
|
+
|
64
|
+
def validate(doc)
|
65
|
+
content_validate(doc)
|
66
|
+
schema_validate(formattedstr_strip(doc.dup),
|
67
|
+
File.join(File.dirname(__FILE__), "jis.rng"))
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module Metanorma
|
2
|
+
module JIS
|
3
|
+
class Converter < ISO::Converter
|
4
|
+
def org_abbrev
|
5
|
+
super.merge("Japanese Industrial Standards" => "JIS")
|
6
|
+
end
|
7
|
+
|
8
|
+
def metadata_author(node, xml)
|
9
|
+
publishers = node.attr("publisher") || "JIS"
|
10
|
+
csv_split(publishers)&.each do |p|
|
11
|
+
xml.contributor do |c|
|
12
|
+
c.role type: "author"
|
13
|
+
c.organization do |a|
|
14
|
+
organization(a, p, false, node, !node.attr("publisher"))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
node.attr("doctype") == "expert-commentary" and
|
19
|
+
personal_author(node, xml)
|
20
|
+
end
|
21
|
+
|
22
|
+
def metadata_publisher(node, xml)
|
23
|
+
publishers = node.attr("publisher") || "JIS"
|
24
|
+
csv_split(publishers)&.each do |p|
|
25
|
+
xml.contributor do |c|
|
26
|
+
c.role type: "publisher"
|
27
|
+
c.organization do |a|
|
28
|
+
organization(a, p, true, node, !node.attr("publisher"))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def metadata_copyright(node, xml)
|
35
|
+
pub = node.attr("copyright-holder") || node.attr("publisher") || "JIS"
|
36
|
+
csv_split(pub)&.each do |p|
|
37
|
+
xml.copyright do |c|
|
38
|
+
c.from (node.attr("copyright-year") || Date.today.year)
|
39
|
+
c.owner do |owner|
|
40
|
+
owner.organization do |o|
|
41
|
+
organization(o, p, true, node,
|
42
|
+
!node.attr("copyright-holder") ||
|
43
|
+
node.attr("publisher"))
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|