metanorma-standoc 3.0.7 → 3.0.9

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/html/htmlstyle.css +0 -2
  3. data/lib/metanorma/standoc/anchor.rb +1 -1
  4. data/lib/metanorma/standoc/base.rb +1 -1
  5. data/lib/metanorma/standoc/basicdoc.rng +9 -5
  6. data/lib/metanorma/standoc/blocks.rb +8 -5
  7. data/lib/metanorma/standoc/blocks_image.rb +2 -6
  8. data/lib/metanorma/standoc/blocks_notes.rb +2 -6
  9. data/lib/metanorma/standoc/cleanup.rb +5 -1
  10. data/lib/metanorma/standoc/cleanup_amend.rb +6 -8
  11. data/lib/metanorma/standoc/cleanup_asciibib.rb +17 -13
  12. data/lib/metanorma/standoc/cleanup_bibdata.rb +19 -13
  13. data/lib/metanorma/standoc/cleanup_bibitem.rb +9 -6
  14. data/lib/metanorma/standoc/cleanup_block.rb +6 -6
  15. data/lib/metanorma/standoc/cleanup_boilerplate.rb +5 -4
  16. data/lib/metanorma/standoc/cleanup_footnotes.rb +2 -4
  17. data/lib/metanorma/standoc/cleanup_image.rb +3 -3
  18. data/lib/metanorma/standoc/cleanup_inline.rb +22 -47
  19. data/lib/metanorma/standoc/cleanup_review.rb +7 -5
  20. data/lib/metanorma/standoc/cleanup_section.rb +30 -5
  21. data/lib/metanorma/standoc/cleanup_table.rb +1 -2
  22. data/lib/metanorma/standoc/cleanup_terms.rb +1 -1
  23. data/lib/metanorma/standoc/cleanup_terms_designations.rb +1 -1
  24. data/lib/metanorma/standoc/cleanup_text.rb +5 -3
  25. data/lib/metanorma/standoc/cleanup_toc.rb +1 -1
  26. data/lib/metanorma/standoc/cleanup_xref.rb +1 -1
  27. data/lib/metanorma/standoc/converter.rb +15 -7
  28. data/lib/metanorma/standoc/init.rb +15 -7
  29. data/lib/metanorma/standoc/inline.rb +12 -7
  30. data/lib/metanorma/standoc/isodoc.rng +145 -5
  31. data/lib/metanorma/standoc/localbib.rb +1 -2
  32. data/lib/metanorma/standoc/macros.rb +0 -1
  33. data/lib/metanorma/standoc/macros_form.rb +21 -3
  34. data/lib/metanorma/standoc/macros_inline.rb +24 -1
  35. data/lib/metanorma/standoc/macros_link.rb +13 -5
  36. data/lib/metanorma/standoc/macros_plantuml.rb +28 -14
  37. data/lib/metanorma/standoc/ref.rb +2 -2
  38. data/lib/metanorma/standoc/ref_sect.rb +1 -1
  39. data/lib/metanorma/standoc/ref_utility.rb +4 -3
  40. data/lib/metanorma/standoc/section.rb +9 -10
  41. data/lib/metanorma/standoc/sectiontype.rb +28 -20
  42. data/lib/metanorma/standoc/table.rb +9 -13
  43. data/lib/metanorma/standoc/term_lookup_cleanup.rb +17 -9
  44. data/lib/metanorma/standoc/terms.rb +1 -1
  45. data/lib/metanorma/standoc/utils.rb +4 -0
  46. data/lib/metanorma/standoc/validate.rb +50 -23
  47. data/lib/metanorma/standoc/validate_schema.rb +2 -0
  48. data/lib/metanorma/standoc/validate_term.rb +8 -7
  49. data/lib/metanorma/standoc/version.rb +1 -1
  50. data/metanorma-standoc.gemspec +2 -3
  51. metadata +6 -20
@@ -16,7 +16,7 @@ module Metanorma
16
16
  def iev_validate(xmldoc)
17
17
  @iev = init_iev or return
18
18
  xmldoc.xpath("//term").each do |t|
19
- t.xpath(".//termsource").each do |src|
19
+ t.xpath("./source | ./preferred/source | ./admitted/source | ./deprecates/source | ./related/source").each do |src|
20
20
  (/^IEC[  ]60050-/.match(src.at("./origin/@citeas")&.text) &&
21
21
  loc = src.xpath(SOURCELOCALITY)&.text) or next
22
22
  iev_validate1(t, loc, xmldoc)
@@ -46,15 +46,16 @@ module Metanorma
46
46
 
47
47
  def concept_validate_ids(doc)
48
48
  @concept_ids ||= doc.xpath("//term | //definitions//dt")
