isodoc 3.7.4.pre.alpha.5 → 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: 2ac7ddfe63cebf2580cf793bda41a563367084ed78ac621f9914bbb1c143eedf
4
- data.tar.gz: 8771309031dc897df944bb3d0d38b604eca00ef7ffe5f67d0eb17104a72d1627
3
+ metadata.gz: 3db7bc4dbab1aaeab3373f84609b81b92a4d276dc8e9339fe075e84d2eb06a37
4
+ data.tar.gz: 6f3969990c9d8d7c753aea2c1ae11dce4818c4c43cbbe48344a1f9a1cd2d4ffc
5
5
  SHA512:
6
- metadata.gz: 74fd307bb5d2b69531726d7c7f05e8fbbc5532921f20e9fa8e98b61d3e292c3328a0a28daf05285f2750cd0ef15cd890a2e137b294b99bafc936b0334c1dbfbe
7
- data.tar.gz: c022667c987d194c5308817b405b0cba5cdc446bd4caa7f1a046fdd8586e3799191c3a366663af99190575d37927ba09710d5b882468e9213921e053e3847f50
6
+ metadata.gz: c83673de018c7334755ab2fbc3b5742112a0e9ae4abf7b841409808188a1d53da4dbafda27d63e4cddb1c4db4fddb52e8e9e61d6f3bd8014ad382970176ef43f
7
+ data.tar.gz: dcd80a4fcc89a25dff29638d4367bd3666d9820baa691f0107feeec8d6ec93c680ca744666667825d8de4f76cdcdb67e2e1466ea1b7e1408923f7062a4c9cd55
data/isodoc.gemspec CHANGED
@@ -32,7 +32,10 @@ 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
+ # std_docid_semantic parses through the pubid monogem's flavor
37
+ # registry (Pubid.eager_load_flavors!) — 2.x API, no per-flavor gems
38
+ spec.add_dependency "pubid", "~> 2.0"
36
39
  # spec.add_dependency "metanorma-utils", "~> 2.0" # already in isodoc-i18n
37
40
  spec.add_dependency "mn2pdf", ">= 2.13"
38
41
  spec.add_dependency "mn-requirements", "~> 0.5.0"
@@ -42,7 +45,6 @@ Gem::Specification.new do |spec|
42
45
  # flavor stacks boot against it.
43
46
  # Released isodoc lines keep resolving relaton-render 1.3.0; only a
44
47
  # stack on this floor co-resolves the relaton 3.0 line.
45
- spec.add_dependency "relaton-render", "~> 3.0", "< 5"
46
48
  spec.add_dependency "roman-numerals"
47
49
  spec.add_dependency "rouge", "~> 4.0"
48
50
  # lib/isodoc/css.rb requires sassc-embedded (SassC::Engine) at
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "3.7.4.pre.alpha.5".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.pre.alpha.5
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-28 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,70 +56,58 @@ 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
- name: mn2pdf
70
+ name: pubid
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
- - - ">="
73
+ - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '2.13'
75
+ version: '2.0'
82
76
  type: :runtime
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - ">="
80
+ - - "~>"
87
81
  - !ruby/object:Gem::Version
88
- version: '2.13'
82
+ version: '2.0'
89
83
  - !ruby/object:Gem::Dependency
90
- name: mn-requirements
84
+ name: mn2pdf
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
- - - "~>"
87
+ - - ">="
94
88
  - !ruby/object:Gem::Version
95
- version: 0.5.0
89
+ version: '2.13'
96
90
  type: :runtime
97
91
  prerelease: false
98
92
  version_requirements: !ruby/object:Gem::Requirement
99
93
  requirements:
100
- - - "~>"
94
+ - - ">="
101
95
  - !ruby/object:Gem::Version
102
- version: 0.5.0
96
+ version: '2.13'
103
97
  - !ruby/object:Gem::Dependency
104
- name: relaton-render
98
+ name: mn-requirements
105
99
  requirement: !ruby/object:Gem::Requirement
106
100
  requirements:
107
101
  - - "~>"
108
102
  - !ruby/object:Gem::Version
109
- version: '3.0'
110
- - - "<"
111
- - !ruby/object:Gem::Version
112
- version: '5'
103
+ version: 0.5.0
113
104
  type: :runtime
114
105
  prerelease: false
115
106
  version_requirements: !ruby/object:Gem::Requirement
116
107
  requirements:
117
108
  - - "~>"
118
109
  - !ruby/object:Gem::Version
119
- version: '3.0'
120
- - - "<"
121
- - !ruby/object:Gem::Version
122
- version: '5'
110
+ version: 0.5.0
123
111
  - !ruby/object:Gem::Dependency
124
112
  name: roman-numerals
125
113
  requirement: !ruby/object:Gem::Requirement