metanorma-standoc 2.10.5 → 3.0.0
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/metanorma/standoc/base.rb +8 -5
- data/lib/metanorma/standoc/biblio.rng +2 -0
- data/lib/metanorma/standoc/cleanup_bibdata.rb +1 -1
- data/lib/metanorma/standoc/cleanup_boilerplate.rb +1 -1
- data/lib/metanorma/standoc/cleanup_toc.rb +3 -3
- data/lib/metanorma/standoc/cleanup_xref.rb +19 -4
- data/lib/metanorma/standoc/converter.rb +0 -2
- data/lib/metanorma/standoc/isodoc-compile.rng +0 -1
- data/lib/metanorma/standoc/isodoc.rng +12 -6
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35f94b1c019edeb4422907e08dea706e5aa5f1ebfda48b2c6f0d518b66beec9c
|
4
|
+
data.tar.gz: eb5f4dc2f20109119d5d562fc08ce9e425fe4c0b0353ed8283a5b8887bc293ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 197988a7da6707a851cd24b584436825c3130e74ce2b792ad24cb8a86d0fc92c168f9eb0b494798d4119c94e0a915a5537c91d9a4d2de1880873fecbc64fc102
|
7
|
+
data.tar.gz: e7688aaecf8a901914588538d39b52d21bd7b871692c0bf889ab3147f325cd6586fee88210a1aaba50fef05c70d5a37bbb7d5a867013000c7e8eea3a3904b009
|
@@ -14,18 +14,20 @@ require "mn-requirements"
|
|
14
14
|
module Metanorma
|
15
15
|
module Standoc
|
16
16
|
module Base
|
17
|
-
XML_ROOT_TAG = "standard-document".freeze
|
18
|
-
XML_NAMESPACE = "https://www.metanorma.org/ns/standoc".freeze
|
17
|
+
#XML_ROOT_TAG = "standard-document".freeze
|
18
|
+
#XML_NAMESPACE = "https://www.metanorma.org/ns/standoc".freeze
|
19
19
|
FONTS_MANIFEST = "fonts-manifest".freeze
|
20
20
|
|
21
21
|
attr_accessor :log
|
22
22
|
|
23
23
|
def xml_root_tag
|
24
|
-
self.class::XML_ROOT_TAG
|
24
|
+
#self.class::XML_ROOT_TAG
|
25
|
+
"metanorma"
|
25
26
|
end
|
26
27
|
|
27
28
|
def xml_namespace
|
28
|
-
self.class::XML_NAMESPACE
|
29
|
+
#self.class::XML_NAMESPACE
|
30
|
+
"https://www.metanorma.org/ns/standoc"
|
29
31
|
end
|
30
32
|
|
31
33
|
def document(node)
|
@@ -87,7 +89,8 @@ module Metanorma
|
|
87
89
|
def makexml1(node)
|
88
90
|
result = ["<?xml version='1.0' encoding='UTF-8'?>",
|
89
91
|
"<#{xml_root_tag} type='semantic' version='#{version}' " \
|
90
|
-
"schema-version='#{schema_version}'
|
92
|
+
"schema-version='#{schema_version}' " \
|
93
|
+
"flavor='#{processor.new.asciidoctor_backend}'>"]
|
91
94
|
result << noko { |ixml| front node, ixml }
|
92
95
|
result << noko { |ixml| middle node, ixml }
|
93
96
|
result << "</#{xml_root_tag}>"
|
@@ -947,6 +947,8 @@ May be electronic (e.g. Twitter direct message, email) or voice (e.g. a remark m
|
|
947
947
|
typically cited as "personal communication")</a:documentation>
|
948
948
|
<value>conversation</value>
|
949
949
|
<a:documentation>An exchange of messages between two or more persons. May be electronic (e.g. web chat) or voice (e.g. phone call)</a:documentation>
|
950
|
+
<value>collection</value>
|
951
|
+
<a:documentation>A compound resource consisting of other resources, which are themselves presupposed to have their type specified..</a:documentation>
|
950
952
|
<value>misc</value>
|
951
953
|
<a:documentation>Bibliographic type not adequately described in the foregoing</a:documentation>
|
952
954
|
</choice>
|
@@ -132,7 +132,7 @@ module Metanorma
|
|
132
132
|
bibdata = bibdata.at("./relation[@type = 'derivedFrom']/bibitem")
|
133
133
|
ident = bibdata.at("./docidentifier[@primary = 'true']") ||
|
134
134
|
bibdata.at("./docidentifier")
|
135
|
-
xmldoc.xpath("//xref[@target = '#{d}'][normalize-space(text()) = '']")
|
135
|
+
xmldoc.xpath("//xref[@target = '#{d}'][normalize-space(.//text()) = '']")
|
136
136
|
.each { |x| x << ident.text }
|
137
137
|
end
|
138
138
|
end
|
@@ -46,7 +46,7 @@ module Metanorma
|
|
46
46
|
xmldoc.at("//metanorma-extension/semantic-metadata/" \
|
47
47
|
"headless[text() = 'true']") and return nil
|
48
48
|
x = xmldoc.dup
|
49
|
-
x.root.add_namespace(nil,
|
49
|
+
x.root.add_namespace(nil, xml_namespace)
|
50
50
|
xml = Nokogiri::XML(x.to_xml)
|
51
51
|
@isodoc ||= isodoc(@lang, @script, @locale)
|
52
52
|
@isodoc.info(xml, nil)
|
@@ -56,7 +56,7 @@ module Metanorma
|
|
56
56
|
elsif depth < entry[:depth]
|
57
57
|
ret += "<li><ul>" * (entry[:depth] - depth)
|
58
58
|
end
|
59
|
-
ret + "<li><xref target='#{entry[:target]}'>#{entry[:text]}</xref></li>"
|
59
|
+
ret + "<li><xref target='#{entry[:target]}'><display-text>#{entry[:text]}</display-text></xref></li>"
|
60
60
|
end
|
61
61
|
|
62
62
|
def toc_cleanup_clause(xmldoc)
|
@@ -70,10 +70,10 @@ module Metanorma
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def toc_cleanup_clause_entry(xmldoc, list)
|
73
|
-
list.xpath(".//xref[not(text())]").each do |x|
|
73
|
+
list.xpath(".//xref[not(text())][not(display-text)]").each do |x|
|
74
74
|
c1 = xmldoc.at("//*[@id = '#{x['target']}']")
|
75
75
|
t = c1.at("./variant-title[@type = 'toc']") || c1.at("./title")
|
76
|
-
x << t.dup.children
|
76
|
+
x << "<display-text>#{to_xml(t.dup.children)}</display-text>"
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -35,11 +35,12 @@ module Metanorma
|
|
35
35
|
def extract_localities(elem)
|
36
36
|
elem.children.empty? and return
|
37
37
|
f = elem.children.first
|
38
|
-
f.text? or return
|
38
|
+
f.text? or return xref_display_text(elem, elem.children.remove)
|
39
39
|
head = f.remove.text
|
40
40
|
tail = elem.children.remove
|
41
|
-
extract_localities1(elem, head)
|
42
|
-
tail and
|
41
|
+
d = extract_localities1(elem, head)
|
42
|
+
tail and d << tail
|
43
|
+
d.children.empty? and d.remove
|
43
44
|
end
|
44
45
|
|
45
46
|
LOCALITY_REGEX_STR_TRIPLEDASH = <<~REGEXP.freeze
|
@@ -69,7 +70,13 @@ module Metanorma
|
|
69
70
|
b = elem.add_child("<localityStack/>").first if m[:punct] == ";"
|
70
71
|
end
|
71
72
|
fill_in_eref_connectives(elem)
|
72
|
-
elem
|
73
|
+
xref_display_text(elem, text)
|
74
|
+
end
|
75
|
+
|
76
|
+
def xref_display_text(elem, text)
|
77
|
+
d = elem.add_child("<display-text></display-text>").first
|
78
|
+
d.add_child(text) if text
|
79
|
+
d
|
73
80
|
end
|
74
81
|
|
75
82
|
# clause=3;and!5 => clause=3;and!clause=5
|
@@ -135,6 +142,9 @@ module Metanorma
|
|
135
142
|
end
|
136
143
|
|
137
144
|
def eref_stack(xmldoc)
|
145
|
+
xmldoc.xpath("//eref/display-text[eref]").each do |e|
|
146
|
+
e.replace(e.children)
|
147
|
+
end
|
138
148
|
xmldoc.xpath("//eref[eref]").each do |e|
|
139
149
|
e.name = "erefstack"
|
140
150
|
e.delete("bibitemid")
|
@@ -196,6 +206,11 @@ module Metanorma
|
|
196
206
|
xmldoc.xpath("//xref//xref").each do |x|
|
197
207
|
x.name = "location"
|
198
208
|
end
|
209
|
+
xmldoc.xpath("//xref[not(./display-text)]").each do |x|
|
210
|
+
c = x.xpath("./*[not(self::locality or self::localityStack or self::location)] | ./text()")
|
211
|
+
c.empty? and next
|
212
|
+
xref_display_text(x, c.remove)
|
213
|
+
end
|
199
214
|
end
|
200
215
|
|
201
216
|
def xref_cleanup1(xmldoc)
|
@@ -23,10 +23,8 @@ module Metanorma
|
|
23
23
|
Asciidoctor::Extensions.register do
|
24
24
|
preprocessor Metanorma::Standoc::ResolveIncludePreprocessor
|
25
25
|
preprocessor Metanorma::Plugin::Lutaml::LutamlPreprocessor
|
26
|
-
preprocessor Metanorma::Plugin::Lutaml::LutamlUmlAttributesTablePreprocessor
|
27
26
|
preprocessor Metanorma::Plugin::Lutaml::LutamlUmlDatamodelDescriptionPreprocessor
|
28
27
|
preprocessor Metanorma::Plugin::Lutaml::LutamlEaXmiPreprocessor
|
29
|
-
preprocessor Metanorma::Plugin::Lutaml::LutamlUmlClassPreprocessor
|
30
28
|
inline_macro Metanorma::Plugin::Lutaml::LutamlFigureInlineMacro
|
31
29
|
inline_macro Metanorma::Plugin::Lutaml::LutamlTableInlineMacro
|
32
30
|
block_macro Metanorma::Plugin::Lutaml::LutamlDiagramBlockMacro
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<grammar ns="https://www.metanorma.org/ns/standoc" xmlns="http://relaxng.org/ns/structure/1.0">
|
3
|
-
<!-- default namespace isostandard = "https://www.metanorma.com/ns/iso" -->
|
4
3
|
<include href="biblio-standoc.rng"/>
|
5
4
|
<include href="isodoc.rng"/>
|
6
5
|
</grammar>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
-
<!-- VERSION
|
20
|
+
<!-- VERSION v2.0.0 -->
|
21
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">
|
22
22
|
<include href="reqt.rng"/>
|
23
23
|
<include href="basicdoc.rng">
|
@@ -459,11 +459,14 @@ gives an explicit page orientation</a:documentation>
|
|
459
459
|
<a:documentation>Description of location in a reference, which can be combined with other locations in a single citation</a:documentation>
|
460
460
|
</ref>
|
461
461
|
</zeroOrMore>
|
462
|
-
<
|
463
|
-
<
|
462
|
+
<optional>
|
463
|
+
<element name="display-text">
|
464
464
|
<a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `<xx>my link text</xx>`)</a:documentation>
|
465
|
-
|
466
|
-
|
465
|
+
<oneOrMore>
|
466
|
+
<ref name="PureTextElement"/>
|
467
|
+
</oneOrMore>
|
468
|
+
</element>
|
469
|
+
</optional>
|
467
470
|
</define>
|
468
471
|
</include>
|
469
472
|
<!-- end overrides -->
|
@@ -1205,10 +1208,13 @@ numbers</a:documentation>
|
|
1205
1208
|
<value>presentation</value>
|
1206
1209
|
</choice>
|
1207
1210
|
</attribute>
|
1211
|
+
<attribute name="flavor">
|
1212
|
+
<a:documentation>Metanorma flavor, indicating SDO whose requiremnts the realisation aligns to</a:documentation>
|
1213
|
+
</attribute>
|
1208
1214
|
</define>
|
1209
1215
|
<define name="standard-document">
|
1210
1216
|
<a:documentation>Representation of a standardisation document</a:documentation>
|
1211
|
-
<element name="
|
1217
|
+
<element name="metanorma">
|
1212
1218
|
<ref name="Root-Attributes"/>
|
1213
1219
|
<ref name="bibdata">
|
1214
1220
|
<a:documentation>Bibliographic description of the document itself, expressed in the Relaton model</a:documentation>
|
data/metanorma-standoc.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_dependency "asciidoctor", "~> 2.0.0"
|
33
33
|
spec.add_dependency "crass", "~> 1.0.0"
|
34
34
|
spec.add_dependency "iev", "~> 0.3.5"
|
35
|
-
spec.add_dependency "isodoc", "~>
|
35
|
+
spec.add_dependency "isodoc", "~> 3.0.0"
|
36
36
|
spec.add_dependency "metanorma", ">= 1.6.0"
|
37
37
|
spec.add_dependency "metanorma-plugin-datastruct", "~> 0.3.0"
|
38
38
|
spec.add_dependency "metanorma-plugin-glossarist", "~> 0.2.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-standoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
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-
|
11
|
+
date: 2025-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 3.0.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 3.0.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: metanorma
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|