isodoc 2.11.4 → 2.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/isodoc.gemspec +1 -1
  3. data/lib/isodoc/function/blocks.rb +12 -41
  4. data/lib/isodoc/function/blocks_example_note.rb +37 -14
  5. data/lib/isodoc/function/cleanup.rb +3 -40
  6. data/lib/isodoc/function/inline.rb +8 -1
  7. data/lib/isodoc/function/lists.rb +1 -1
  8. data/lib/isodoc/function/references.rb +4 -128
  9. data/lib/isodoc/function/section.rb +1 -4
  10. data/lib/isodoc/function/section_titles.rb +1 -1
  11. data/lib/isodoc/function/table.rb +2 -2
  12. data/lib/isodoc/function/terms.rb +8 -10
  13. data/lib/isodoc/function/to_word_html.rb +3 -5
  14. data/lib/isodoc/function/utils.rb +1 -1
  15. data/lib/isodoc/init.rb +21 -0
  16. data/lib/isodoc/metadata.rb +1 -1
  17. data/lib/isodoc/presentation_function/block.rb +58 -8
  18. data/lib/isodoc/presentation_function/docid.rb +101 -0
  19. data/lib/isodoc/presentation_function/erefs.rb +2 -2
  20. data/lib/isodoc/presentation_function/image.rb +31 -8
  21. data/lib/isodoc/presentation_function/inline.rb +5 -5
  22. data/lib/isodoc/presentation_function/math.rb +0 -14
  23. data/lib/isodoc/presentation_function/metadata.rb +0 -62
  24. data/lib/isodoc/presentation_function/refs.rb +44 -14
  25. data/lib/isodoc/presentation_function/section.rb +12 -15
  26. data/lib/isodoc/presentation_function/terms.rb +27 -1
  27. data/lib/isodoc/presentation_xml_convert.rb +4 -1
  28. data/lib/isodoc/version.rb +1 -1
  29. data/lib/isodoc/word_function/body.rb +3 -3
  30. data/lib/isodoc/xref/clause_order.rb +2 -2
  31. data/lib/isodoc/xref/xref_anchor.rb +1 -1
  32. data/lib/isodoc/xref/xref_counter.rb +18 -3
  33. data/lib/isodoc/xref/xref_counter_types.rb +13 -0
  34. data/lib/isodoc/xref/xref_gen.rb +6 -7
  35. data/lib/isodoc/xref/xref_sect_gen.rb +16 -31
  36. data/lib/isodoc/xref/xref_util.rb +6 -0
  37. data/lib/isodoc/xref.rb +26 -10
  38. data/lib/isodoc-yaml/i18n-ja.yaml +13 -13
  39. metadata +6 -4
@@ -109,11 +109,20 @@ module IsoDoc
109
109
  docxml.xpath(ns("//termnote")).each { |f| termnote1(f) }
110
110
  end
111
111
 
112
+ def termnote_delim(_elem)
113
+ l10n(": ")
114
+ end
115
+
112
116
  def termnote1(elem)
113
- lbl = l10n(@xrefs.anchor(elem["id"], :label) || "???")
117
+ lbl = termnote_label(elem)
114
118
  prefix_name(elem, "", lower2cap(lbl), "name")
115
119
  end
116
120
 
121
+ def termnote_label(elem)
122
+ lbl = @xrefs.anchor(elem["id"], :label) || "???"
123
+ l10n "#{lbl}#{termnote_delim(elem)}"
124
+ end
125
+
117
126
  def termdefinition(docxml)
118
127
  docxml.xpath(ns("//term[definition]")).each do |f|
119
128
  termdefinition1(f)
@@ -123,6 +132,7 @@ module IsoDoc
123
132
  def termdefinition1(elem)
124
133
  unwrap_definition(elem)
125
134
  multidef(elem) if elem.xpath(ns("./definition")).size > 1
135
+ termdomain(elem)
126
136
  end
127
137
 
128
138
  def multidef(elem)
@@ -144,6 +154,13 @@ module IsoDoc
144
154
  end
145
155
  end
146
156
 
