metanorma-itu 1.2.0 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4a8298c94b775bf0894357ab7885d198d4aad3da9893b45f610ff27cde287bc
4
- data.tar.gz: 10411a7522e3bf6a4b4a523125b037fc75470d2bfa7918215742c81cae2d6a6b
3
+ metadata.gz: 7f1f27889137eea1b004bc4eee71e47ddbead47e0fbc4674f539189644763b66
4
+ data.tar.gz: 88e33a92e6d6b0d0c3742a0a52df0129e0a45282af82ce97c92155a0394b50f0
5
5
  SHA512:
6
- metadata.gz: 6c497e515e567f5b92710c254570562db5d9c99d5f1b7299e818f1d27d66e51dd676e9b37deb0cb82376db08a8a249dd711418addc17b5052d78c3bba69cd479
7
- data.tar.gz: 0d691088240f6ff1fa63ecb92a8137e35d10d32d5e4d823695e3937c8caedc4e1837523ec4015de48088a439131391e69bddb4db18ffef7f0865765483f715bf
6
+ metadata.gz: 77ba3c458e943abb302d525427785149c4b782d4e76fab935366a0ce02f643c98f9332c8273bb29018d68b9817d569d2e036ee6040421c1325939e187d934e34
7
+ data.tar.gz: 03f051e1d762172800e50bd22cfece8feb04717bfd77a918411b1c22217ebbe3c7522709f923efacc5b8c4ceb922a4378ecb4db7af98a583526db07368c844f4
@@ -402,6 +402,16 @@
402
402
  </choice>
403
403
  </attribute>
404
404
  </optional>
405
+ <optional>
406
+ <attribute name="valign">
407
+ <choice>
408
+ <value>top</value>
409
+ <value>middle</value>
410
+ <value>bottom</value>
411
+ <value>baseline</value>
412
+ </choice>
413
+ </attribute>
414
+ </optional>
405
415
  <choice>
406
416
  <zeroOrMore>
407
417
  <ref name="TextElement"/>
@@ -429,6 +439,16 @@
429
439
  </choice>
430
440
  </attribute>
431
441
  </optional>
442
+ <optional>
443
+ <attribute name="valign">
444
+ <choice>
445
+ <value>top</value>
446
+ <value>middle</value>
447
+ <value>bottom</value>
448
+ <value>baseline</value>
449
+ </choice>
450
+ </attribute>
451
+ </optional>
432
452
  <choice>
433
453
  <zeroOrMore>
434
454
  <ref name="TextElement"/>
@@ -998,6 +1018,9 @@
998
1018
  <value>alphabet_upper</value>
999
1019
  </choice>
1000
1020
  </attribute>
1021
+ <optional>
1022
+ <attribute name="start"/>
1023
+ </optional>
1001
1024
  <oneOrMore>
1002
1025
  <ref name="li"/>
1003
1026
  </oneOrMore>
@@ -11,7 +11,7 @@ module Asciidoctor
11
11
  super
12
12
  xmldoc.xpath("//thead/tr[1]/th | //thead/tr[1]/td").each do |t|
13
13
  text = t.at("./descendant::text()") or next
14
- text.replace(text.text.titlecase)
14
+ text.replace(text.text.capitalize)
15
15
  end
16
16
  end
17
17
 
@@ -33,11 +33,10 @@ module Asciidoctor
33
33
  "<sections><sentinel/></sections>"
34
34
  x.at("./*/sections/*") or x.at("./*/sections") << "<sentinel/>"
35
35
  ins = x.at("//sections").elements.first
36
- unless x.at("//sections/clause[@type = 'scope']")
36
+ x.at("//sections/clause[@type = 'scope']") or
37
37
  ins.previous =
38
38
  "<clause type='scope' #{add_id}><title>#{@i18n.scope}</title><p>"\
39
39
  "#{@i18n.clause_empty}</p></clause>"
40
- end
41
40
  x&.at("//sentinel")&.remove
42
41
  end
43
42
 
@@ -46,18 +45,16 @@ module Asciidoctor
46
45
  x.at("./*/annex[last()] | ./*/sections").next =
