metanorma-standoc 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/standoc/base.rb +2 -2
- data/lib/asciidoctor/standoc/biblio.rng +1 -1
- data/lib/asciidoctor/standoc/blocks.rb +25 -95
- data/lib/asciidoctor/standoc/blocks_notes.rb +89 -0
- data/lib/asciidoctor/standoc/cleanup.rb +10 -6
- data/lib/asciidoctor/standoc/cleanup_inline.rb +1 -1
- data/lib/asciidoctor/standoc/cleanup_ref.rb +45 -0
- data/lib/asciidoctor/standoc/isodoc.rng +427 -0
- data/lib/asciidoctor/standoc/lists.rb +12 -12
- data/lib/asciidoctor/standoc/macros_yaml2text.rb +32 -15
- data/lib/asciidoctor/standoc/ref.rb +71 -29
- data/lib/asciidoctor/standoc/reqt.rb +11 -6
- data/lib/asciidoctor/standoc/reqt.rng +23 -0
- data/lib/asciidoctor/standoc/table.rb +3 -2
- data/lib/asciidoctor/standoc/views/datamodel/model_representation.adoc.erb +1 -1
- data/lib/metanorma/standoc/version.rb +1 -1
- data/spec/asciidoctor-standoc/blocks_spec.rb +55 -26
- data/spec/asciidoctor-standoc/cleanup_spec.rb +1 -1
- data/spec/asciidoctor-standoc/datamodel/attributes_table_preprocessor_spec.rb +35 -0
- data/spec/asciidoctor-standoc/lists_spec.rb +7 -5
- data/spec/asciidoctor-standoc/macros_spec.rb +3 -2
- data/spec/asciidoctor-standoc/refs_spec.rb +250 -5
- data/spec/asciidoctor-standoc/table_spec.rb +2 -2
- data/spec/asciidoctor-standoc/validate_spec.rb +56 -0
- data/spec/assets/iso123.rxl +107 -0
- data/spec/examples/datamodel/blank_definition_profile.adoc +4 -0
- data/spec/examples/datamodel/models/models/{Signature copy.yml → SignatureBlankDefinition.yml} +2 -2
- data/spec/fixtures/macros_datamodel/blank_definition_profile.xml +51 -0
- metadata +7 -3
@@ -114,7 +114,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
114
114
|
it "processes complex tables" do
|
115
115
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
116
116
|
#{ASCIIDOC_BLANK_HDR}
|
117
|
-
[cols="<,^,^,^,^",options="header,footer",headerrows=2,alt="An extensive summary, and illustration, of tables",subsequence="A",options="unnumbered",summary="This is an extremely long, convoluted summary",width=70
|
117
|
+
[cols="<,^,^,^,^",options="header,footer",headerrows=2,alt="An extensive summary, and illustration, of tables",subsequence="A",options="unnumbered",summary="This is an extremely long, convoluted summary",width=70%,number="3",keep-with-next=true,keep-lines-together=true]
|
118
118
|
.Maximum _permissible_ mass fraction of defects
|
119
119
|
|===
|
120
120
|
.2+|Defect 4+^| Maximum permissible mass fraction of defects in husked rice +
|
@@ -144,7 +144,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
144
144
|
INPUT
|
145
145
|
#{BLANK_HDR}
|
146
146
|
<sections>
|
147
|
-
<table id="_" alt="An extensive summary, and illustration, of tables" unnumbered="true" subsequence="A" summary="This is an extremely long, convoluted summary" width="70%">
|
147
|
+
<table id="_" alt="An extensive summary, and illustration, of tables" unnumbered="true" subsequence="A" summary="This is an extremely long, convoluted summary" width="70%" number="3" keep-with-next="true" keep-lines-together="true">
|
148
148
|
<name>Maximum <em>permissible</em> mass fraction of defects</name>
|
149
149
|
<thead>
|
150
150
|
<tr>
|
@@ -9,6 +9,62 @@ RSpec.describe Asciidoctor::Standoc do
|
|
9
9
|
expect(File.exist?("spec/assets/xref_error.err")).to be true
|
10
10
|
end
|
11
11
|
|
12
|
+
it "warns about missing fields in asciibib" do
|
13
|
+
FileUtils.rm_f "test.err"
|
14
|
+
Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)
|
15
|
+
#{VALIDATING_BLANK_HDR}
|
16
|
+
|
17
|
+
[bibliography]
|
18
|
+
== Normative References
|
19
|
+
|
20
|
+
[%bibitem]
|
21
|
+
=== Standard
|
22
|
+
id:: iso123
|
23
|
+
type:: standard
|
24
|
+
contributor::
|
25
|
+
role::: publisher
|
26
|
+
organization:::
|
27
|
+
name:::: ISO
|
28
|
+
contributor::
|
29
|
+
role::: author
|
30
|
+
person:::
|
31
|
+
name::::
|
32
|
+
+
|
33
|
+
--
|
34
|
+
completename::
|
35
|
+
language::: en
|
36
|
+
content::: Fred
|
37
|
+
--
|
38
|
+
contributor::
|
39
|
+
role::: author
|
40
|
+
person:::
|
41
|
+
name::::
|
42
|
+
completename::::: Jack
|
43
|
+
|
44
|
+
INPUT
|
45
|
+
errf = File.read("test.err")
|
46
|
+
expect(errf).to include "Reference iso123 is missing a document identifier (docid)"
|
47
|
+
end
|
48
|
+
|
49
|
+
it "warns about missing fields in asciibib" do
|
50
|
+
FileUtils.rm_f "test.err"
|
51
|
+
Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)
|
52
|
+
#{VALIDATING_BLANK_HDR}
|
53
|
+
|
54
|
+
[bibliography]
|
55
|
+
== Normative References
|
56
|
+
|
57
|
+
[%bibitem]
|
58
|
+
=== Standard
|
59
|
+
type:: standard
|
60
|
+
contributor::
|
61
|
+
role::: publisher
|
62
|
+
organization:::
|
63
|
+
name:::: ISO
|
64
|
+
INPUT
|
65
|
+
errf = File.read("test.err")
|
66
|
+
expect(errf).to include "The following reference is missing an anchor"
|
67
|
+
end
|
12
68
|
it "warns about malformed LaTeX" do
|
13
69
|
FileUtils.rm_f "test.err"
|
14
70
|
Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)
|
@@ -0,0 +1,107 @@
|
|
1
|
+
<bibdata id='iso123' xmlns='http://www.example.com' type='standard'>
|
2
|
+
<fetched>2020-06-12</fetched>
|
3
|
+
<title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
|
4
|
+
<title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
|
5
|
+
<title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
|
6
|
+
<title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
|
7
|
+
<title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
|
8
|
+
<title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
|
9
|
+
<uri type='src'>https://www.iso.org/standard/23281.html</uri>
|
10
|
+
<uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
11
|
+
<uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
12
|
+
<docidentifier type='ISO'>ISO 123 (all parts)</docidentifier>
|
13
|
+
<docnumber>123</docnumber>
|
14
|
+
<date type='published'>
|
15
|
+
<on>2001</on>
|
16
|
+
</date>
|
17
|
+
<contributor>
|
18
|
+
<role type='publisher'/>
|
19
|
+
<organization>
|
20
|
+
<name>International Organization for Standardization</name>
|
21
|
+
<abbreviation>ISO</abbreviation>
|
22
|
+
<uri>www.iso.org</uri>
|
23
|
+
</organization>
|
24
|
+
</contributor>
|
25
|
+
<edition>3</edition>
|
26
|
+
<language>en</language>
|
27
|
+
<language>fr</language>
|
28
|
+
<script>Latn</script>
|
29
|
+
<status>
|
30
|
+
<stage>90</stage>
|
31
|
+
<substage>93</substage>
|
32
|
+
</status>
|
33
|
+
<copyright>
|
34
|
+
<from>2001</from>
|
35
|
+
<owner>
|
36
|
+
<organization>
|
37
|
+
<name>ISO</name>
|
38
|
+
</organization>
|
39
|
+
</owner>
|
40
|
+
</copyright>
|
41
|
+
<relation type='obsoletes'>
|
42
|
+
<bibitem type='standard'>
|
43
|
+
<formattedref format='text/plain'>ISO 123:1985</formattedref>
|
44
|
+
</bibitem>
|
45
|
+
</relation>
|
46
|
+
<relation type='instance'>
|
47
|
+
<bibitem type='standard'>
|
48
|
+
<fetched>2020-06-12</fetched>
|
49
|
+
<title type='title-intro' format='text/plain' language='en' script='Latn'>Rubber latex</title>
|
50
|
+
<title type='title-main' format='text/plain' language='en' script='Latn'>Sampling</title>
|
51
|
+
<title type='main' format='text/plain' language='en' script='Latn'>Rubber latex – Sampling</title>
|
52
|
+
<title type='title-intro' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc</title>
|
53
|
+
<title type='title-main' format='text/plain' language='fr' script='Latn'>Échantillonnage</title>
|
54
|
+
<title type='main' format='text/plain' language='fr' script='Latn'>Latex de caoutchouc – Échantillonnage</title>
|
55
|
+
<uri type='src'>https://www.iso.org/standard/23281.html</uri>
|
56
|
+
<uri type='obp'>https://www.iso.org/obp/ui/#!iso:std:23281:en</uri>
|
57
|
+
<uri type='rss'>https://www.iso.org/contents/data/standard/02/32/23281.detail.rss</uri>
|
58
|
+
<docidentifier type='ISO'>ISO 123:2001</docidentifier>
|
59
|
+
<docnumber>123</docnumber>
|
60
|
+
<date type='published'>
|
61
|
+
<on>2001</on>
|
62
|
+
</date>
|
63
|
+
<contributor>
|
64
|
+
<role type='publisher'/>
|
65
|
+
<organization>
|
66
|
+
<name>International Organization for Standardization</name>
|
67
|
+
<abbreviation>ISO</abbreviation>
|
68
|
+
<uri>www.iso.org</uri>
|
69
|
+
</organization>
|
70
|
+
</contributor>
|
71
|
+
<edition>3</edition>
|
72
|
+
<language>en</language>
|
73
|
+
<language>fr</language>
|
74
|
+
<script>Latn</script>
|
75
|
+
<status>
|
76
|
+
<stage>90</stage>
|
77
|
+
<substage>93</substage>
|
78
|
+
</status>
|
79
|
+
<copyright>
|
80
|
+
<from>2001</from>
|
81
|
+
<owner>
|
82
|
+
<organization>
|
83
|
+
<name>ISO</name>
|
84
|
+
</organization>
|
85
|
+
</owner>
|
86
|
+
</copyright>
|
87
|
+
<relation type='obsoletes'>
|
88
|
+
<bibitem type='standard'>
|
89
|
+
<formattedref format='text/plain'>ISO 123:1985</formattedref>
|
90
|
+
</bibitem>
|
91
|
+
</relation>
|
92
|
+
<place>Geneva</place>
|
93
|
+
</bibitem>
|
94
|
+
</relation>
|
95
|
+
<relation type='instance'>
|
96
|
+
<bibitem type='standard'>
|
97
|
+
<formattedref format='text/plain'>ISO 123:1985</formattedref>
|
98
|
+
</bibitem>
|
99
|
+
</relation>
|
100
|
+
<relation type='instance'>
|
101
|
+
<bibitem type='standard'>
|
102
|
+
<formattedref format='text/plain'>ISO 123:1974</formattedref>
|
103
|
+
</bibitem>
|
104
|
+
</relation>
|
105
|
+
<place>Geneva</place>
|
106
|
+
</bibdata>
|
107
|
+
|
data/spec/examples/datamodel/models/models/{Signature copy.yml → SignatureBlankDefinition.yml}
RENAMED
@@ -4,10 +4,10 @@ definition: |
|
|
4
4
|
A cryptographic signature used to determine data integrity and validity of the object it belongs to.
|
5
5
|
attributes:
|
6
6
|
algorithm:
|
7
|
-
definition:
|
7
|
+
definition:
|
8
8
|
type: iso14888Oid
|
9
9
|
publicKey:
|
10
|
-
definition:
|
10
|
+
definition:
|
11
11
|
type: Uri
|
12
12
|
signature:
|
13
13
|
definition: The actual digital signature value encoded in Base64 format.
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<sections>
|
2
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
3
|
+
<title>Signature</title>
|
4
|
+
<p id='_'>
|
5
|
+
A cryptographic signature used to determine data integrity and validity
|
6
|
+
of the object it belongs to.
|
7
|
+
</p>
|
8
|
+
<table id='_'>
|
9
|
+
<name>Signature attributes</name>
|
10
|
+
<thead>
|
11
|
+
<tr>
|
12
|
+
<th align='left'>Name</th>
|
13
|
+
<th align='left'>Definition</th>
|
14
|
+
<th align='left'>Mandatory/ Optional/ Conditional</th>
|
15
|
+
<th align='left'>Max Occur</th>
|
16
|
+
<th align='left'>Data Type</th>
|
17
|
+
</tr>
|
18
|
+
</thead>
|
19
|
+
<tbody>
|
20
|
+
<tr>
|
21
|
+
<td align='left'>algorithm</td>
|
22
|
+
<td align='left'>TODO: enum algorithm’s definition</td>
|
23
|
+
<td align='left'>M</td>
|
24
|
+
<td align='left'>1</td>
|
25
|
+
<td align='left'>
|
26
|
+
<tt>iso14888Oid</tt>
|
27
|
+
</td>
|
28
|
+
</tr>
|
29
|
+
<tr>
|
30
|
+
<td align='left'>publicKey</td>
|
31
|
+
<td align='left'>TODO: enum publicKey’s definition</td>
|
32
|
+
<td align='left'>M</td>
|
33
|
+
<td align='left'>1</td>
|
34
|
+
<td align='left'>
|
35
|
+
<tt>Uri</tt>
|
36
|
+
</td>
|
37
|
+
</tr>
|
38
|
+
<tr>
|
39
|
+
<td align='left'>signature</td>
|
40
|
+
<td align='left'>The actual digital signature value encoded in Base64 format.</td>
|
41
|
+
<td align='left'>M</td>
|
42
|
+
<td align='left'>1</td>
|
43
|
+
<td align='left'>
|
44
|
+
<tt>CharacterString</tt>
|
45
|
+
</td>
|
46
|
+
</tr>
|
47
|
+
</tbody>
|
48
|
+
</table>
|
49
|
+
</clause>
|
50
|
+
</sections>
|
51
|
+
</standard-document>
|
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: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -354,6 +354,7 @@ files:
|
|
354
354
|
- lib/asciidoctor/standoc/basicdoc.rng
|
355
355
|
- lib/asciidoctor/standoc/biblio.rng
|
356
356
|
- lib/asciidoctor/standoc/blocks.rb
|
357
|
+
- lib/asciidoctor/standoc/blocks_notes.rb
|
357
358
|
- lib/asciidoctor/standoc/cleanup.rb
|
358
359
|
- lib/asciidoctor/standoc/cleanup_block.rb
|
359
360
|
- lib/asciidoctor/standoc/cleanup_boilerplate.rb
|
@@ -418,6 +419,7 @@ files:
|
|
418
419
|
- spec/assets/i18n.yaml
|
419
420
|
- spec/assets/iso.headless.html
|
420
421
|
- spec/assets/iso.xml
|
422
|
+
- spec/assets/iso123.rxl
|
421
423
|
- spec/assets/rice_image1.png
|
422
424
|
- spec/assets/scripts.html
|
423
425
|
- spec/assets/std.css
|
@@ -429,6 +431,7 @@ files:
|
|
429
431
|
- spec/examples/codes_table.html
|
430
432
|
- spec/examples/datamodel/address_class_profile.adoc
|
431
433
|
- spec/examples/datamodel/address_component_profile.adoc
|
434
|
+
- spec/examples/datamodel/blank_definition_profile.adoc
|
432
435
|
- spec/examples/datamodel/common_models_diagram.adoc
|
433
436
|
- spec/examples/datamodel/models/models/AddressClassProfile.yml
|
434
437
|
- spec/examples/datamodel/models/models/AddressComponentProfile.yml
|
@@ -440,8 +443,8 @@ files:
|
|
440
443
|
- spec/examples/datamodel/models/models/Localization.yml
|
441
444
|
- spec/examples/datamodel/models/models/ProfileCompliantAddress.yml
|
442
445
|
- spec/examples/datamodel/models/models/ProfileCompliantAddressComponent.yml
|
443
|
-
- spec/examples/datamodel/models/models/Signature copy.yml
|
444
446
|
- spec/examples/datamodel/models/models/Signature.yml
|
447
|
+
- spec/examples/datamodel/models/models/SignatureBlankDefinition.yml
|
445
448
|
- spec/examples/datamodel/models/models/TextDirectionCode copy.yml
|
446
449
|
- spec/examples/datamodel/models/models/TextDirectionCode.yml
|
447
450
|
- spec/examples/datamodel/models/models/Validity.yml
|
@@ -468,6 +471,7 @@ files:
|
|
468
471
|
- spec/examples/rice_images/rice_image3_3.png
|
469
472
|
- spec/fixtures/macros_datamodel/address_class_profile.xml
|
470
473
|
- spec/fixtures/macros_datamodel/address_component_profile.xml
|
474
|
+
- spec/fixtures/macros_datamodel/blank_definition_profile.xml
|
471
475
|
- spec/fixtures/macros_datamodel/common_models_diagram.xml
|
472
476
|
- spec/fixtures/macros_datamodel/top_down_diagram.xml
|
473
477
|
- spec/metanorma/processor_spec.rb
|