metanorma-ogc 1.4.0 → 1.4.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/ogc/boilerplate.xml +6 -6
  3. data/lib/asciidoctor/ogc/cleanup.rb +173 -0
  4. data/lib/asciidoctor/ogc/converter.rb +62 -64
  5. data/lib/asciidoctor/ogc/front.rb +1 -1
  6. data/lib/asciidoctor/ogc/isodoc.rng +211 -11
  7. data/lib/asciidoctor/ogc/reqt.rng +16 -0
  8. data/lib/asciidoctor/ogc/validate.rb +35 -20
  9. data/lib/isodoc/ogc/base_convert.rb +47 -10
  10. data/lib/isodoc/ogc/biblio.rb +57 -51
  11. data/lib/isodoc/ogc/html/htmlstyle.css +10 -0
  12. data/lib/isodoc/ogc/html/htmlstyle.scss +12 -0
  13. data/lib/isodoc/ogc/html/ogc.css +4 -0
  14. data/lib/isodoc/ogc/html/ogc.scss +4 -0
  15. data/lib/isodoc/ogc/i18n-en.yaml +24 -8
  16. data/lib/isodoc/ogc/metadata.rb +1 -1
  17. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +501 -127
  18. data/lib/isodoc/ogc/ogc.best-practice.xsl +501 -127
  19. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +501 -127
  20. data/lib/isodoc/ogc/ogc.community-practice.xsl +501 -127
  21. data/lib/isodoc/ogc/ogc.community-standard.xsl +501 -127
  22. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +501 -127
  23. data/lib/isodoc/ogc/ogc.engineering-report.xsl +501 -127
  24. data/lib/isodoc/ogc/ogc.other.xsl +501 -127
  25. data/lib/isodoc/ogc/ogc.policy.xsl +501 -127
  26. data/lib/isodoc/ogc/ogc.reference-model.xsl +501 -127
  27. data/lib/isodoc/ogc/ogc.release-notes.xsl +501 -127
  28. data/lib/isodoc/ogc/ogc.standard.xsl +501 -127
  29. data/lib/isodoc/ogc/ogc.test-suite.xsl +501 -127
  30. data/lib/isodoc/ogc/ogc.user-guide.xsl +501 -127
  31. data/lib/isodoc/ogc/ogc.white-paper.xsl +358 -66
  32. data/lib/isodoc/ogc/presentation_xml_convert.rb +58 -48
  33. data/lib/isodoc/ogc/reqt.rb +64 -46
  34. data/lib/isodoc/ogc/xref.rb +1 -2
  35. data/lib/metanorma/ogc/version.rb +1 -1
  36. metadata +3 -2
@@ -32,6 +32,18 @@
32
32
  <ref name="DocumentType"/>
33
33
  </element>
34
34
  </define>
35
+ <define name="section-title">
36
+ <element name="title">
37
+ <zeroOrMore>
38
+ <ref name="TextElement"/>
39
+ </zeroOrMore>
40
+ </element>
41
+ <zeroOrMore>
42
+ <element name="variant-title">
43
+ <ref name="TypedTitleString"/>
44
+ </element>
45
+ </zeroOrMore>
46
+ </define>
35
47
  <define name="hyperlink">
36
48
  <element name="link">
37
49
  <attribute name="target">
@@ -135,6 +147,14 @@
135
147
  <data type="boolean"/>
136
148
  </attribute>
137
149
  </optional>
150
+ <optional>
151
+ <attribute name="tag"/>
152
+ </optional>
153
+ <optional>
154
+ <attribute name="multilingual-rendering">
155
+ <ref name="MultilingualRenderingType"/>
156
+ </attribute>
157
+ </optional>
138
158
  <oneOrMore>
139
159
  <ref name="ul_li"/>
140
160
  </oneOrMore>
@@ -158,15 +178,25 @@
158
178
  <data type="boolean"/>
159
179
  </attribute>
160
180
  </optional>