47
46
  "<bibliography><sentinel/></bibliography>"
48
47
  ins = x.at("//bibliography").elements.first
49
- unless x.at("//bibliography/references[@normative = 'true']")
48
+ x.at("//bibliography/references[@normative = 'true']") or
50
49
  ins.previous = "<references #{add_id} normative='true'>"\
51
- "<title>#{@i18n.normref}</title></references>"
52
- end
50
+ "<title>#{@i18n.normref}</title></references>"
53
51
  x&.at("//sentinel")&.remove
54
52
  end
55
53
 
56
54
  def insert_terms(x)
57
55
  ins = x.at("//sections/clause[@type = 'scope']")
58
- unless x.at("//sections//terms")
56
+ x.at("//sections//terms") or
59
57
  ins.next = "<terms #{add_id}><title>#{@i18n.termsdef}</title></terms>"
60
- end
61
58
  end
62
59
 
63
60
  def insert_symbols(x)
@@ -39,7 +39,7 @@ module Asciidoctor
39
39
  end
40
40
 
41
41
  def doctype(node)
42
- ret = node.attr("doctype") || "recommendation"
42
+ ret = super || "recommendation"
43
43
  ret = "recommendation" if ret == "article"
44
44
  ret
45
45
  end
@@ -60,8 +60,9 @@ module Asciidoctor
60
60
  nil, false, "#{@filename}.html")
61
61
  doc_converter(node).convert(@filename + ".presentation.xml",
62
62
  nil, false, "#{@filename}.doc")
63
- pdf_converter(node)&.convert(@filename + ".presentation.xml",
64
- nil, false, "#{@filename}.pdf")
63
+ node.attr("no-pdf") or
64
+ pdf_converter(node)&.convert(@filename + ".presentation.xml",
65
+ nil, false, "#{@filename}.pdf")
65
66
  end
66
67
 
67
68
  def validate(doc)
@@ -86,6 +87,16 @@ module Asciidoctor
86
87
  end
87
88
  end
88
89
 
90
+ def sectiontype(node, level = true)
91
+ ret = super
92
+ hdr = sectiontype_streamline(node&.attr("heading")&.downcase)
93
+ return nil if ret == "terms and definitions" &&
94
+ hdr != "terms and definitions" && node.level > 1
95
+ return nil if ret == "symbols and abbreviated terms" &&
96
+ hdr != "symbols and abbreviated terms" && node.level > 1
97
+ ret
98
+ end
99
+
89
100
  def term_def_subclause_parse(attrs, xml, node)
90
101
  case clausetype = sectiontype1(node)
91
102
  when "terms defined in this recommendation"
@@ -34,54 +34,40 @@ module Asciidoctor
34
34
  type = /^annex/.match(k) ? "annex" : "main"
35
35
  xml.title **attr_code(language: lang, format: "text/plain",
36
36
  type: type) do |t|
37
- t << v
37
+ t << Asciidoctor::Standoc::Utils::asciidoc_sub(v)
38
38
  end
39
39
  end
40
40
  end
41
41
 
42
42
  def title(node, xml)
43
43
  super
44
- subtitle_english(node, xml)
45
- subtitle_otherlangs(node, xml)
44
+ %w(subtitle amendment-title corrigendum-title).each do |t|
45
+ other_title_english(node, xml, t)
46
+ other_title_otherlangs(node, xml, t)
47
+ end
46
48
  end
47
49
 
48
- def subtitle_english(node, xml)
49
- at = { language: "en", format: "text/plain", type: "subtitle" }
50
- a = node.attr("subtitle") || node.attr("subtitle-en")
50
+ def other_title_english(node, xml, type)
51
+ at = { language: "en", format: "text/plain", type: type.sub(/-title/, "") }
52
+ a = node.attr(type) || node.attr("#{type}-en")
51
53
  xml.title **attr_code(at) do |t|
52
54
  t << Asciidoctor::Standoc::Utils::asciidoc_sub(a)
53
55
  end
54
56
  end
55
57
 
