isodoc 2.11.4 → 2.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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