161
- <attribute name="type">
162
- <choice>
163
- <value>roman</value>
164
- <value>alphabet</value>
165
- <value>arabic</value>
166
- <value>roman_upper</value>
167
- <value>alphabet_upper</value>
168
- </choice>
169
- </attribute>
181
+ <optional>
182
+ <attribute name="tag"/>
183
+ </optional>
184
+ <optional>
185
+ <attribute name="multilingual-rendering">
186
+ <ref name="MultilingualRenderingType"/>
187
+ </attribute>
188
+ </optional>
189
+ <optional>
190
+ <attribute name="type">
191
+ <choice>
192
+ <value>roman</value>
193
+ <value>alphabet</value>
194
+ <value>arabic</value>
195
+ <value>roman_upper</value>
196
+ <value>alphabet_upper</value>
197
+ </choice>
198
+ </attribute>
199
+ </optional>
170
200
  <oneOrMore>
171
201
  <ref name="li"/>
172
202
  </oneOrMore>
@@ -195,6 +225,14 @@
195
225
  <data type="boolean"/>
196
226
  </attribute>
197
227
  </optional>
228
+ <optional>
229
+ <attribute name="tag"/>
230
+ </optional>
231
+ <optional>
232
+ <attribute name="multilingual-rendering">
233
+ <ref name="MultilingualRenderingType"/>
234
+ </attribute>
235
+ </optional>
198
236
  <oneOrMore>
199
237
  <ref name="dt"/>
200
238
  <ref name="dd"/>
@@ -242,6 +280,14 @@
242
280
  <data type="boolean"/>
243
281
  </attribute>
244
282
  </optional>
283
+ <optional>
284
+ <attribute name="tag"/>
285
+ </optional>
286
+ <optional>
287
+ <attribute name="multilingual-rendering">
288
+ <ref name="MultilingualRenderingType"/>
289
+ </attribute>
290
+ </optional>
245
291
  <optional>
246
292
  <ref name="tname"/>
247
293
  </optional>
@@ -302,6 +348,14 @@
302
348
  <optional>
303
349
  <attribute name="width"/>
304
350
  </optional>
351
+ <optional>
352
+ <attribute name="tag"/>
353
+ </optional>
354
+ <optional>
355
+ <attribute name="multilingual-rendering">
356
+ <ref name="MultilingualRenderingType"/>
357
+ </attribute>
358
+ </optional>
305
359
  <optional>
306
360
  <ref name="colgroup"/>
307
361
  </optional>
@@ -352,6 +406,14 @@
352
406
  <optional>
353
407
  <attribute name="class"/>
354
408
  </optional>
409
+ <optional>
410
+ <attribute name="tag"/>
411
+ </optional>
412
+ <optional>
413
+ <attribute name="multilingual-rendering">
414
+ <ref name="MultilingualRenderingType"/>
415
+ </attribute>
416
+ </optional>
355
417
  <optional>
356
418
  <ref name="source"/>
357
419
  </optional>
@@ -410,6 +472,14 @@
410
472
  <optional>
411
473
  <attribute name="lang"/>
412
474
  </optional>
475
+ <optional>
476
+ <attribute name="tag"/>
477
+ </optional>
478
+ <optional>
479
+ <attribute name="multilingual-rendering">
480
+ <ref name="MultilingualRenderingType"/>
481
+ </attribute>
482
+ </optional>
413
483
  <optional>
414
484
  <ref name="tname"/>
415
485
  </optional>
@@ -458,6 +528,14 @@
458
528
  <data type="boolean"/>
459
529
  </attribute>
460
530
  </optional>
531
+ <optional>
532
+ <attribute name="tag"/>
533
+ </optional>
534
+ <optional>
535
+ <attribute name="multilingual-rendering">
536
+ <ref name="MultilingualRenderingType"/>
537
+ </attribute>
538
+ </optional>
461
539
  <ref name="stem"/>