56
- def subtitle_otherlangs(node, xml)
58
+ def other_title_otherlangs(node, xml, type)
57
59
  node.attributes.each do |k, v|
58
- next unless /^subtitle-(?<lang>.+)$/ =~ k
59
- next if lang == "en"
60
- xml.title **attr_code(language: lang, format: "text/plain",
61
- type: "subtitle") do |t|
62
- t << v
63
- end
64
- end
65
- end
66
-
67
- def metadata_author(node, xml)
68
- xml.contributor do |c|
69
- c.role **{ type: "author" }
70
- c.organization do |a|
71
- a.name "International Telecommunication Union"
72
- a.abbreviation "ITU"
60
+ next unless m = /^#{type}-(?<lang>.+)$/.match(k)
61
+ next if m[:lang] == "en"
62
+ xml.title **attr_code(language: m[:lang], format: "text/plain",
63
+ type: type.sub(/-title/, "")) do |t|
64
+ t << Asciidoctor::Standoc::Utils::asciidoc_sub(v)
73
65
  end
74
66
  end
75
67
  end
76
68
 
77
- def metadata_publisher(node, xml)
78
- xml.contributor do |c|
79
- c.role **{ type: "publisher" }
80
- c.organization do |a|
81
- a.name "International Telecommunication Union"
82
- a.abbreviation "ITU"
83
- end
84
- end
69
+ def default_publisher
70
+ "International Telecommunication Union"
85
71
  end
86
72
 
87
73
  def metadata_committee(node, xml)
@@ -149,19 +135,6 @@ module Asciidoctor
149
135
  xml.docnumber { |i| i << node.attr("docnumber") }
150
136
  end
151
137
 
152
- def metadata_copyright(node, xml)
153
- from = node.attr("copyright-year") || Date.today.year
154
- xml.copyright do |c|
155
- c.from from
156
- c.owner do |owner|
157
- owner.organization do |o|
158
- o.name "International Telecommunication Union"
159
- o.abbreviation "ITU"
160
- end
161
- end
162
- end
163
- end
164
-
165
138
  def metadata_series(node, xml)
166
139
  node.attr("series") and
167
140
  xml.series **{ type: "main" } do |s|
@@ -200,6 +173,8 @@ module Asciidoctor
200
173
  i.bureau node.attr("bureau") || "T"
201
174
  i.docnumber node.attr("docnumber")
202
175
  a = node.attr("annexid") and i.annexid a
176
+ a = node.attr("amendment-number") and i.amendment a
177
+ a = node.attr("corrigendum-number") and i.corrigendum a
203
178
  end
204
179
  end
205
180
 
@@ -43,7 +43,9 @@
43
43
  <define name="xref">
44
44
  <element name="xref">
45
45
  <attribute name="target">
46
- <data type="IDREF"/>
46
+ <data type="string">
47
+ <param name="pattern">\i\c*|\c+#\c+</param>
48
+ </data>
47
49
  </attribute>
48
50
  <optional>
49
51
  <attribute name="type">
@@ -61,6 +63,11 @@
61
63
  </choice>
62
64
  </attribute>
63
65
  </optional>
66
+ <optional>
67
+ <attribute name="droploc">
68
+ <data type="boolean"/>
69
+ </attribute>
70
+ </optional>
64
71
  <text/>
65
72
  </element>
66
73
  </define>
@@ -578,6 +585,8 @@
578
585
  <ref name="ol"/>
579
586
  <ref name="dl"/>
580
587
  <ref name="formula"/>
588
+ <ref name="quote"/>
589
+ <ref name="sourcecode"/>
581
590
  </choice>
582
591
  </oneOrMore>
583
592
  </element>
@@ -661,6 +670,16 @@
661
670
  </choice>
662
671
  </attribute>
663
672
  </optional>
673
+ <optional>
674
+ <attribute name="valign">
675
+ <choice>
676
+ <value>top</value>
677
+ <value>middle</value>
678
+ <value>bottom</value>
679
+ <value>baseline</value>
680
+ </choice>
681
+ </attribute>
682
+ </optional>
664
683
  <choice>