157
+ def termdomain(elem)
158
+ d = elem.at(ns(".//domain")) or return
159
+ p = elem.at(ns(".//definition//p")) or return
160
+ p.add_first_child "<#{d.to_xml}> "
161
+ d["hidden"] = true
162
+ end
163
+
147
164
  def termsource(docxml)
148
165
  docxml.xpath(ns("//termsource")).each { |f| termsource_modification(f) }
149
166
  docxml.xpath(ns("//termsource")).each { |f| termsource1(f) }
@@ -176,5 +193,14 @@ module IsoDoc
176
193
  when "adapted" then @i18n.adapted
177
194
  end
178
195
  end
196
+
197
+ def term(docxml)
198
+ docxml.xpath(ns("//term")).each { |f| term1(f) }
199
+ end
200
+
201
+ def term1(elem)
202
+ lbl = @xrefs.anchor(elem["id"], :label) or return
203
+ prefix_name(elem, "", "#{lbl}#{clausedelim}", "name")
204
+ end
179
205
  end
180
206
  end
@@ -55,9 +55,10 @@ module IsoDoc
55
55
  # feeds middle_title
56
56
  # triggers xrefs reparse, so put references before all other sections,
57
57
  # which alter titles and thus can alter xrefs
58
- rearrange_clauses docxml # feeds toc, display_order, clausetitle,
58
+ rearrange_clauses docxml # feeds toc, display_order, clausetitle,
59
59
  # clause, middle_title
60
60
  middle_title docxml
61
+ missing_title docxml # feeds clause
61
62
  annex docxml
62
63
  clause docxml # feeds clausetitle
63
64
  term docxml
@@ -79,6 +80,8 @@ module IsoDoc
79
80
  admonition docxml
80
81
  source docxml
81
82
  ol docxml
83
+ dl docxml
84
+ quote docxml
82
85
  permission docxml
83
86
  requirement docxml
84
87
  recommendation docxml
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "2.11.4".freeze
2
+ VERSION = "2.12.1".freeze
3
3
  end
@@ -111,7 +111,7 @@ module IsoDoc
111
111
  insert_tab(p, 1)
112
112
  node.first_element_child.children.each { |n| parse(n, p) }
113
113
  end
114
- node.element_children[1..-1].each { |n| parse(n, div) }
114
+ node.element_children[1..].each { |n| parse(n, div) }
115
115
  end
116
116
 
117
117
  def note_parse1(node, div)
@@ -131,7 +131,7 @@ module IsoDoc
131
131
  div.p class: "Note" do |p|
132
132
  if name
133
133
  name.children.each { |n| parse(n, p) }
134
- p << termnote_delim
134
+ p << " "
135
135
  end
136
136
  para_then_remainder(node.first_element_child, node, p, div)
137
137
  end
@@ -165,7 +165,7 @@ module IsoDoc
165
165
  parse(node.at(ns("./stem")), div)
166
166
  insert_tab(div, 1)
167
167
  if lbl = node&.at(ns("./name"))&.text
168
- div << "(#{lbl})"
168
+ div << lbl
169
169
  end
170
170
  end
171
171
  end
@@ -17,10 +17,10 @@ module IsoDoc
17
17
  { path: "//sections/clause[@type = 'scope']" },
18
18
  { path: @klass.norm_ref_xpath },
19
19
  { path: "//sections/terms | " \
20
- "//sections/clause[descendant::terms]" },
20
+ "//sections/clause[descendant::terms]", multi: true },
21
21
  { path: "//sections/definitions | " \
22
22
  "//sections/clause[descendant::definitions]" \
23
- "[not(descendant::terms)]" },
23
+ "[not(descendant::terms)]", multi: true },
24
24
  { path: @klass.middle_clause(docxml), multi: true },
25
25
  ]
26
26
  end
@@ -31,7 +31,7 @@ module IsoDoc
31
31
 
32
32
  def anchor_struct_label(lbl, elem)
33
33
  case elem
34
- when @labels["appendix"] then l10n("#{elem} #{lbl}")
34
+ when @labels["appendix"] then "#{elem} #{lbl}"
35
35
  else
36
36
  lbl.to_s
37
37
  end
@@ -1,4 +1,5 @@
1
1
  require "roman-numerals"
2
+ require "twitter_cldr"
2
3
 
3
4
  module IsoDoc