462
540
  <optional>
463
541
  <ref name="dl"/>
@@ -486,6 +564,14 @@
486
564
  <data type="boolean"/>
487
565
  </attribute>
488
566
  </optional>
567
+ <optional>
568
+ <attribute name="tag"/>
569
+ </optional>
570
+ <optional>
571
+ <attribute name="multilingual-rendering">
572
+ <ref name="MultilingualRenderingType"/>
573
+ </attribute>
574
+ </optional>
489
575
  <zeroOrMore>
490
576
  <ref name="TextElement"/>
491
577
  </zeroOrMore>
@@ -513,6 +599,14 @@
513
599
  <data type="boolean"/>
514
600
  </attribute>
515
601
  </optional>
602
+ <optional>
603
+ <attribute name="tag"/>
604
+ </optional>
605
+ <optional>
606
+ <attribute name="multilingual-rendering">
607
+ <ref name="MultilingualRenderingType"/>
608
+ </attribute>
609
+ </optional>
516
610
  <zeroOrMore>
517
611
  <choice>
518
612
  <ref name="TextElement"/>
@@ -544,6 +638,14 @@
544
638
  <data type="boolean"/>
545
639
  </attribute>
546
640
  </optional>
641
+ <optional>
642
+ <attribute name="tag"/>
643
+ </optional>
644
+ <optional>
645
+ <attribute name="multilingual-rendering">
646
+ <ref name="MultilingualRenderingType"/>
647
+ </attribute>
648
+ </optional>
547
649
  <optional>
548
650
  <ref name="quote-source"/>
549
651
  </optional>
@@ -653,6 +755,14 @@
653
755
  <optional>
654
756
  <attribute name="type"/>
655
757
  </optional>
758
+ <optional>
759
+ <attribute name="tag"/>
760
+ </optional>
761
+ <optional>
762
+ <attribute name="multilingual-rendering">
763
+ <ref name="MultilingualRenderingType"/>
764
+ </attribute>
765
+ </optional>
656
766
  <oneOrMore>
657
767
  <choice>
658
768
  <ref name="paragraph"/>
@@ -910,6 +1020,14 @@
910
1020
  </define>
911
1021
  </include>
912
1022
  <!-- end overrides -->
1023
+ <define name="MultilingualRenderingType">
1024
+ <choice>
1025
+ <value>common</value>
1026
+ <value>all-columns</value>
1027
+ <value>parallel</value>
1028
+ <value>tag</value>
1029
+ </choice>
1030
+ </define>
913
1031
  <define name="docsubtype">
914
1032
  <element name="subdoctype">
915
1033
  <ref name="DocumentSubtype"/>
@@ -976,6 +1094,16 @@
976
1094
  <data type="boolean"/>
977
1095
  </attribute>
978
1096
  </optional>
1097
+ <optional>
1098
+ <attribute name="linkmention">
1099
+ <data type="boolean"/>
1100
+ </attribute>
1101
+ </optional>
1102
+ <optional>
1103
+ <attribute name="linkref">
1104
+ <data type="boolean"/>
1105
+ </attribute>
1106
+ </optional>
979
1107
  <optional>
980
1108
  <element name="refterm">
981
1109
  <zeroOrMore>
@@ -1012,6 +1140,7 @@
1012
1140
  <ref name="svgmap"/>
1013
1141
  <ref name="inputform"/>
1014
1142
  <ref name="toc"/>
1143
+ <ref name="passthrough"/>
1015
1144
  </choice>
1016
1145
  </define>
1017
1146
  <define name="toc">
@@ -1019,6 +1148,14 @@
1019
1148
  <ref name="ul"/>
1020
1149
  </element>
1021
1150
  </define>
1151
+ <define name="passthrough">
1152
+ <element name="passthrough">
1153
+ <optional>
1154
+ <attribute name="formats"/>
1155
+ </optional>
1156
+ <text/>
1157
+ </element>
1158
+ </define>
1022
1159
  <define name="inputform">