665
684
  <zeroOrMore>
666
685
  <choice>
@@ -697,6 +716,16 @@
697
716
  </choice>
698
717
  </attribute>
699
718
  </optional>
719
+ <optional>
720
+ <attribute name="valign">
721
+ <choice>
722
+ <value>top</value>
723
+ <value>middle</value>
724
+ <value>bottom</value>
725
+ <value>baseline</value>
726
+ </choice>
727
+ </attribute>
728
+ </optional>
700
729
  <choice>
701
730
  <zeroOrMore>
702
731
  <choice>
@@ -834,6 +863,13 @@
834
863
  </define>
835
864
  <define name="standard-document">
836
865
  <element name="standard-document">
866
+ <attribute name="version"/>
867
+ <attribute name="type">
868
+ <choice>
869
+ <value>semantic</value>
870
+ <value>presentation</value>
871
+ </choice>
872
+ </attribute>
837
873
  <ref name="bibdata"/>
838
874
  <optional>
839
875
  <ref name="boilerplate"/>
@@ -855,7 +891,7 @@
855
891
  <oneOrMore>
856
892
  <choice>
857
893
  <ref name="content"/>
858
- <ref name="preface_abstract"/>
894
+ <ref name="abstract"/>
859
895
  <ref name="foreword"/>
860
896
  <ref name="introduction"/>
861
897
  <ref name="acknowledgements"/>
@@ -1049,14 +1085,17 @@
1049
1085
  <ref name="section-title"/>
1050
1086
  </optional>
1051
1087
  <group>
1052
- <group>
1053
- <zeroOrMore>
1054
- <ref name="BasicBlock"/>
1055
- </zeroOrMore>
1056
- <zeroOrMore>
1057
- <ref name="note"/>
1058
- </zeroOrMore>
1059
- </group>
1088
+ <choice>
1089
+ <group>
1090
+ <zeroOrMore>
1091
+ <ref name="BasicBlock"/>
1092
+ </zeroOrMore>
1093
+ <zeroOrMore>
1094
+ <ref name="note"/>
1095
+ </zeroOrMore>
1096
+ </group>
1097
+ <ref name="amend"/>
1098
+ </choice>
1060
1099
  <zeroOrMore>
1061
1100
  <choice>
1062
1101
  <ref name="clause-subsection"/>
@@ -1453,11 +1492,6 @@
1453
1492
  </optional>
1454
1493
  </element>
1455
1494
  </define>
1456
- <define name="preface_abstract">
1457
- <element name="abstract">
1458
- <ref name="Basic-Section"/>
1459
- </element>
1460
- </define>
1461
1495
  <define name="term-clause">
1462
1496
  <element name="clause">
1463
1497
  <optional>
@@ -1507,4 +1541,79 @@
1507
1541
  <ref name="CitationType"/>
1508
1542
  </element>
1509
1543
  </define>
