sts 0.6.6 → 0.6.8

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/TODO.roadmap/00-overview.md +85 -0
  3. data/TODO.roadmap/01-mathml-namespace-deduplication.md +62 -0
  4. data/TODO.roadmap/02-lutaml-model-element-builder-dispatch.md +115 -0
  5. data/TODO.roadmap/03-issue-40-child-bearing-roots.md +57 -0
  6. data/TODO.roadmap/04-issue-40-recursive-roots.md +105 -0
  7. data/TODO.roadmap/05-content-mathml-unification.md +75 -0
  8. data/TODO.roadmap/07-tbxisotml-misclassification-audit.md +82 -0
  9. data/TODO.roadmap/08-register-versioning.md +95 -0
  10. data/TODO.roadmap/09-test-coverage-gaps.md +78 -0
  11. data/TODO.roadmap/10-iso-sts-common-attributes-module.md +115 -0
  12. data/TODO.roadmap/11-docs-and-readme-refresh.md +52 -0
  13. data/TODO.sts-refactor/00-overview.md +3 -3
  14. data/TODO.sts-refactor/03-namespace-coupling.md +13 -5
  15. data/lib/sts/iso_sts/custom_meta.rb +37 -0
  16. data/lib/sts/iso_sts/custom_meta_group.rb +16 -0
  17. data/lib/sts/iso_sts/def_list.rb +1 -1
  18. data/lib/sts/iso_sts/iso_meta.rb +1 -1
  19. data/lib/sts/iso_sts/license.rb +35 -0
  20. data/lib/sts/iso_sts/license_p.rb +96 -0
  21. data/lib/sts/iso_sts/meta_name.rb +14 -0
  22. data/lib/sts/iso_sts/meta_value.rb +41 -0
  23. data/lib/sts/iso_sts/nat_meta.rb +1 -1
  24. data/lib/sts/iso_sts/permissions.rb +1 -1
  25. data/lib/sts/iso_sts/reg_meta.rb +1 -1
  26. data/lib/sts/iso_sts/standard.rb +1 -1
  27. data/lib/sts/iso_sts/term_head.rb +74 -0
  28. data/lib/sts/iso_sts.rb +7 -0
  29. data/lib/sts/namespaces.rb +0 -5
  30. data/lib/sts/niso_sts/mml_content.rb +1 -1
  31. data/lib/sts/niso_sts/standard.rb +1 -1
  32. data/lib/sts/version.rb +1 -1
  33. metadata +20 -2
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class MetaValue < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :specific_use, :string
8
+ attribute :xml_lang, :string
9
+ attribute :content, :string, collection: true
10
+ attribute :bold, ::Sts::IsoSts::Bold, collection: true
11
+ attribute :italic, ::Sts::IsoSts::Italic, collection: true
12
+ attribute :monospace, ::Sts::IsoSts::Monospace, collection: true
13
+ attribute :num, ::Sts::IsoSts::Num, collection: true
14
+ attribute :sc, ::Sts::IsoSts::Sc, collection: true
15
+ attribute :strike, ::Sts::IsoSts::Strike, collection: true
16
+ attribute :underline, ::Sts::IsoSts::Underline, collection: true
17
+ attribute :sub, ::Sts::IsoSts::Sub, collection: true
18
+ attribute :sup, ::Sts::IsoSts::Sup, collection: true
19
+
20
+ xml do
21
+ element "meta-value"
22
+ mixed_content
23
+
24
+ map_attribute "id", to: :id
25
+ map_attribute "specific-use", to: :specific_use
26
+ map_attribute "xml:lang", to: :xml_lang
27
+
28
+ map_content to: :content
29
+ map_element "bold", to: :bold
30
+ map_element "italic", to: :italic
31
+ map_element "monospace", to: :monospace
32
+ map_element "num", to: :num
33
+ map_element "sc", to: :sc
34
+ map_element "strike", to: :strike
35
+ map_element "underline", to: :underline
36
+ map_element "sub", to: :sub
37
+ map_element "sup", to: :sup
38
+ end
39
+ end
40
+ end
41
+ end
@@ -20,7 +20,7 @@ module Sts
20
20
  attribute :permissions, ::Sts::IsoSts::Permissions, collection: true