49
- .each_with_object({}) { |x, m| m[x["id"]] = true }
49
+ .each_with_object({}) { |x, m| m[x["anchor"]] = true }
50
50
  @concept_terms_tags ||= doc.xpath("//terms")
51
- .each_with_object({}) { |t, m| m[t["id"]] = true }
51
+ .each_with_object({}) { |t, m| m[t["anchor"]] = true }
52
52
  nil
53
53
  end
54
54
 
55
55
  def concept_validate_msg(_doc, tag, refterm, xref)
56
+ t = @doc_ids.dig(xref["target"], :anchor) || xref["target"]
56
57
  ret = <<~LOG
57
- #{tag.capitalize} #{xref.at("../#{refterm}")&.text} is pointing to #{xref['target']}, which is not a term or symbol
58
+ #{tag.capitalize} #{xref.at("../#{refterm}")&.text} is pointing to #{t}, which is not a term or symbol
58
59
  LOG
59
60
  if @concept_terms_tags[xref["target"]]
60
61
  ret = ret.strip
@@ -79,7 +80,7 @@ module Metanorma
79
80
  def preferred_validate_report(terms)
80
81
  terms.each do |k, v|
81
82
  v.size > 1 or next
82
- loc = v.map { |x| x["id"] }.join(", ")
83
+ loc = v.map { |x| x["anchor"] }.join(", ")
83
84
  err = "Term #{k} occurs twice as preferred designation: #{loc}"
84
85
  @log.add("Terms", v.first, err, severity: 1)
85
86
  end
@@ -92,7 +93,7 @@ module Metanorma
92
93
  c = d.ancestors.detect do |x|
93
94
  section_containers.include?(x.name)
94
95
  end
95
- c["id"] ||= "_#{UUIDTools::UUID.random_create}"
96
+ c["id"] or add_id(c["id"])
96
97
  m[c["id"]] ||= { clause: c, designations: [] }
97
98
  m[c["id"]][:designations] << d
98
99
  end
@@ -106,7 +107,7 @@ module Metanorma
106
107
  end.join(", ")
107
108
  err = <<~ERROR
108
109
  Clause not recognised as a term clause, but contains designation markup
109
- (preferred:[], admitted:[], alt:[], deprecated:[]):<br/>
110
+ (<code>preferred:[], admitted:[], alt:[], deprecated:[]</code>):<br/>
110
111
  #{desgns}</br>
111
112
  Ensure the parent clause is recognised as a terms clause by inserting <code>[heading=terms and definitions]</code> above the title,
112
113
  in case the heading is not automatically recognised. See also <a href="https://www.metanorma.org/author/topics/sections/concepts/#clause-title">Metanorma documentation</a>.
@@ -19,6 +19,6 @@ module Metanorma
19
19
  end
20
20
 
21
21
  module Standoc
22
- VERSION = "3.0.7".freeze
22
+ VERSION = "3.0.9".freeze
23
23
  end
24
24
  end
@@ -34,10 +34,9 @@ Gem::Specification.new do |spec|
34
34
  spec.add_dependency "iev", "~> 0.3.5"
35
35
  spec.add_dependency "isodoc", "~> 3.1.4"
36
36
  spec.add_dependency "metanorma", ">= 1.6.0"
37
- spec.add_dependency "metanorma-plugin-datastruct", "~> 0.3.0"
38
37
  spec.add_dependency "metanorma-plugin-glossarist", "~> 0.2.3"
39
- spec.add_dependency "metanorma-plugin-lutaml", "~> 0.7.0"
40
- spec.add_dependency "metanorma-utils", "~> 1.10.0"
38
+ spec.add_dependency "metanorma-plugin-lutaml", "~> 0.7.31"
39
+ spec.add_dependency "metanorma-utils", "~> 1.11.0"
41
40
  spec.add_dependency "ruby-jing"
42
41
  # relaton-cli not just relaton, to avoid circular reference in metanorma
43
42
  spec.add_dependency "concurrent-ruby"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.7
4
+ version: 3.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-29 00:00:00.000000000 Z
11
+ date: 2025-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -94,20 +94,6 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.6.0
97
- - !ruby/object:Gem::Dependency
98
- name: metanorma-plugin-datastruct
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 0.3.0
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 0.3.0
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: metanorma-plugin-glossarist
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -128,28 +114,28 @@ dependencies:
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: 0.7.0
117
+ version: 0.7.31
132
118
  type: :runtime
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: 0.7.0
124
+ version: 0.7.31
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: metanorma-utils
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: 1.10.0
131
+ version: 1.11.0
146
132
  type: :runtime
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: 1.10.0
138
+ version: 1.11.0
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: ruby-jing
155
141
  requirement: !ruby/object:Gem::Requirement