1544
+ <define name="amend">
1545
+ <element name="amend">
1546
+ <optional>
1547
+ <attribute name="id">
1548
+ <data type="ID"/>
1549
+ </attribute>
1550
+ </optional>
1551
+ <attribute name="change">
1552
+ <choice>
1553
+ <value>add</value>
1554
+ <value>modify</value>
1555
+ <value>delete</value>
1556
+ </choice>
1557
+ </attribute>
1558
+ <optional>
1559
+ <attribute name="path"/>
1560
+ </optional>
1561
+ <optional>
1562
+ <attribute name="path_end"/>
1563
+ </optional>
1564
+ <optional>
1565
+ <attribute name="title"/>
1566
+ </optional>
1567
+ <optional>
1568
+ <element name="location">
1569
+ <zeroOrMore>
1570
+ <ref name="locality"/>
1571
+ </zeroOrMore>
1572
+ </element>
1573
+ </optional>
1574
+ <zeroOrMore>
1575
+ <ref name="autonumber"/>
1576
+ </zeroOrMore>
1577
+ <optional>
1578
+ <element name="description">
1579
+ <zeroOrMore>
1580
+ <ref name="BasicBlock"/>
1581
+ </zeroOrMore>
1582
+ </element>
1583
+ </optional>
1584
+ <optional>
1585
+ <element name="newcontent">
1586
+ <zeroOrMore>
1587
+ <ref name="BasicBlock"/>
1588
+ </zeroOrMore>
1589
+ </element>
1590
+ </optional>
1591
+ <optional>
1592
+ <element name="description">
1593
+ <zeroOrMore>
1594
+ <ref name="BasicBlock"/>
1595
+ </zeroOrMore>
1596
+ </element>
1597
+ </optional>
1598
+ </element>
1599
+ </define>
1600
+ <define name="autonumber">
1601
+ <element name="autonumber">
1602
+ <attribute name="type">
1603
+ <choice>
1604
+ <value>requirement</value>
1605
+ <value>recommendation</value>
1606
+ <value>permission</value>
1607
+ <value>table</value>
1608
+ <value>figure</value>
1609
+ <value>admonition</value>
1610
+ <value>formula</value>
1611
+ <value>sourcecode</value>
1612
+ <value>example</value>
1613
+ <value>note</value>
1614
+ </choice>
1615
+ </attribute>
1616
+ <text/>
1617
+ </element>
1618
+ </define>
1510
1619
  </grammar>
@@ -68,6 +68,16 @@
68
68
  <text/>
69
69
  </element>
70
70
  </optional>
71
+ <optional>
72
+ <element name="amendment">
73
+ <data type="int"/>
74
+ </element>
75
+ </optional>
76
+ <optional>
77
+ <element name="corrigendum">
78
+ <data type="int"/>
79
+ </element>
80
+ </optional>
71
81
  </element>
72
82
  </define>
73
83
  <define name="BibDataExtensionType">
@@ -84,6 +94,18 @@
84
94
  <optional>
85
95
  <ref name="ipnoticereceived"/>
86
96
  </optional>
97
+ <optional>
98
+ <ref name="meeting"/>
99
+ </optional>
100
+ <optional>
101
+ <ref name="meeting-date"/>
102
+ </optional>
103
+ <optional>
104
+ <ref name="intended-type"/>
105
+ </optional>
106
+ <optional>
107
+ <ref name="ext_source"/>
108
+ </optional>
87
109
  <optional>
88
110
  <ref name="structuredidentifier"/>
89
111
  </optional>
@@ -103,6 +125,44 @@
103
125
  </element>
104
126
  </define>
105
127
  </include>
128
+ <define name="meeting">
129
+ <element name="meeting">
130
+ <text/>
131
+ </element>
132
+ </define>
133
+ <define name="meeting-date">
134
+ <element name="meeting-date">
135
+ <choice>
136
+ <group>
137
+ <element name="from">
138
+ <ref name="ISO8601Date"/>
139
+ </element>
140
+ <optional>
141
+ <element name="to">
142
+ <ref name="ISO8601Date"/>
143
+ </element>
144
+ </optional>
145
+ </group>
146
+ <element name="on">
147
+ <ref name="ISO8601Date"/>
148
+ </element>
149
+ </choice>
150
+ </element>
151
+ </define>
152
+ <define name="intended-type">
153
+ <element name="intended-type">
154
+ <choice>
155
+ <value>R</value>
156
+ <value>C</value>
157
+ <value>TD</value>
158
+ </choice>
159
+ </element>
160
+ </define>
161
+ <define name="ext_source">
162
+ <element name="source">
163
+ <text/>
164
+ </element>
165
+ </define>
106
166
  <define name="TextElement" combine="choice">
107
167
  <choice>
108
168
  <ref name="add"/>
@@ -244,6 +304,13 @@
244
304
  </define>
245
305
  <define name="itu">
246
306
  <element name="itu-standard">
307
+ <attribute name="version"/>
308
+ <attribute name="type">
309
+ <choice>
310
+ <value>semantic</value>
311
+ <value>presentation</value>
312
+ </choice>
313
+ </attribute>
247
314
  <ref name="bibdata"/>
248
315
  <zeroOrMore>
249
316
  <ref name="termdocsource"/>