isodoc 3.7.4 → 3.7.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a9872c3dc80016910e76d8a9b3c97aa04df34a6caab0c198ba568b97a9ec17d
4
- data.tar.gz: 57b6c1f42c4fbc6c4b8c5537d058779fb75ac2539c63fe9b0e1d5e5d48104dc0
3
+ metadata.gz: 3db7bc4dbab1aaeab3373f84609b81b92a4d276dc8e9339fe075e84d2eb06a37
4
+ data.tar.gz: 6f3969990c9d8d7c753aea2c1ae11dce4818c4c43cbbe48344a1f9a1cd2d4ffc
5
5
  SHA512:
6
- metadata.gz: fde157a47858f873f02c57a84d57f8865790154cd05260e01caa89fd0116297e66388ac98524925517b529c0c111160f1ea415f3dc5c1a6d2d06db9ece697063
7
- data.tar.gz: 75fce4fdc6a222d822831284e6081f6f621df2ca3813d09514b3eeff8f36e0c43bfeef9064ac7a5b364866768646085fc6342ab1c1962e8592b594420de24ea4
6
+ metadata.gz: c83673de018c7334755ab2fbc3b5742112a0e9ae4abf7b841409808188a1d53da4dbafda27d63e4cddb1c4db4fddb52e8e9e61d6f3bd8014ad382970176ef43f
7
+ data.tar.gz: dcd80a4fcc89a25dff29638d4367bd3666d9820baa691f0107feeec8d6ec93c680ca744666667825d8de4f76cdcdb67e2e1466ea1b7e1408923f7062a4c9cd55
data/isodoc.gemspec CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "bigdecimal"
33
33
  spec.add_dependency "html2doc", "~> 1.12"
34
34
  # spec.add_dependency "isodoc-i18n", "~> 1.5" # already in relaton-render and mn-requirements
35
- spec.add_dependency "relaton-cli", ">= 3.0.0", "< 3.1"
35
+ spec.add_dependency "relaton-cli", "~> 3.0"
36
36
  # std_docid_semantic parses through the pubid monogem's flavor
37
37
  # registry (Pubid.eager_load_flavors!) — 2.x API, no per-flavor gems
38
38
  spec.add_dependency "pubid", "~> 2.0"
@@ -45,7 +45,6 @@ Gem::Specification.new do |spec|
45
45
  # flavor stacks boot against it.
46
46
  # Released isodoc lines keep resolving relaton-render 1.3.0; only a
47
47
  # stack on this floor co-resolves the relaton 3.0 line.
48
- spec.add_dependency "relaton-render", "~> 3.0", "< 5"
49
48
  spec.add_dependency "roman-numerals"
50
49
  spec.add_dependency "rouge", "~> 4.0"
51
50
  # lib/isodoc/css.rb requires sassc-embedded (SassC::Engine) at
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "3.7.4".freeze
2
+ VERSION = "3.7.5".freeze
3
3
  end
@@ -118,13 +118,25 @@ module IsoDoc
118
118
  def note_anchor_names(sections)
119
119
  sections.each do |s|
120
120
  notes = s.xpath(child_asset_path("note")) -
121
- s.xpath(ns(".//figure//note | .//table//note | //permission//note | " \
122
- "//recommendation//note | //requirement//note"))
121
+ s.xpath(ns(".//figure//note | .//table//note")) -
122
+ requirement_nested_notes(s)
123
123
  note_anchor_names1(notes, Counter.new)
124
124
  note_anchor_names(s.xpath(ns(child_sections)))
125
125
  end
126
126
  end
127
127
 
128
+ # Notes under requirement-class blocks are excluded from per-section
129
+ # asset numbering everywhere. The set is document-wide and constant
130
+ # for the whole xref pass: an absolute // xpath evaluated on a node
131
+ # scans the entire document, so re-running it per visited section is
132
+ # quadratic on sectioned documents (vocabulary corpora carry
133
+ # thousands of term clauses).
134
+ def requirement_nested_notes(source)
135
+ @requirement_nested_notes ||= source.document.xpath(
136
+ ns("//permission//note | //recommendation//note | //requirement//note")
137
+ )
138
+ end
139
+
128
140
  def note_anchor_names1(notes, counter)
129
141
  notes.noblank.each do |n|
130
142
  @anchors[n["id"]] =
@@ -167,8 +179,7 @@ module IsoDoc
167
179
  def example_anchor_names(sections)
168
180
  sections.each do |s|
169
181
  notes = s.xpath(child_asset_path("example")) -
170
- s.xpath(ns("//permission//note | " \
171
- "//recommendation//note | //requirement//note"))
182
+ requirement_nested_notes(s)
172
183
  example_anchor_names1(notes, Counter.new)
173
184
  example_anchor_names(s.xpath(ns(child_sections)))
174
185
  end
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: 3.7.4
4
+ version: 3.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-29 00:00:00.000000000 Z
11
+ date: 2026-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -56,22 +56,16 @@ dependencies:
56
56
  name: relaton-cli
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: 3.0.0
62
- - - "<"
59
+ - - "~>"
63
60
  - !ruby/object:Gem::Version
64
- version: '3.1'
61
+ version: '3.0'
65
62
  type: :runtime
66
63
  prerelease: false
67
64
  version_requirements: !ruby/object:Gem::Requirement
68
65
  requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- version: 3.0.0
72
- - - "<"
66
+ - - "~>"
73
67
  - !ruby/object:Gem::Version
74
- version: '3.1'
68
+ version: '3.0'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: pubid
77
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,26 +108,6 @@ dependencies:
114
108
  - - "~>"
115
109
  - !ruby/object:Gem::Version
116
110
  version: 0.5.0
117
- - !ruby/object:Gem::Dependency
118
- name: relaton-render
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: '3.0'
124
- - - "<"
125
- - !ruby/object:Gem::Version
126
- version: '5'
127
- type: :runtime
128
- prerelease: false
129
- version_requirements: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: '3.0'
134
- - - "<"
135
- - !ruby/object:Gem::Version
136
- version: '5'
137
111
  - !ruby/object:Gem::Dependency
138
112
  name: roman-numerals
139
113
  requirement: !ruby/object:Gem::Requirement