4
5
  module XrefGen
@@ -26,6 +27,7 @@ module IsoDoc
26
27
  @style = opts[:numerals]
27
28
  @skip_i = opts[:skip_i]
28
29
  @prefix = opts[:prefix]
30
+ @separator = opts[:separator] || "."
29
31
  @base = ""
30
32
  if num.is_a? String
31
33
  if /^\d+$/.match?(num)
@@ -139,7 +141,8 @@ module IsoDoc
139
141
  end
140
142
 
141
143
  def increment(node)
142
- @unnumbered = node["unnumbered"] == "true" || node["hidden"] == "true" and return self
144
+ @unnumbered = node["unnumbered"] == "true" ||
145
+ node["hidden"] == "true" and return self
143
146
  reset_overrides
144
147
  if node["subsequence"] != @subseq &&
145
148
  !(blank?(node["subsequence"]) && blank?(@subseq))
@@ -150,12 +153,23 @@ module IsoDoc
150
153
  self
151
154
  end
152
155
 
156
+ def style_number(num)
157
+ num.nil? and return num
158
+ case @style
159
+ when :roman then RomanNumerals.to_roman(num)
160
+ when :japanese then num.localize(:ja).spellout
161
+ else num
162
+ end
163
+ end
164
+
153
165
  def print
154
166
  @unnumbered and return nil
155
167
  @prefix_override and return @prefix_override
156
168
  num = @number_override || @num
157
- out = @style == :roman && !num.nil? ? RomanNumerals.to_roman(num) : num
158
- "#{@prefix}#{@base}#{out}#{@letter_override || @letter}"
169
+ out = style_number(num)
170
+ prefix = @prefix
171
+ prefix &&= "#{prefix}#{@separator}"
172
+ "#{prefix}#{@base}#{out}#{@letter_override || @letter}"
159
173
  end
160
174
 
161
175
  def ol_type(list, depth)
@@ -176,6 +190,7 @@ module IsoDoc
176
190
  when :alphabet_upper then (64 + @num).chr.to_s
177
191
  when :roman then RomanNumerals.to_roman(@num).downcase
178
192
  when :roman_upper then RomanNumerals.to_roman(@num).upcase
193
+ when :japanese then num.localize(:ja).spellout
179
194
  end
180
195
  end
181
196
  end
@@ -0,0 +1,13 @@
1
+ require_relative "xref_counter"
2
+
3
+ module IsoDoc
4
+ class Xref
5
+ def clause_counter(num = 0, opts = { numerals: :arabic })
6
+ ::IsoDoc::XrefGen::Counter.new(num, opts)
7
+ end
8
+
9
+ def list_counter(num = 0, opts = { numerals: :arabic })
10
+ ::IsoDoc::XrefGen::Counter.new(num, opts)
11
+ end
12
+ end
13
+ end
@@ -33,8 +33,7 @@ module IsoDoc
33
33
  end
34
34
 
35
35
  def increment_label(elems, node, counter, increment: true)
36
- return "" if elems.size == 1 && !node["number"]
37
-
36
+ elems.size == 1 && !node["number"] and return ""
38
37
  counter.increment(node) if increment
39
38
  " #{counter.print}"
40
39
  end
@@ -48,7 +47,7 @@ module IsoDoc
48
47
  { label: termnote_label(c.print), type: "termnote",
49
48
  value: c.print, elem: @labels["termnote"],
50
49
  container: t["id"],
51
- xref: l10n("#{@labels['note_xref']} #{c.print}") }
50
+ xref: "#{@labels['note_xref']} #{c.print}" }
52
51
  end
53
52
  end
54
53
  end
@@ -64,7 +63,7 @@ module IsoDoc
64
63
  { label: idx, type: "termexample",
65
64
  value: idx, elem: @labels["example_xref"],
66
65
  container: t["id"],
67
- xref: l10n("#{@labels['example_xref']} #{idx}") }
66
+ xref: "#{@labels['example_xref']} #{idx}" }
68
67
  end
69
68
  end
70
69
  end
@@ -123,7 +122,7 @@ module IsoDoc
123
122
  sections.each do |s|
124
123
  notes = s.xpath(ns(".//ol")) - s.xpath(ns(".//clause//ol")) -