21
21
  attribute :std_xref, ::Sts::IsoSts::StandardCrossReference,
22
22
  collection: true
23
- attribute :custom_meta_group, ::Sts::NisoSts::CustomMetaGroup,
23
+ attribute :custom_meta_group, ::Sts::IsoSts::CustomMetaGroup,
24
24
  collection: true
25
25
  attribute :meta_date, ::Sts::IsoSts::MetaDate, collection: true
26
26
  attribute :pub_date, ::Sts::IsoSts::PubDate
@@ -9,7 +9,7 @@ module Sts
9
9
  attribute :copyright_year, ::Sts::IsoSts::CopyrightYear, collection: true
10
10
  attribute :copyright_holder, ::Sts::IsoSts::CopyrightHolder,
11
11
  collection: true
12
- attribute :license, ::Sts::NisoSts::License, collection: true
12
+ attribute :license, ::Sts::IsoSts::License, collection: true
13
13
 
14
14
  xml do
15
15
  element "permissions"
@@ -20,7 +20,7 @@ module Sts
20
20
  attribute :permissions, ::Sts::IsoSts::Permissions, collection: true
21
21
  attribute :std_xref, ::Sts::IsoSts::StandardCrossReference,
22
22
  collection: true
23
- attribute :custom_meta_group, ::Sts::NisoSts::CustomMetaGroup,
23
+ attribute :custom_meta_group, ::Sts::IsoSts::CustomMetaGroup,
24
24
  collection: true
25
25
  attribute :meta_date, ::Sts::IsoSts::MetaDate, collection: true
26
26
  attribute :pub_date, ::Sts::IsoSts::PubDate
@@ -15,7 +15,7 @@ module Sts
15
15
  element "standard"
16
16
  ordered