1023
1160
  <element name="form">
1024
1161
  <attribute name="id">
@@ -1029,6 +1166,14 @@
1029
1166
  <optional>
1030
1167
  <attribute name="class"/>
1031
1168
  </optional>
1169
+ <optional>
1170
+ <attribute name="tag"/>
1171
+ </optional>
1172
+ <optional>
1173
+ <attribute name="multilingual-rendering">
1174
+ <ref name="MultilingualRenderingType"/>
1175
+ </attribute>
1176
+ </optional>
1032
1177
  <zeroOrMore>
1033
1178
  <choice>
1034
1179
  <ref name="TextElement"/>
@@ -1686,7 +1831,9 @@
1686
1831
  <zeroOrMore>
1687
1832
  <ref name="termgrammar"/>
1688
1833
  </zeroOrMore>
1689
- <ref name="definition"/>
1834
+ <oneOrMore>
1835
+ <ref name="termdefinition"/>
1836
+ </oneOrMore>
1690
1837
  <zeroOrMore>
1691
1838
  <ref name="termnote"/>
1692
1839
  </zeroOrMore>
@@ -1749,7 +1896,7 @@
1749
1896
  </oneOrMore>
1750
1897
  </element>
1751
1898
  </define>
1752
- <define name="definition">
1899
+ <define name="termdefinition">
1753
1900
  <element name="definition">
1754
1901
  <oneOrMore>
1755
1902
  <choice>
@@ -1758,6 +1905,9 @@
1758
1905
  <ref name="formula"/>
1759
1906
  </choice>
1760
1907
  </oneOrMore>
1908
+ <zeroOrMore>
1909
+ <ref name="termsource"/>
1910
+ </zeroOrMore>
1761
1911
  </element>
1762
1912
  </define>
1763
1913
  <define name="termnote">
@@ -1786,6 +1936,14 @@
1786
1936
  <data type="boolean"/>
1787
1937
  </attribute>
1788
1938
  </optional>
1939
+ <optional>
1940
+ <attribute name="tag"/>
1941
+ </optional>
1942
+ <optional>
1943
+ <attribute name="multilingual-rendering">
1944
+ <ref name="MultilingualRenderingType"/>
1945
+ </attribute>
1946
+ </optional>
1789
1947
  <oneOrMore>
1790
1948
  <choice>
1791
1949
  <ref name="paragraph"/>
@@ -1802,6 +1960,24 @@
1802
1960
  <attribute name="id">
1803
1961
  <data type="ID"/>
1804
1962
  </attribute>
1963
+ <optional>
1964
+ <attribute name="keep-with-next">
1965
+ <data type="boolean"/>
1966
+ </attribute>
1967
+ </optional>
1968
+ <optional>
1969
+ <attribute name="keep-lines-together">
1970
+ <data type="boolean"/>
1971
+ </attribute>
1972
+ </optional>
1973
+ <optional>
1974
+ <attribute name="tag"/>
1975
+ </optional>
1976
+ <optional>
1977
+ <attribute name="multilingual-rendering">
1978
+ <ref name="MultilingualRenderingType"/>
1979
+ </attribute>
1980
+ </optional>
1805
1981
  <ref name="paragraph"/>
1806
1982
  </element>
1807
1983
  </define>
@@ -1969,6 +2145,14 @@
1969
2145
  <optional>
1970
2146
  <attribute name="title"/>
1971
2147
  </optional>
2148
+ <optional>
2149
+ <attribute name="tag"/>
2150
+ </optional>
2151
+ <optional>
2152
+ <attribute name="multilingual-rendering">
2153
+ <ref name="MultilingualRenderingType"/>
2154
+ </attribute>
2155
+ </optional>
1972
2156
  <optional>
1973
2157
  <element name="location">
1974
2158
  <zeroOrMore>
@@ -2028,6 +2212,14 @@
2028
2212
  </define>