125
124
  s.xpath(ns(".//appendix//ol")) - s.xpath(ns(".//ol//ol"))
126
- c = Counter.new
125
+ c = list_counter
127
126
  notes.noblank.each do |n|
128
127
  @anchors[n["id"]] = anchor_struct(increment_label(notes, n, c), n,
129
128
  @labels["list"], "list", false)
@@ -134,7 +133,7 @@ module IsoDoc
134
133
  end
135
134
 
136
135
  def list_item_anchor_names(list, list_anchor, depth, prev_label, refer_list)
137
- c = Counter.new(list["start"] ? list["start"].to_i - 1 : 0)
136
+ c = list_counter(list["start"] ? list["start"].to_i - 1 : 0)
138
137
  list.xpath(ns("./li")).each do |li|
139
138
  bare_label, label =
140
139
  list_item_value(li, c, depth, { list_anchor:, prev_label:,
@@ -188,7 +187,7 @@ module IsoDoc
188
187
 
189
188
  def deflist_term_anchor_names(list, list_anchor)
190
189
  list.xpath(ns("./dt")).each do |li|
191
- label = l10n("#{list_anchor[:xref]}: #{dt2xreflabel(li)}")
190
+ label = "#{list_anchor[:xref]}: #{dt2xreflabel(li)}"
192
191
  li["id"] and @anchors[li["id"]] =
193
192
  { xref: label, type: "deflistitem",
194
193
  container: list_anchor[:container] }
@@ -8,9 +8,6 @@ module IsoDoc
8
8
  annex_anchor_names(xml)
9
9
  back_clauses_anchor_names(xml)
10
10
  end
11
- if @klass.bibrender && (@parse_settings.empty? || @parse_settings[:refs])
12
- references(xml)
13
- end
14
11
  end
15
12
 
16
13
  def annex_anchor_names(xml)
@@ -33,11 +30,7 @@ module IsoDoc
33
30
  end
34
31
  end
35
32
 
36
- def references(docxml)
37
- docxml.xpath(ns("//bibitem[not(ancestor::bibitem)]")).each do |ref|
38
- reference_names(ref)
39
- end
40
- end
33
+ # NOTE: references processing has moved to Presentation XML
41
34
 
42
35
  def initial_anchor_names(xml)
43
36
  if @parse_settings.empty? || @parse_settings[:clauses]
@@ -56,7 +49,7 @@ module IsoDoc
56
49
  end
57
50
 
58
51
  def main_anchor_names(xml)
59
- n = Counter.new
52
+ n = clause_counter
60
53
  clause_order_main(xml).each do |a|
61
54
  xml.xpath(ns(a[:path])).each do |c|
62
55
  section_names(c, n, 1)
@@ -83,8 +76,9 @@ module IsoDoc
83
76
 
84
77
  def clause_title(clause, use_elem_name: false)
85
78
  ret = clause.at(ns("./title"))&.text
86
- if use_elem_name && !ret
87
- clause.name.capitalize
79
+ if use_elem_name && ret.blank?
80
+ @i18n.labels[clause.name]&.capitalize ||
81
+ clause.name.capitalize
88
82
  else ret
89
83
  end
90
84
  end
@@ -107,11 +101,11 @@ module IsoDoc
107
101
 
108
102
  def unnumbered_names(clause)
109
103
  clause.nil? and return
110
- preface_name_anchors(clause, 1,
111
- clause_title(clause, use_elem_name: true))
104
+ title = clause_title(clause, use_elem_name: true)
105
+ preface_name_anchors(clause, 1, title)
112
106
  clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
113
107
  preface_names1(c, c.at(ns("./title"))&.text,
114
- "#{clause_title(clause)}, #{i + 1}", 2)
108
+ "#{title}, #{i + 1}", 2)
115
109
  end
116
110
  end
117
111
 
@@ -144,7 +138,7 @@ module IsoDoc
144
138
  num.increment(clause)
145
139
  section_name_anchors(clause, num.print, lvl)
146
140
  clause.xpath(ns(SUBCLAUSES))
147
- .each_with_object(Counter.new(0, prefix: "#{num.print}.")) do |c, i|
141
+ .each_with_object(clause_counter(0, prefix: num.print)) do |c, i|
148
142
  section_names1(c, i.increment(c).print, lvl + 1)
149
143
  end
150
144
  num
@@ -153,7 +147,7 @@ module IsoDoc
153
147
  def section_names1(clause, num, level)
154
148
  unnumbered_section_name?(clause) and return num
155
149
  section_name_anchors(clause, num, level)
156
- i = Counter.new(0, prefix: "#{num}.")
150
+ i = clause_counter(0, prefix: num)
157
151
  clause.xpath(ns(SUBCLAUSES)).each do |c|
158
152
  section_names1(c, i.increment(c).print, level + 1)
159
153
  end
@@ -170,18 +164,18 @@ module IsoDoc
170
164
 
171
165
  def section_name_anchors(clause, num, level)
172
166
  @anchors[clause["id"]] =
173
- { label: num, xref: l10n("#{@labels['clause']} #{num}"),
167
+ { label: num, xref: "#{@labels['clause']} #{num}",
174
168
  title: clause_title(clause), level:, type: "clause",
175
169
  elem: @labels["clause"] }
176
170
  end
177
171
 
178
172
  def annex_name_lbl(clause, num)
179
- obl = l10n("(#{@labels['inform_annex']})")
173
+ obl = "(#{@labels['inform_annex']})"
180
174
  clause["obligation"] == "normative" and
181
- obl = l10n("(#{@labels['norm_annex']})")
175
+ obl = "(#{@labels['norm_annex']})"
182
176
  title = Common::case_with_markup(@labels["annex"], "capital",
183
177
  @script)
184
- l10n("<strong>#{title} #{num}</strong><br/>#{obl}")
178
+ "<strong>#{title} #{num}</strong><br/>#{obl}"
185
179
  end
186
180
 
187
181
  def annex_name_anchors(clause, num, level)
@@ -203,7 +197,7 @@ module IsoDoc
203
197
  num.to_s, 1)
204
198
  else
205
199
  clause.xpath(ns(SUBCLAUSES))
206
- .each_with_object(Counter.new(0, prefix: "#{num}.")) do |c, i|
200
+ .each_with_object(clause_counter(0, prefix: num)) do |c, i|
207
201
  annex_names1(c, i.increment(c).print, 2)
208
202
  end
209
203
  end
@@ -212,20 +206,11 @@ module IsoDoc
212
206
 
213
207
  def annex_names1(clause, num, level)
214
208
  annex_name_anchors(clause, num, level)
215
- i = Counter.new(0, prefix: "#{num}.")
209
+ i = clause_counter(0, prefix: num)
216
210
  clause.xpath(ns(SUBCLAUSES)).each do |c|
217
211
  annex_names1(c, i.increment(c).print, level + 1)
218
212
  end
219
213
  end
220
-
221
- def reference_names(ref)
222
- ids = @klass.bibitem_ref_code(ref)
223
- identifiers = @klass.render_identifier(ids)
224
- reference = @klass
225
- .docid_l10n(identifiers[:metanorma] || identifiers[:sdo] ||
226
- identifiers[:ordinal] || identifiers[:doi])
227
- @anchors[ref["id"]] = { xref: reference }
228
- end
229
214
  end
230
215
  end
231
216
  end
@@ -6,6 +6,12 @@ module Enumerable
6
6
  end
7
7
  end
8
8
 
9
+ class Object
10
+ def blank?
11
+ nil? || empty?
12
+ end
13
+ end
14
+
9
15
  module IsoDoc
10
16
  module XrefGen
11
17
  module Blocks
data/lib/isodoc/xref.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require_relative "xref/xref_anchor"
2
2
  require_relative "xref/xref_counter"
3
+ require_relative "xref/xref_counter_types"
3
4
  require_relative "xref/xref_gen_seq"
4
5
  require_relative "xref/xref_gen"
5
6
  require_relative "xref/xref_sect_gen"
@@ -17,25 +18,31 @@ module IsoDoc
17
18
 
18
19
  # Note: if bibrender is no passed in, do not parse references
19
20
  def initialize(lang, script, klass, i18n, options = {})
20
- @anchors = {}
21
+ initialize_empty
21
22
  @lang = lang
22
23
  @script = script
23
24
  @klass = klass
24
25
  @options = options
25
- @i18n = i18n
26
- @labels = @i18n.get
27
- @klass.i18n = @i18n
26
+ initialize_i18n(i18n)
28
27
  @klass.bibrender ||= options[:bibrender]
29
- @locale = options[:locale]
30
28
  @reqt_models = @klass.requirements_processor
31
- .new({
32
- default: "default", lang:, script:,
33
- labels: @i18n.get
34
- })
35
- @i18n
29
+ .new({ default: "default", lang:, script:,
30
+ labels: @i18n.get })
31
+ end
32
+
33
+ def initialize_empty
34
+ @c = HTMLEntities.new
35
+ @anchors = {}
36
36
  @parse_settings = {}
37
37
  end
38
38
 
39
+ def initialize_i18n(i18n)
40
+ @i18n = i18n
41
+ @labels = @i18n.get
42
+ @klass.i18n = @i18n
43
+ @locale = @options[:locale]
44
+ end
45
+
39
46
  def get
40
47
  @anchors
41
48
  end
@@ -66,9 +73,18 @@ module IsoDoc
66
73
  initial_anchor_names(docxml)
67
74
  back_anchor_names(docxml)
68
75
  asset_anchor_names(docxml)
76
+ localise_anchors
69
77
  @parse_settings = {}
70
78
  end
71
79
 
80
+ def localise_anchors
81
+ @anchors.each_value do |v|
82
+ v[:label] &&= l10n(v[:label])
83
+ v[:value] &&= l10n(v[:value])
84
+ v[:xref] &&= l10n(v[:xref])
85
+ end
86
+ end
87
+
72
88
  def ns(xpath)
73
89
  Common::ns(xpath)
74
90
  end
@@ -96,18 +96,18 @@ version: version
96
96
  toc_figures: List of figures
97
97
  toc_tables: List of tables
98
98
  toc_recommendations: List of recommendations
99
- month_january: January
100
- month_february: February
101
- month_march: March
102
- month_april: April
103
- month_may: May
104
- month_june: June
105
- month_july: July
106
- month_august: August
107
- month_september: September
108
- month_october: October
109
- month_november: November
110
- month_december: December
99
+ month_january: 1月
100
+ month_february: 2月
101
+ month_march: 3月
102
+ month_april: 4月
103
+ month_may: 5月
104
+ month_june: 6月
105
+ month_july: 7月
106
+ month_august: 8月
107
+ month_september: 9月
108
+ month_october: 10月
109
+ month_november: 11月
110
+ month_december: 12月
111
111
  obligation: Obligation
112
112
  admonition: {
113
113
  danger: 危険です,
@@ -118,7 +118,7 @@ admonition: {
118
118
  editorial: 編集者注
119
119
  }
120
120
  locality: {
121
- section: Section,
121
+ section: セクション,
122
122
  clause: 箇条,
123
123
  subclause: 細分箇条,
124
124
  part: 部,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.4
4
+ version: 2.12.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: 2024-09-30 00:00:00.000000000 Z
11
+ date: 2024-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '2.08'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '2.08'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mn-requirements
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -421,6 +421,7 @@ files:
421
421
  - lib/isodoc/presentation_function/bibdata.rb
422
422
  - lib/isodoc/presentation_function/block.rb
423
423
  - lib/isodoc/presentation_function/concepts.rb
424
+ - lib/isodoc/presentation_function/docid.rb
424
425
  - lib/isodoc/presentation_function/erefs.rb
425
426
  - lib/isodoc/presentation_function/image.rb
426
427
  - lib/isodoc/presentation_function/inline.rb
@@ -451,6 +452,7 @@ files:
451
452
  - lib/isodoc/xref/clause_order.rb
452
453
  - lib/isodoc/xref/xref_anchor.rb
453
454
  - lib/isodoc/xref/xref_counter.rb
455
+ - lib/isodoc/xref/xref_counter_types.rb
454
456
  - lib/isodoc/xref/xref_gen.rb
455
457
  - lib/isodoc/xref/xref_gen_seq.rb
456
458
  - lib/isodoc/xref/xref_sect_gen.rb