17
17
  namespace_scope [
18
- ::Sts::Namespaces::MathmlNamespace,
18
+ ::Mml::Namespace,
19
19
  ::Mml::Namespace,
20
20
  ::Sts::Namespaces::TbxNamespace,
21
21
  ::Lutaml::Xml::W3c::XlinkNamespace,
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class TermHead < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :content, :string, collection: true
11
+ attribute :email, ::Sts::IsoSts::Email, collection: true
12
+ attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
13
+ attribute :uri, ::Sts::IsoSts::Uri, collection: true
14
+ attribute :mixed_citation, ::Sts::IsoSts::MixedCitation, collection: true
15
+ attribute :std, ::Sts::IsoSts::Std, collection: true
16
+ attribute :bold, ::Sts::IsoSts::Bold, collection: true
17
+ attribute :italic, ::Sts::IsoSts::Italic, collection: true
18
+ attribute :monospace, ::Sts::IsoSts::Monospace, collection: true
19
+ attribute :num, ::Sts::IsoSts::Num, collection: true
20
+ attribute :sc, ::Sts::IsoSts::Sc, collection: true
21
+ attribute :strike, ::Sts::IsoSts::Strike, collection: true
22
+ attribute :underline, ::Sts::IsoSts::Underline, collection: true
23
+ attribute :inline_graphic, ::Sts::IsoSts::InlineGraphic, collection: true
24
+ attribute :inline_formula, ::Sts::IsoSts::InlineFormula, collection: true
25
+ attribute :abbrev, ::Sts::IsoSts::Abbrev, collection: true
26
+ attribute :milestone_end, ::Sts::IsoSts::MilestoneEnd, collection: true
27
+ attribute :milestone_start, ::Sts::IsoSts::MilestoneStart,
28
+ collection: true
29
+ attribute :named_content, ::Sts::IsoSts::NamedContent, collection: true
30
+ attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
31
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
32
+ attribute :xref, ::Sts::IsoSts::Xref, collection: true
33
+ attribute :std_ref, ::Sts::IsoSts::StdRef, collection: true
34
+ attribute :sub, ::Sts::IsoSts::Sub, collection: true
35
+ attribute :sup, ::Sts::IsoSts::Sup, collection: true
36
+
37
+ xml do # rubocop:disable Metrics/BlockLength
38
+ element "term-head"
39
+ mixed_content
40
+
41
+ map_attribute "id", to: :id
42
+ map_attribute "content-type", to: :content_type
43
+ map_attribute "specific-use", to: :specific_use
44
+ map_attribute "xml:lang", to: :xml_lang
45
+
46
+ map_content to: :content
47
+ map_element "email", to: :email
48
+ map_element "ext-link", to: :ext_link
49
+ map_element "uri", to: :uri
50
+ map_element "mixed-citation", to: :mixed_citation
51
+ map_element "std", to: :std
52
+ map_element "bold", to: :bold
53
+ map_element "italic", to: :italic
54
+ map_element "monospace", to: :monospace
55
+ map_element "num", to: :num
56
+ map_element "sc", to: :sc
57
+ map_element "strike", to: :strike
58
+ map_element "underline", to: :underline
59
+ map_element "inline-graphic", to: :inline_graphic
60
+ map_element "inline-formula", to: :inline_formula
61
+ map_element "abbrev", to: :abbrev
62
+ map_element "milestone-end", to: :milestone_end
63
+ map_element "milestone-start", to: :milestone_start
64
+ map_element "named-content", to: :named_content
65
+ map_element "styled-content", to: :styled_content
66
+ map_element "fn", to: :fn
67
+ map_element "xref", to: :xref
68
+ map_element "std-ref", to: :std_ref
69
+ map_element "sub", to: :sub
70
+ map_element "sup", to: :sup
71
+ end
72
+ end
73
+ end
74
+ end
data/lib/sts/iso_sts.rb CHANGED
@@ -103,11 +103,17 @@ module Sts
103
103
  autoload :Annotation, "#{__dir__}/iso_sts/annotation"
104
104
  autoload :Attrib, "#{__dir__}/iso_sts/attrib"
105
105
  autoload :Country, "#{__dir__}/iso_sts/country"
106
+ autoload :CustomMeta, "#{__dir__}/iso_sts/custom_meta"
107
+ autoload :CustomMetaGroup, "#{__dir__}/iso_sts/custom_meta_group"
106
108
  autoload :Day, "#{__dir__}/iso_sts/day"
107
109
  autoload :Etal, "#{__dir__}/iso_sts/etal"
108
110
  autoload :Fax, "#{__dir__}/iso_sts/fax"
109
111
  autoload :InlineGraphic, "#{__dir__}/iso_sts/inline_graphic"
110
112
  autoload :Institution, "#{__dir__}/iso_sts/institution"
113
+ autoload :License, "#{__dir__}/iso_sts/license"
114
+ autoload :LicenseP, "#{__dir__}/iso_sts/license_p"
115
+ autoload :MetaName, "#{__dir__}/iso_sts/meta_name"
116
+ autoload :MetaValue, "#{__dir__}/iso_sts/meta_value"
111
117
  autoload :MilestoneEnd, "#{__dir__}/iso_sts/milestone_end"
112
118
  autoload :MilestoneStart, "#{__dir__}/iso_sts/milestone_start"
113
119
  autoload :Month, "#{__dir__}/iso_sts/month"
@@ -115,6 +121,7 @@ module Sts
115
121
  autoload :ObjectId, "#{__dir__}/iso_sts/object_id"
116
122
  autoload :Phone, "#{__dir__}/iso_sts/phone"
117
123
  autoload :Season, "#{__dir__}/iso_sts/season"
124
+ autoload :TermHead, "#{__dir__}/iso_sts/term_head"
118
125
 
119
126
  # List elements
120
127
  autoload :List, "#{__dir__}/iso_sts/list"
@@ -2,11 +2,6 @@
2
2
 
3
3
  module Sts
4
4
  module Namespaces
5
- class MathmlNamespace < Lutaml::Xml::Namespace
6
- uri "http://www.w3.org/1998/Math/MathML"
7
- prefix_default "mml"
8
- end
9
-
10
5
  class TbxNamespace < Lutaml::Xml::Namespace
11
6
  uri "urn:iso:std:iso:30042:ed-1"
12
7
  uri_aliases "urn:iso:std:iso:30042:ed-2"
@@ -7,7 +7,7 @@ module Sts
7
7
  # Content MathML elements share the MathML namespace
8
8
  class Object < Lutaml::Model::Serializable
9
9
  xml do
10
- namespace ::Sts::Namespaces::MathmlNamespace
10
+ namespace ::Mml::Namespace
11
11
  end
12
12
  end
13
13
 
@@ -17,7 +17,7 @@ module Sts
17
17
  element "standard"
18
18
  ordered
19
19
  namespace_scope [
20
- ::Sts::Namespaces::MathmlNamespace,
20
+ ::Mml::Namespace,
21
21
  ::Mml::Namespace,
22
22
  ::Sts::Namespaces::TbxNamespace,
23
23
  ::Lutaml::Xml::W3c::XlinkNamespace,
data/lib/sts/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sts
4
- VERSION = "0.6.6"
4
+ VERSION = "0.6.8"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.6
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-26 00:00:00.000000000 Z
11
+ date: 2026-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bigdecimal
@@ -106,6 +106,17 @@ files:
106
106
  - TODO.finalize/09-lutaml-model-pr.md
107
107
  - TODO.finalize/10-audit-other-duplicates.md
108
108
  - TODO.finalize/11-strengthen-anti-patterns-spec.md
109
+ - TODO.roadmap/00-overview.md
110
+ - TODO.roadmap/01-mathml-namespace-deduplication.md
111
+ - TODO.roadmap/02-lutaml-model-element-builder-dispatch.md
112
+ - TODO.roadmap/03-issue-40-child-bearing-roots.md
113
+ - TODO.roadmap/04-issue-40-recursive-roots.md
114
+ - TODO.roadmap/05-content-mathml-unification.md
115
+ - TODO.roadmap/07-tbxisotml-misclassification-audit.md
116
+ - TODO.roadmap/08-register-versioning.md
117
+ - TODO.roadmap/09-test-coverage-gaps.md
118
+ - TODO.roadmap/10-iso-sts-common-attributes-module.md
119
+ - TODO.roadmap/11-docs-and-readme-refresh.md
109
120
  - TODO.sts-refactor/00-overview.md
110
121
  - TODO.sts-refactor/01-mathml-delegation.md
111
122
  - TODO.sts-refactor/02-type-resolution.md
@@ -142,6 +153,8 @@ files:
142
153
  - lib/sts/iso_sts/copyright_statement.rb
143
154
  - lib/sts/iso_sts/copyright_year.rb
144
155
  - lib/sts/iso_sts/country.rb
156
+ - lib/sts/iso_sts/custom_meta.rb
157
+ - lib/sts/iso_sts/custom_meta_group.rb
145
158
  - lib/sts/iso_sts/day.rb
146
159
  - lib/sts/iso_sts/def.rb
147
160
  - lib/sts/iso_sts/def_item.rb
@@ -173,11 +186,15 @@ files:
173
186
  - lib/sts/iso_sts/italic.rb
174
187
  - lib/sts/iso_sts/label.rb
175
188
  - lib/sts/iso_sts/language.rb
189
+ - lib/sts/iso_sts/license.rb
190
+ - lib/sts/iso_sts/license_p.rb
176
191
  - lib/sts/iso_sts/list.rb
177
192
  - lib/sts/iso_sts/list_item.rb
178
193
  - lib/sts/iso_sts/long_desc.rb
179
194
  - lib/sts/iso_sts/lpage.rb
180
195
  - lib/sts/iso_sts/meta_date.rb
196
+ - lib/sts/iso_sts/meta_name.rb
197
+ - lib/sts/iso_sts/meta_value.rb
181
198
  - lib/sts/iso_sts/milestone_end.rb
182
199
  - lib/sts/iso_sts/milestone_start.rb
183
200
  - lib/sts/iso_sts/mixed_citation.rb
@@ -233,6 +250,7 @@ files:
233
250
  - lib/sts/iso_sts/tbody.rb
234
251
  - lib/sts/iso_sts/td.rb
235
252
  - lib/sts/iso_sts/term.rb
253
+ - lib/sts/iso_sts/term_head.rb
236
254
  - lib/sts/iso_sts/term_sec.rb
237
255
  - lib/sts/iso_sts/tex_math.rb
238
256
  - lib/sts/iso_sts/tfoot.rb