metanorma-ietf 3.4.2 → 3.4.4

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: 83a0728840ef2d5d5a7ace72f4bc2dfff97a85b6213e73511e15fd303313440f
4
- data.tar.gz: 600e41fd0c3559f1b53ed072e6dc54905c049c3a41655ca2355af9451d0573d3
3
+ metadata.gz: b1ba51cb30f9a763118cd067b90a81ae8425ad6943c9c270daf87ba3d043de92
4
+ data.tar.gz: a54742db1f6423d43d44dfc4388539ffb9da6e709c5d8b7f16954d2a0536eba8
5
5
  SHA512:
6
- metadata.gz: 92d3d375108c3d6f441c9070a9c1bd454d8471f92b3fb6fddaaeff9c4f8f15b2fc06cdd46c907ff9fbf2d619632a9551c8d75dac8ad2866fb0994f79841edde7
7
- data.tar.gz: f6740373061b304cbda897852a632686eb7675394d179d6ee05ad9bca4b0d1031b0cb45e0a371f5a41490e820b63079dedca33e318ae94d5ede1ca2ea34259d5
6
+ metadata.gz: c2a0a4d158e1c8cf8ecacc4eec7f27e17033f14782c6ba5c8aac1be90da247d475ebce115499957ae8641546af02cc76e27cc2b3b4bc5a9c06de9782a68e385f
7
+ data.tar.gz: 3f2a5457aba6280d50be9f63d5555b33d04da66f098edb7af4dd150e345df380de7c16de43252c4180c65637ebe7d3da42f1f9ae427a698da43df3ae3cefc232
@@ -86,6 +86,19 @@ module IsoDoc
86
86
  end
87
87
  end
88
88
 
89
+ def li_parse(node, out)
90
+ out.li **attr_code(anchor: node["id"]) do |li|
91
+ if node["uncheckedcheckbox"] == "true"
92
+ li << '<span class="zzMoveToFollowing">' \
93
+ '<input type="checkbox" checked="checked"/></span>'
94
+ elsif node["checkedcheckbox"] == "true"
95
+ li << '<span class="zzMoveToFollowing">' \
96
+ '<input type="checkbox"/></span>'
97
+ end
98
+ node.children.each { |n| parse(n, li) }
99
+ end
100
+ end
101
+
89
102
  def note_label(node)
90
103
  n = @xrefs.get[node["id"]]
91
104
  n.nil? || n[:label].nil? || n[:label].empty? and
@@ -58,7 +58,10 @@ module IsoDoc
58
58
 
59
59
  def stem_parse(node, out)
60
60
  stem = case node["type"]
61
- when "MathML" then Plurimath::Math
61
+ when "MathML"
62
+ a = node.at(ns("./asciimath"))&.remove
63
+ a&.children&.text ||
64
+ Plurimath::Math
62
65
  .parse(node.children.to_xml, "mathml").to_asciimath
63
66
  else HTMLEntities.new.encode(node.text)
64
67
  end
@@ -5,6 +5,10 @@ module IsoDoc
5
5
  @termdomain = termdomain
6
6
  end
7
7
 
8
+ def semx_definition_parse(node, out)
9
+ definition_parse(node, out)
10
+ end
11
+
8
12
  def definition_parse(node, out)
9
13
  node.children.each { |n| parse(n, out) }
10
14
  end
@@ -15,6 +19,10 @@ module IsoDoc
15
19
  para.children.each { |n| parse(n, out) }
16
20
  end
17
21
 
22
+ def semx_deprecated_term_parse(node, out)
23
+ deprecated_term_parse(node, out)
24
+ end
25
+
18
26
  def deprecated_term_parse(node, out)
19
27
  name = node.at(ns(".//name"))
20
28
  out.t do |p|
@@ -22,6 +30,10 @@ module IsoDoc
22
30
  name.children.each { |c| parse(c, p) }
23
31
  end
24
32
  end
33
+
34
+ def semx_admitted_term_parse(node, out)
35
+ admitted_term_parse(node, out)
36
+ end
25
37
 
26
38
  def admitted_term_parse(node, out)
27
39
  name = node.at(ns(".//name"))
@@ -30,6 +42,10 @@ module IsoDoc
30
42
  end
31
43
  end
32
44
 
45
+ def semx_term_parse(node, out)
46
+ term_parse(node, out)
47
+ end
48
+
33
49
  def term_parse(node, out)
34
50
  if domain = node.at(ns("./domain"))
35
51
  set_termdomain(domain.text)
@@ -53,10 +69,20 @@ module IsoDoc
53
69
  set_termdomain("")
54
70
  end
55
71
  node.xpath(ns("./definition")).size > 1 and
56
- @isodoc.multidef(node)
72
+ multidef(node)
57
73
  clause_parse(node, out)
58
74
  end
59
75
 