2029
2213
  <define name="imagemap">
2030
2214
  <element name="imagemap">
2215
+ <optional>
2216
+ <attribute name="tag"/>
2217
+ </optional>
2218
+ <optional>
2219
+ <attribute name="multilingual-rendering">
2220
+ <ref name="MultilingualRenderingType"/>
2221
+ </attribute>
2222
+ </optional>
2031
2223
  <ref name="figure"/>
2032
2224
  <zeroOrMore>
2033
2225
  <element name="area">
@@ -2072,6 +2264,14 @@
2072
2264
  </define>
2073
2265
  <define name="svgmap">
2074
2266
  <element name="svgmap">
2267
+ <optional>
2268
+ <attribute name="tag"/>
2269
+ </optional>
2270
+ <optional>
2271
+ <attribute name="multilingual-rendering">
2272
+ <ref name="MultilingualRenderingType"/>
2273
+ </attribute>
2274
+ </optional>
2075
2275
  <ref name="figure"/>
2076
2276
  <zeroOrMore>
2077
2277
  <element name="target">
@@ -58,6 +58,14 @@
58
58
  <optional>
59
59
  <attribute name="type"/>
60
60
  </optional>
61
+ <optional>
62
+ <attribute name="tag"/>
63
+ </optional>
64
+ <optional>
65
+ <attribute name="multilingual-rendering">
66
+ <ref name="MultilingualRenderingType"/>
67
+ </attribute>
68
+ </optional>
61
69
  <optional>
62
70
  <ref name="reqtitle"/>
63
71
  </optional>
@@ -175,6 +183,14 @@
175
183
  <data type="boolean"/>
176
184
  </attribute>
177
185
  </optional>
186
+ <optional>
187
+ <attribute name="tag"/>
188
+ </optional>
189
+ <optional>
190
+ <attribute name="multilingual-rendering">
191
+ <ref name="MultilingualRenderingType"/>
192
+ </attribute>
193
+ </optional>
178
194
  <oneOrMore>
179
195
  <ref name="BasicBlock"/>
180
196
  </oneOrMore>
@@ -1,7 +1,13 @@
1
1
  module Asciidoctor
2
2
  module Ogc
3
3
  class Converter < Standoc::Converter
4
- def title_validate(root)
4
+ def validate(doc)
5
+ content_validate(doc)
6
+ schema_validate(formattedstr_strip(doc.dup),
7
+ File.join(File.dirname(__FILE__), "ogc.rng"))
8
+ end
9
+
10
+ def title_validate(_root)
5
11
  nil
6
12
  end
7
13
 
@@ -18,8 +24,9 @@ module Asciidoctor
18
24
  def stage_validate(xmldoc)
19
25
  stage = xmldoc&.at("//bibdata/status/stage")&.text
20
26
  %w(swg-draft oab-review public-rfc tc-vote
21
- approved deprecated retired).include? stage or
22
- @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
27
+ approved deprecated retired).include? stage or
28
+ @log.add("Document Attributes", nil,
29
+ "#{stage} is not a recognised status")
23
30
  end
24
31
 
25
32
  def version_validate(xmldoc)
@@ -27,10 +34,12 @@ module Asciidoctor
27
34
  doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
28
35
  if %w(engineering-report discussion-paper).include? doctype
29
36
  version.nil? or
30
- @log.add("Document Attributes", nil, "Version not permitted for #{doctype}")
37
+ @log.add("Document Attributes", nil,
38
+ "Version not permitted for #{doctype}")
31
39
  else
32
40
  version.nil? and
33
- @log.add("Document Attributes", nil, "Version required for #{doctype}")
41
+ @log.add("Document Attributes", nil,
42
+ "Version required for #{doctype}")
34
43
  end
35
44
  end
36
45
 
@@ -41,7 +50,7 @@ module Asciidoctor
41
50
  end
42
51
 
