metanorma-ietf 3.0.9 → 3.0.10

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: bdae18146fd717cdc3e4edbc6aee7c51e286e93f4f04b08f247d0110c29644d5
4
- data.tar.gz: 5990873706f6bab2c18005eba348edc987b54a7600c62889def4579c5f82b622
3
+ metadata.gz: 6c10eeb240c73eb23dc86cb68f2a74f8931b3e350f68ee763a23256a56795bae
4
+ data.tar.gz: ee6a1934c755a258adef52e1689eb462297fa34be3a8deb5923ed1da34b945b7
5
5
  SHA512:
6
- metadata.gz: 8aed3ba6d2fe6b46f5907b71feefc20fe49bcc73c6a68244855eb730dae27c552347e4a3c3ec8f77d190f04f7e8f25560c5cd4d0b4ce00572dead34bdd7674c0
7
- data.tar.gz: 854ab1d486f0689509468ec3f3342b38894e27b146abe258bb09d544e2dc8f9df65b1828b64d44589cab485ad09ad71b51859b164e0051599e0be6c6fea84b8c
6
+ metadata.gz: 89f9bc46f9a5d31116b36402279e8e41db7a23a012368d11acab85c9f87d6e71eb200a327a3f54b3e88e0df2efb997324462eea853996d9a46dc7e78861f09c6
7
+ data.tar.gz: fa040fe15ba9e856a3fdb5645c7d06773f288a2dd36414772e04f087ccb2acfc52dc13dfc2564025b7b4e9bc3ad0f8eba3b62c1d8a66fef699b186fd3d1e18fd
@@ -1,81 +1,34 @@
1
1
  module IsoDoc
2
2
  module Ietf
3
3
  class RfcConvert < ::IsoDoc::Convert
4
- def recommendation_labels(node)
5
- [node.at(ns("./identifier")), node.at(ns("./title")),
6
- @xrefs.anchor(node["id"], :label, false)]
7
- end
8
-
9
- def recommendation_name(node, out, type)
10
- label, title, lbl = recommendation_labels(node)
11
- out.t **{ keepWithNext: "true" } do |b|
12
- b << (lbl.nil? ? l10n("#{type}:") : l10n("#{type} #{lbl}:"))
13
- end
14
- if label || title
15
- out.t **{ keepWithNext: "true" } do |b|
16
- label and label.children.each { |n| parse(n, b) }
17
- b << "#{clausedelim} " if label && title
18
- title and title.children.each { |n| parse(n, b) }
19
- end
4
+ def recommendation_name(node, out)
5
+ out.t **{ keepWithNext: "true" } do |p|
6
+ node.children.each { |n| parse(n, p) }
20
7
  end
21
8
  end
22
9
 
23
- def recommendation_attributes(node, out)
24
- ret = recommendation_attributes1(node)
25
- return if ret.empty?
26
-
27
- out.ul do |p|
28
- ret.each do |l|
29
- p.li do |i|
30
- i.em { |_e| i << l }
31
- end
32
- end
33
- end
10
+ def recommendation_parse(node, out)
11
+ recommendation_parse1(node, out)
34
12
  end
35
13
 
36
- def recommendation_parse(node, out)
37
- recommendation_name(node, out, @i18n.recommendation)
38
- recommendation_attributes(node, out)
14
+ def recommendation_parse1(node, out)
15
+ recommendation_name(node.at(ns("./name")), out)
39
16
  node.children.each do |n|
40
- parse(n, out) unless %w(identifier title).include? n.name
17
+ parse(n, out) unless n.name == "name"
41
18
  end
42
19
  end
43
20
 
44
21
  def requirement_parse(node, out)
45
- recommendation_name(node, out, @i18n.requirement)
46
- recommendation_attributes(node, out)
47
- node.children.each do |n|
48
- parse(n, out) unless %w(identifier title).include? n.name
49
- end
22
+ recommendation_parse1(node, out)
50
23
  end
51
24
 
52
25
  def permission_parse(node, out)
53
- recommendation_name(node, out, @i18n.permission)
54
- recommendation_attributes(node, out)
55
- node.children.each do |n|
56
- parse(n, out) unless %w(identifier title).include? n.name
57
- end
58
- end
59
-
60
- def inline?(node)
61
- return true if node.first_element_child.nil?
62
-
63
- %w(em link eref xref strong tt sup sub strike keyword smallcap
64
- br hr bookmark pagebreak stem origin term preferred admitted
65
- deprecates domain termsource modification)
66
- .include? node.first_element_child.name
26
+ recommendation_parse1(node, out)
67
27
  end
68
28
 
69
- def requirement_component_parse(node, out)
70
- return if node["exclude"] == "true"
71
-
72
- if inline?(node)
73
- out.t do |p|
74
- p << "INHERIT: " if node.name == "inherit"
75
- node.children.each { |n| parse(n, p) }
76
- end
77
- else
78
- node.children.each { |n| parse(n, out) }
29
+ def div_parse(node, out)
30
+ node.children.each do |n|
31
+ parse(n, out)
79
32
  end
80
33
  end
81
34
  end
@@ -17,8 +17,7 @@ module IsoDoc
17
17
  module Ietf
18
18
  class RfcConvert < ::IsoDoc::Convert
19
19
  def convert1(docxml, _filename, _dir)
20
- @xrefs.parse docxml
21
- info docxml, nil
20
+ document_preprocess(docxml)
22
21
  ret = noko do |xml|
23
22
  xml.rfc **attr_code(rfc_attributes(docxml)) do |html|
24
23
  make_link(html, docxml)
@@ -30,6 +29,20 @@ module IsoDoc
30
29
  set_pis(docxml, Nokogiri::XML(ret))
31
30
  end
32
31
 
32
+ def document_preprocess(docxml)
33
+ @isodoc.reqt_models = Metanorma::Requirements
34
+ .new({ default: "default", lang: @lang, script: @script,
35
+ labels: @i18n.get })
36
+ info docxml, nil
37
+ @xrefs.parse docxml
38
+ @isodoc.xrefs = @xrefs
39
+ @isodoc.permission(docxml)
40
+ @isodoc.requirement(docxml)
41
+ @isodoc.recommendation(docxml)
42
+ @isodoc.requirement_render(docxml)
43
+ @xrefs.parse docxml
44
+ end
45
+
33
46
  def metadata_init(lang, script, i18n)
34
47
  @meta = Metadata.new(lang, script, i18n)
35
48
  end
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ietf
3
- VERSION = "3.0.9".freeze
3
+ VERSION = "3.0.10".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.0.9
4
+ version: 3.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-08 00:00:00.000000000 Z
11
+ date: 2022-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mathml2asciimath