76
+ def multidef(elem)
77
+ d = elem.at(ns("./definition"))
78
+ d = d.replace("<ol><li>#{to_xml(d.children)}</li></ol>").first
79
+ elem.xpath(ns("./definition")).each do |f|
80
+ f = f.replace("<li>#{to_xml(f.children)}</li>").first
81
+ d << f
82
+ end
83
+ d.wrap("<definition></definition>")
84
+ end
85
+
60
86
  def termdocsource_parse(_node, _out); end
61
87
 
62
88
  def concept_parse(node, out)
@@ -106,6 +132,10 @@ module IsoDoc
106
132
  end
107
133
  end
108
134
 
135
+ def semx_termref_parse(node, out)
136
+ termref_parse(node, out)
137
+ end
138
+
109
139
  def termref_parse(elem, out)
110
140
  preprocess_termref(elem)
111
141
  elem.children = l10n("[#{@i18n.source}: #{to_xml(elem.children).strip}]")
@@ -267,11 +267,11 @@ Detailed in https://www.relaton.org/model/creator/</a:documentation>
267
267
  <a:documentation>An identifier of the person according to an international identifier scheme</a:documentation>
268
268
  </ref>
269
269
  </zeroOrMore>
270
- <zeroOrMore>
270
+ <optional>
271
271
  <ref name="contact">
272
272
  <a:documentation>Contact information for the person, including URI, address, phone number, and email</a:documentation>
273
273
  </ref>
274
- </zeroOrMore>
274
+ </optional>
275
275
  </element>
276
276
  </define>
277
277
  <define name="fullname">
@@ -454,11 +454,11 @@ real names (if the person is named with a pseudonym or user name); previous lega
454
454
  <a:documentation>An identifier of the organization according to an international identifier scheme</a:documentation>
455
455
  </ref>
456
456
  </zeroOrMore>
457
- <zeroOrMore>
457
+ <optional>
458
458
  <ref name="contact">
459
459
  <a:documentation>Contact information for the organization, including address, phone number, and email</a:documentation>
460
460
  </ref>
461
- </zeroOrMore>
461
+ </optional>
462
462
  <optional>
463
463
  <ref name="logo">
464
464
  <a:documentation>A logo for the organization</a:documentation>
@@ -540,12 +540,18 @@ real names (if the person is named with a pseudonym or user name); previous lega
540
540
  <!-- TODO may change -->
541
541
  <define name="contact">
542
542
  <a:documentation>Contact information for a person or organization</a:documentation>
543
- <choice>
543
+ <zeroOrMore>
544
544
  <ref name="address"/>
545
+ </zeroOrMore>
546
+ <zeroOrMore>
545
547
  <ref name="phone"/>
548
+ </zeroOrMore>
549
+ <zeroOrMore>
546
550
  <ref name="email"/>
551
+ </zeroOrMore>
552
+ <zeroOrMore>
547
553
  <ref name="uri"/>
548
- </choice>
554
+ </zeroOrMore>
549
555
  </define>
550
556
  <define name="phone">
551
557
  <a:documentation>The phone number associated with a person or organization</a:documentation>
@@ -1271,17 +1277,17 @@ for which this claim of validity is made, if applicable</a:documentation>
1271
1277
  </define>
1272
1278
  <define name="validityBegins">
1273
1279
  <element name="validityBegins">
1274
- <ref name="ISO8601DateTime"/>
1280
+ <ref name="ISO8601Date"/>
1275
1281
  </element>
1276
1282
  </define>
1277
1283
  <define name="validityEnds">
1278
1284
  <element name="validityEnds">
1279
- <ref name="ISO8601DateTime"/>
1285
+ <ref name="ISO8601Date"/>
1280
1286
  </element>
1281
1287
  </define>
1282
1288
  <define name="validityRevision">
1283
1289
  <element name="revision">
1284
- <ref name="ISO8601DateTime"/>
1290
+ <ref name="ISO8601Date"/>
1285
1291
  </element>
1286
1292
  </define>
1287
1293
  <define name="TypedTitleString">
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ietf
3
- VERSION = "3.4.2".freeze
3
+ VERSION = "3.4.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-ietf
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.2
4
+ version: 3.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
11
+ date: 2025-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-ietf-data
@@ -298,7 +298,7 @@ homepage: https://github.com/metanorma/metanorma-ietf
298
298
  licenses:
299
299
  - BSD-2-Clause
300
300
  metadata: {}
301
- post_install_message:
301
+ post_install_message:
302
302
  rdoc_options: []
303
303
  require_paths:
304
304
  - lib
@@ -314,7 +314,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
314
314
  version: '0'
315
315
  requirements: []
316
316
  rubygems_version: 3.3.27
317
- signing_key:
317
+ signing_key:
318
318
  specification_version: 4
319
319
  summary: metanorma-ietf lets you write IETF documents, such as Internet-Drafts and
320
320
  RFCs, in AsciiDoc.