43
52
  STANDARDTYPE = %w{standard standard-with-suite abstract-specification
44
- community-standard profile}.freeze
53
+ community-standard profile}.freeze
45
54
 
46
55
  # spec of permissible section sequence
47
56
  # we skip normative references, it goes to end of list
@@ -49,24 +58,25 @@ module Asciidoctor
49
58
  [
50
59
  {
51
60
  msg: "Prefatory material must be followed by (clause) Scope",
52
- val: ["./self::clause[@type = 'scope']" ]
61
+ val: ["./self::clause[@type = 'scope']"],
53
62
  },
54
63
  {
55
64
  msg: "Scope must be followed by Conformance",
56
- val: ["./self::clause[@type = 'conformance']" ]
65
+ val: ["./self::clause[@type = 'conformance']"],
57
66
  },
58
67
  {
59
68
  msg: "Normative References must be followed by "\
60
- "Terms and Definitions",
61
- val: ["./self::terms | .//terms"]
69
+ "Terms and Definitions",
70
+ val: ["./self::terms | .//terms"],
62
71
  },
63
- ].freeze
72
+ ].freeze
64
73
 
65
74
  def seqcheck(names, msg, accepted)
66
75
  n = names.shift
67
76
  return [] if n.nil?
77
+
68
78
  test = accepted.map { |a| n.at(a) }
69
- if test.all? { |a| a.nil? }
79
+ if test.all?(&:nil?)
70
80
  @log.add("Style", nil, msg)
71
81
  end
72
82
  names
@@ -74,7 +84,9 @@ module Asciidoctor
74
84
 
75
85
  def sections_sequence_validate(root)
76
86
  return unless STANDARDTYPE.include?(
77
- root&.at("//bibdata/ext/doctype")&.text)
87
+ root&.at("//bibdata/ext/doctype")&.text,
88
+ )
89
+
78
90
  names = root.xpath("//sections/* | //bibliography/*")
79
91
  names = seqcheck(names, SEQ[0][:msg], SEQ[0][:val])
80
92
  names = seqcheck(names, SEQ[1][:msg], SEQ[1][:val])
@@ -84,25 +96,28 @@ module Asciidoctor
84
96
  n = names.shift
85
97
  end
86
98
  if n.nil? || n.name != "clause"
87
- @log.add("Style", nil, "Document must contain at least one clause")
99
+ @log.add("Style", nil,
100
+ "Document must contain at least one clause")
88
101
  return
89
102
  end
90
103
  root.at("//references | //clause[descendant::references]"\
91
104
  "[not(parent::clause)]") or
92
- @log.add("Style", nil, "Normative References are mandatory")
105
+ @log.add("Style", nil, "Normative References are mandatory")
93
106
  end
94
107
 
95
108
  def preface_sequence_validate(root)
96
- root.at("//preface/abstract") or @log.add("Style", nil, "Abstract is missing!")
109
+ root.at("//preface/abstract") or @log.add("Style", nil,
110
+ "Abstract is missing!")
97
111
  root.at("//bibdata/keyword | //bibdata/ext/keyword") or
98
112
  @log.add("Style", nil, "Keywords are missing!")
99
- root.at("//foreword") or @log.add("Style", nil, "Preface is missing!")
113
+ root.at("//foreword") or @log.add("Style", nil,
114
+ "Preface is missing!")
100
115
  root.at("//bibdata/contributor[role/@type = 'author']/organization/"\
101
116
  "name") or
102
- @log.add("Style", nil, "Submitting Organizations is missing!")
103
- root.at("//submitters") or @log.add("Style", nil, "Submitters is missing!")
117
+ @log.add("Style", nil, "Submitting Organizations is missing!")
118
+ root.at("//submitters") or @log.add("Style", nil,
119
+ "Submitters is missing!")
104
120
  end
105
121
  end
106
122
  end
107
123
  end
108
-
@@ -15,7 +15,7 @@ module IsoDoc
15
15
  end
16
16
 
17
17
  def hi_parse(node, out)
18
- out.span **{class: "hi"} do |e|
18
+ out.span **{ class: "hi" } do |e|
19
19
  node.children.each { |n| parse(n, e) }
20
20
  end
21
21
  end
@@ -27,23 +27,58 @@ module IsoDoc
27
27
 
28
28
  def term_cleanup(docxml)
29
29
  docxml.xpath("//p[@class = 'Terms']").each do |d|
30
- h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
31
- h2.add_child("&nbsp;")
32
- h2.add_child(d.remove)
30
+ term_cleanup_merge_termnum(d)
31
+ term_cleanup_merge_admitted(d)
33
32
  end
34
33
  docxml
35
34
  end
36
35
 
36
+ def term_cleanup_merge_termnum(term)
37
+ h2 = term.at("./preceding-sibling::*[@class = 'TermNum'][1]")
38
+ term["class"] = h2["class"]
39
+ term["id"] = h2["id"]
40
+ term.children.first.previous = "&#xa0;"
41
+ term.children.first.previous = h2.remove.children
42
+ end
43
+
44
+ def term_cleanup_merge_admitted(term)
45
+ term.xpath("./following-sibling::p[@class = 'AltTerms' or "\
46
+ "@class = 'DeprecatedTerms']").each do |a|
47
+ term << " "
48
+ term << a.children
49
+ a.remove
50
+ end
51
+ end
52
+
53
+ def deprecated_term_parse(node, out)
54
+ out.p **{ class: "DeprecatedTerms" } do |p|
55
+ node.children.each { |c| parse(c, p) }
56
+ p << "&#xa0;"
57
+ p.span **{ class: "AdmittedLabel" } do |s|
58
+ s << l10n(@i18n.deprecated)
59
+ end
60
+ end
61
+ end
62
+
63
+ def admitted_term_parse(node, out)
64
+ out.p **{ class: "AltTerms" } do |p|
65
+ node.children.each { |c| parse(c, p) }
66
+ p << "&#xa0;"
67
+ p.span **{ class: "AdmittedLabel" } do |s|
68
+ s << l10n(@i18n.admitted)
69
+ end
70
+ end
71
+ end
72
+
37
73
  def example_parse(node, out)
38
74
  name = node.at(ns("./name"))
39
- example_name_parse(node, out, name) #if name
75
+ example_name_parse(node, out, name) # if name
40
76
  super
41
77
  end
42
78
 
43
- def example_label(node, div, name)
44
- end
79
+ def example_label(node, div, name); end
45
80
 
46
- def example_name_parse(node, div, name)
81
+ def example_name_parse(_node, div, name)
47
82
  div.p **{ class: "SourceTitle", style: "text-align:center;" } do |p|
48
83
  name&.children&.each { |n| parse(n, p) }
49
84
  end
@@ -56,6 +91,7 @@ module IsoDoc
56
91
 
57
92
  def is_clause?(name)
58
93
  return true if name == "submitters"
94
+
59
95
  super
60
96
  end
61
97
 
@@ -84,8 +120,8 @@ module IsoDoc
84
120
  def make_tr_attr(td, row, totalrows, header)
85
121
  ret = super
86
122
  if td.at("./ancestor::xmlns:table[@class = 'recommendation'] | "\
87
- "./ancestor::xmlns:table[@class = 'requirement'] | "\
88
- "./ancestor::xmlns:table[@class = 'permission']")
123
+ "./ancestor::xmlns:table[@class = 'requirement'] | "\
124
+ "./ancestor::xmlns:table[@class = 'permission']")
89
125
  ret[:style] = "vertical-align:top;"
90
126
  ret[:class] = "recommend"
91
127
  end
@@ -94,6 +130,7 @@ module IsoDoc
94
130
 
95
131
  def para_class(node)
96
132
  return node["class"] if node["class"]
133
+
97
134
  super
98
135
  end
99
136
  end