sts 0.6.2 → 0.6.4

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +1 -0
  3. data/TODO.finalize/00-overview.md +56 -0
  4. data/TODO.finalize/01-investigation-findings.md +39 -0
  5. data/TODO.finalize/02-delete-tbxisotml-fn-fngroup.md +20 -0
  6. data/TODO.finalize/03-repoint-isosts-call-sites.md +27 -0
  7. data/TODO.finalize/04-repoint-tbxisotml-call-sites.md +24 -0
  8. data/TODO.finalize/05-sts-regression-specs.md +27 -0
  9. data/TODO.finalize/06-lutaml-model-element-builder-fix.md +45 -0
  10. data/TODO.finalize/07-lutaml-model-specs.md +12 -0
  11. data/TODO.finalize/08-sts-ruby-pr.md +20 -0
  12. data/TODO.finalize/09-lutaml-model-pr.md +5 -0
  13. data/TODO.finalize/10-audit-other-duplicates.md +29 -0
  14. data/TODO.finalize/11-strengthen-anti-patterns-spec.md +24 -0
  15. data/TODO.sts-refactor/00-overview.md +30 -18
  16. data/TODO.sts-refactor/03-namespace-coupling.md +50 -32
  17. data/lib/sts/iso_sts/abbrev.rb +41 -0
  18. data/lib/sts/iso_sts/annotation.rb +31 -0
  19. data/lib/sts/iso_sts/body.rb +2 -3
  20. data/lib/sts/iso_sts/bold.rb +1 -1
  21. data/lib/sts/iso_sts/copyright_holder.rb +6 -0
  22. data/lib/sts/iso_sts/copyright_statement.rb +6 -0
  23. data/lib/sts/iso_sts/copyright_year.rb +4 -0
  24. data/lib/sts/iso_sts/country.rb +26 -0
  25. data/lib/sts/iso_sts/day.rb +24 -0
  26. data/lib/sts/iso_sts/doc_number.rb +4 -1
  27. data/lib/sts/iso_sts/doc_type.rb +4 -1
  28. data/lib/sts/iso_sts/edition.rb +6 -0
  29. data/lib/sts/iso_sts/email.rb +37 -0
  30. data/lib/sts/iso_sts/etal.rb +22 -0
  31. data/lib/sts/iso_sts/ext_link.rb +10 -0
  32. data/lib/sts/iso_sts/fax.rb +22 -0
  33. data/lib/sts/iso_sts/fpage.rb +2 -0
  34. data/lib/sts/iso_sts/front.rb +0 -2
  35. data/lib/sts/iso_sts/graphic.rb +10 -0
  36. data/lib/sts/iso_sts/ics.rb +4 -1
  37. data/lib/sts/iso_sts/inline_graphic.rb +42 -0
  38. data/lib/sts/iso_sts/institution.rb +41 -0
  39. data/lib/sts/iso_sts/is_proof.rb +7 -2
  40. data/lib/sts/iso_sts/issue.rb +2 -0
  41. data/lib/sts/iso_sts/italic.rb +1 -1
  42. data/lib/sts/iso_sts/label.rb +4 -0
  43. data/lib/sts/iso_sts/lpage.rb +2 -0
  44. data/lib/sts/iso_sts/milestone_end.rb +25 -0
  45. data/lib/sts/iso_sts/milestone_start.rb +25 -0
  46. data/lib/sts/iso_sts/mixed_citation.rb +15 -3
  47. data/lib/sts/iso_sts/month.rb +24 -0
  48. data/lib/sts/iso_sts/named_content.rb +2 -0
  49. data/lib/sts/iso_sts/num.rb +24 -0
  50. data/lib/sts/iso_sts/object_id.rb +24 -0
  51. data/lib/sts/iso_sts/originator.rb +4 -1
  52. data/lib/sts/iso_sts/page_range.rb +2 -0
  53. data/lib/sts/iso_sts/paragraph.rb +1 -1
  54. data/lib/sts/iso_sts/part_number.rb +4 -1
  55. data/lib/sts/iso_sts/phone.rb +22 -0
  56. data/lib/sts/iso_sts/proj_id.rb +4 -1
  57. data/lib/sts/iso_sts/pub_date.rb +2 -0
  58. data/lib/sts/iso_sts/pub_id.rb +2 -0
  59. data/lib/sts/iso_sts/publisher.rb +23 -0
  60. data/lib/sts/iso_sts/publisher_loc.rb +29 -0
  61. data/lib/sts/iso_sts/publisher_name.rb +23 -0
  62. data/lib/sts/iso_sts/release_version.rb +4 -1
  63. data/lib/sts/iso_sts/sdo.rb +4 -1
  64. data/lib/sts/iso_sts/season.rb +24 -0
  65. data/lib/sts/iso_sts/sec.rb +2 -5
  66. data/lib/sts/iso_sts/secretariat.rb +4 -1
  67. data/lib/sts/iso_sts/standard.rb +2 -2
  68. data/lib/sts/iso_sts/std.rb +1 -1
  69. data/lib/sts/iso_sts/sub.rb +4 -0
  70. data/lib/sts/iso_sts/sup.rb +4 -0
  71. data/lib/sts/iso_sts/suppl_number.rb +4 -1
  72. data/lib/sts/iso_sts/suppl_type.rb +4 -1
  73. data/lib/sts/iso_sts/suppl_version.rb +4 -1
  74. data/lib/sts/iso_sts/td.rb +1 -1
  75. data/lib/sts/iso_sts/term_sec.rb +1 -1
  76. data/lib/sts/iso_sts/th.rb +1 -1
  77. data/lib/sts/iso_sts/title.rb +4 -0
  78. data/lib/sts/iso_sts/underline.rb +2 -0
  79. data/lib/sts/iso_sts/uri.rb +2 -0
  80. data/lib/sts/iso_sts/urn.rb +4 -1
  81. data/lib/sts/iso_sts/version.rb +4 -1
  82. data/lib/sts/iso_sts/volume.rb +2 -0
  83. data/lib/sts/iso_sts/year.rb +2 -0
  84. data/lib/sts/iso_sts.rb +23 -2
  85. data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +2 -2
  86. data/lib/sts/tbx_iso_tml/td.rb +1 -1
  87. data/lib/sts/tbx_iso_tml/th.rb +1 -1
  88. data/lib/sts/tbx_iso_tml.rb +0 -2
  89. data/lib/sts/version.rb +1 -1
  90. metadata +32 -3
  91. data/lib/sts/tbx_iso_tml/fn.rb +0 -20
  92. data/lib/sts/tbx_iso_tml/fn_group.rb +0 -18
@@ -9,6 +9,12 @@ module Sts
9
9
  attribute :publication_format, :string
10
10
  attribute :specific_use, :string
11
11
  attribute :xml_lang, :string
12
+ attribute :xlink_type, :string
13
+ attribute :xlink_href, :string
14
+ attribute :xlink_role, :string
15
+ attribute :xlink_title, :string
16
+ attribute :xlink_show, :string
17
+ attribute :xlink_actuate, :string
12
18
  attribute :content, :string, collection: true
13
19
  attribute :bold, ::Sts::IsoSts::Bold, collection: true
14
20
  attribute :italic, ::Sts::IsoSts::Italic, collection: true
@@ -19,7 +25,7 @@ module Sts
19
25
  attribute :uri, ::Sts::IsoSts::Uri, collection: true
20
26
  attribute :named_content, ::Sts::IsoSts::NamedContent, collection: true
21
27
  attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
22
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
28
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
23
29
  attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
24
30
  attribute :break, ::Sts::IsoSts::Break, collection: true
25
31
  attribute :person_group, ::Sts::NisoSts::PersonGroup, collection: true
@@ -32,10 +38,10 @@ module Sts
32
38
  attribute :fpage, ::Sts::IsoSts::Fpage
33
39
  attribute :lpage, ::Sts::IsoSts::Lpage
34
40
  attribute :page_range, ::Sts::IsoSts::PageRange
35
- attribute :publisher, ::Sts::NisoSts::Publisher
41
+ attribute :publisher, ::Sts::IsoSts::Publisher
36
42
  attribute :pub_id, ::Sts::IsoSts::PubId, collection: true
37
43
 
38
- xml do
44
+ xml do # rubocop:disable Metrics/BlockLength
39
45
  element "mixed-citation"
40
46
  mixed_content
41
47
 
@@ -45,6 +51,12 @@ module Sts
45
51
  map_attribute "publication-format", to: :publication_format
46
52
  map_attribute "specific-use", to: :specific_use
47
53
  map_attribute "xml:lang", to: :xml_lang
54
+ map_attribute "xlink:type", to: :xlink_type
55
+ map_attribute "xlink:href", to: :xlink_href
56
+ map_attribute "xlink:role", to: :xlink_role
57
+ map_attribute "xlink:title", to: :xlink_title
58
+ map_attribute "xlink:show", to: :xlink_show
59
+ map_attribute "xlink:actuate", to: :xlink_actuate
48
60
 
49
61
  map_content to: :content
50
62
 
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Month < 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
+
12
+ xml do
13
+ element "month"
14
+ mixed_content
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "specific-use", to: :specific_use
19
+ map_attribute "xml:lang", to: :xml_lang
20
+ map_content to: :content
21
+ end
22
+ end
23
+ end
24
+ end
@@ -9,6 +9,7 @@ module Sts
9
9
  attribute :specific_use, :string
10
10
  attribute :xml_lang, :string
11
11
  attribute :xlink_href, :string
12
+ attribute :xlink_type, :string
12
13
  attribute :xlink_role, :string
13
14
  attribute :xlink_title, :string
14
15
  attribute :xlink_show, :string
@@ -29,6 +30,7 @@ module Sts
29
30
  map_attribute "specific-use", to: :specific_use
30
31
  map_attribute "xml:lang", to: :xml_lang
31
32
  map_attribute "xlink:href", to: :xlink_href
33
+ map_attribute "xlink:type", to: :xlink_type
32
34
  map_attribute "xlink:role", to: :xlink_role
33
35
  map_attribute "xlink:title", to: :xlink_title
34
36
  map_attribute "xlink:show", to: :xlink_show
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Num < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :dsep, :string
8
+ attribute :gsep, :string
9
+ attribute :specific_use, :string
10
+ attribute :content, :string, collection: true
11
+
12
+ xml do
13
+ element "num"
14
+ mixed_content
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "dsep", to: :dsep
18
+ map_attribute "gsep", to: :gsep
19
+ map_attribute "specific-use", to: :specific_use
20
+ map_content to: :content
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class ObjectId < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :pub_id_type, :string
8
+ attribute :content_type, :string
9
+ attribute :specific_use, :string
10
+ attribute :content, :string, collection: true
11
+
12
+ xml do
13
+ element "object-id"
14
+ mixed_content
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "pub-id-type", to: :pub_id_type
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "specific-use", to: :specific_use
20
+ map_content to: :content
21
+ end
22
+ end
23
+ end
24
+ end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <originator> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <originator> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class Originator < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "originator"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -7,6 +7,7 @@ module Sts
7
7
  attribute :content_type, :string
8
8
  attribute :specific_use, :string
9
9
  attribute :xml_lang, :string
10
+ attribute :id, :string
10
11
 
11
12
  xml do
12
13
  element "page-range"
@@ -15,6 +16,7 @@ module Sts
15
16
  map_attribute "content-type", to: :content_type
16
17
  map_attribute "specific-use", to: :specific_use
17
18
  map_attribute "xml:lang", to: :xml_lang
19
+ map_attribute "id", to: :id
18
20
  end
19
21
  end
20
22
  end
@@ -24,7 +24,7 @@ module Sts
24
24
  collection: true
25
25
  attribute :non_normative_example, ::Sts::IsoSts::NonNormativeExample,
26
26
  collection: true
27
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
27
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
28
28
  attribute :styled_content, ::Sts::IsoSts::StyledContent, collection: true
29
29
  attribute :graphic, ::Sts::IsoSts::Graphic, collection: true
30
30
  attribute :math, Mml::V2::Math, collection: true
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <part-number> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <part-number> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class PartNumber < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "part-number"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Phone < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :content, :string, collection: true
10
+
11
+ xml do
12
+ element "phone"
13
+ mixed_content
14
+
15
+ map_attribute "id", to: :id
16
+ map_attribute "content-type", to: :content_type
17
+ map_attribute "specific-use", to: :specific_use
18
+ map_content to: :content
19
+ end
20
+ end
21
+ end
22
+ end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <proj-id> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <proj-id> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class ProjId < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "proj-id"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -5,12 +5,14 @@ module Sts
5
5
  class PubDate < Lutaml::Model::Serializable
6
6
  attribute :content, :string
7
7
  attribute :pub_type, :string
8
+ attribute :id, :string
8
9
 
9
10
  xml do
10
11
  element "pub-date"
11
12
 
12
13
  map_content to: :content
13
14
  map_attribute "pub-type", to: :pub_type
15
+ map_attribute "id", to: :id
14
16
  end
15
17
  end
16
18
  end
@@ -6,6 +6,7 @@ module Sts
6
6
  attribute :content, :string
7
7
  attribute :pub_id_type, :string
8
8
  attribute :specific_use, :string
9
+ attribute :id, :string
9
10
 
10
11
  xml do
11
12
  element "pub-id"
@@ -13,6 +14,7 @@ module Sts
13
14
  map_content to: :content
14
15
  map_attribute "pub-id-type", to: :pub_id_type
15
16
  map_attribute "specific-use", to: :specific_use
17
+ map_attribute "id", to: :id
16
18
  end
17
19
  end
18
20
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Publisher < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :publisher_name, ::Sts::IsoSts::PublisherName, collection: true
9
+ attribute :publisher_loc, ::Sts::IsoSts::PublisherLoc, collection: true
10
+
11
+ xml do
12
+ element "publisher"
13
+ ordered
14
+
15
+ map_attribute "id", to: :id
16
+ map_attribute "content-type", to: :content_type
17
+
18
+ map_element "publisher-name", to: :publisher_name
19
+ map_element "publisher-loc", to: :publisher_loc
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class PublisherLoc < 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 :email, ::Sts::IsoSts::Email, collection: true
11
+ attribute :ext_link, ::Sts::IsoSts::ExtLink, collection: true
12
+ attribute :uri, ::Sts::IsoSts::Uri, collection: true
13
+
14
+ xml do
15
+ element "publisher-loc"
16
+ mixed_content
17
+
18
+ map_attribute "id", to: :id
19
+ map_attribute "specific-use", to: :specific_use
20
+ map_attribute "xml:lang", to: :xml_lang
21
+
22
+ map_content to: :content
23
+ map_element "email", to: :email
24
+ map_element "ext-link", to: :ext_link
25
+ map_element "uri", to: :uri
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class PublisherName < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :specific_use, :string
8
+ attribute :xml_lang, :string
9
+ attribute :content, :string, collection: true
10
+
11
+ xml do
12
+ element "publisher-name"
13
+ mixed_content
14
+
15
+ map_attribute "id", to: :id
16
+ map_attribute "specific-use", to: :specific_use
17
+ map_attribute "xml:lang", to: :xml_lang
18
+
19
+ map_content to: :content
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <release-version> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <release-version> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class ReleaseVersion < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "release-version"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <sdo> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <sdo> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class Sdo < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "sdo"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Season < 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
+
12
+ xml do
13
+ element "season"
14
+ mixed_content
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "content-type", to: :content_type
18
+ map_attribute "specific-use", to: :specific_use
19
+ map_attribute "xml:lang", to: :xml_lang
20
+ map_content to: :content
21
+ end
22
+ end
23
+ end
24
+ end
@@ -34,9 +34,7 @@ module Sts
34
34
  attribute :sec, ::Sts::IsoSts::Sec, collection: true
35
35
  attribute :term_sec, ::Sts::IsoSts::TermSec, collection: true
36
36
  attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
37
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
38
- attribute :editing_instruction, ::Sts::NisoSts::EditingInstruction,
39
- collection: true
37
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
40
38
  attribute :boxed_text, ::Sts::NisoSts::BoxedText, collection: true
41
39
 
42
40
  xml do # rubocop:disable Metrics/BlockLength
@@ -44,7 +42,7 @@ module Sts
44
42
  ordered
45
43
 
46
44
  map_attribute "id", to: :id
47
- map_attribute "lang", to: :xml_lang
45
+ map_attribute "xml:lang", to: :xml_lang
48
46
  map_attribute "sec-type", to: :sec_type
49
47
  map_attribute "specific-use", to: :specific_use
50
48
  map_attribute "originator", to: :originator
@@ -74,7 +72,6 @@ module Sts
74
72
  map_element "term-sec", to: :term_sec
75
73
  map_element "disp-quote", to: :disp_quote
76
74
  map_element "fn", to: :fn
77
- map_element "editing-instruction", to: :editing_instruction
78
75
  map_element "boxed-text", to: :boxed_text
79
76
  end
80
77
  end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <secretariat> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <secretariat> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class Secretariat < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "secretariat"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -4,7 +4,7 @@ module Sts
4
4
  module IsoSts
5
5
  class Standard < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
- attribute :lang, :string
7
+ attribute :xml_lang, :string
8
8
  attribute :dtd_version, :string
9
9
  attribute :specific_use, :string
10
10
  attribute :front, ::Sts::IsoSts::Front
@@ -21,7 +21,7 @@ module Sts
21
21
  ::Lutaml::Xml::W3c::XlinkNamespace,
22
22
  ]
23
23
  map_attribute "id", to: :id
24
- map_attribute "lang", to: :lang
24
+ map_attribute "xml:lang", to: :xml_lang
25
25
  map_attribute "dtd-version", to: :dtd_version
26
26
  map_attribute "specific-use", to: :specific_use
27
27
 
@@ -11,7 +11,7 @@ module Sts
11
11
  attribute :xml_lang, :string
12
12
  attribute :std_ref, ::Sts::IsoSts::StdRef, collection: true
13
13
  attribute :title, ::Sts::IsoSts::Title
14
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
14
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
15
15
  attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
16
16
  attribute :bold, ::Sts::IsoSts::Bold, collection: true
17
17
  attribute :italic, ::Sts::IsoSts::Italic, collection: true
@@ -4,10 +4,14 @@ module Sts
4
4
  module IsoSts
5
5
  class Sub < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :arrange, :string
8
+ attribute :specific_use, :string
7
9
  attribute :content, :string, collection: true
8
10
  xml do
9
11
  element "sub"
10
12
  map_attribute "id", to: :id
13
+ map_attribute "arrange", to: :arrange
14
+ map_attribute "specific-use", to: :specific_use
11
15
  mixed_content
12
16
 
13
17
  map_content to: :content
@@ -4,10 +4,14 @@ module Sts
4
4
  module IsoSts
5
5
  class Sup < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :arrange, :string
8
+ attribute :specific_use, :string
7
9
  attribute :content, :string, collection: true
8
10
  xml do
9
11
  element "sup"
10
12
  map_attribute "id", to: :id
13
+ map_attribute "arrange", to: :arrange
14
+ map_attribute "specific-use", to: :specific_use
11
15
  mixed_content
12
16
 
13
17
  map_content to: :content
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <suppl-number> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <suppl-number> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class SupplNumber < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "suppl-number"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <suppl-type> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <suppl-type> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class SupplType < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "suppl-type"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <suppl-version> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <suppl-version> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class SupplVersion < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "suppl-version"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -25,7 +25,7 @@ module Sts
25
25
  attribute :def_list, ::Sts::IsoSts::DefList, collection: true
26
26
  attribute :math, Mml::V2::Math, collection: true
27
27
  attribute :std, ::Sts::IsoSts::Std, collection: true
28
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
28
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
29
29
  attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
30
30
  attribute :bold, ::Sts::IsoSts::Bold, collection: true
31
31
  attribute :italic, ::Sts::IsoSts::Italic, collection: true
@@ -27,7 +27,7 @@ module Sts
27
27
  ordered
28
28
 
29
29
  map_attribute "id", to: :id
30
- map_attribute "lang", to: :xml_lang
30
+ map_attribute "xml:lang", to: :xml_lang
31
31
  map_attribute "sec-type", to: :sec_type
32
32
  map_attribute "specific-use", to: :specific_use
33
33
  map_attribute "originator", to: :originator
@@ -25,7 +25,7 @@ module Sts
25
25
  attribute :def_list, ::Sts::IsoSts::DefList, collection: true
26
26
  attribute :math, Mml::V2::Math, collection: true
27
27
  attribute :std, ::Sts::IsoSts::Std, collection: true
28
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
28
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
29
29
  attribute :xref, ::Sts::TbxIsoTml::Xref, collection: true
30
30
  attribute :bold, ::Sts::IsoSts::Bold, collection: true
31
31
  attribute :italic, ::Sts::IsoSts::Italic, collection: true
@@ -4,6 +4,8 @@ module Sts
4
4
  module IsoSts
5
5
  class Title < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
7
9
  attribute :content, :string, collection: true
8
10
  attribute :bold, ::Sts::IsoSts::Bold, collection: true
9
11
  attribute :italic, ::Sts::IsoSts::Italic, collection: true
@@ -20,6 +22,8 @@ module Sts
20
22
  xml do
21
23
  element "title"
22
24
  map_attribute "id", to: :id
25
+ map_attribute "content-type", to: :content_type
26
+ map_attribute "specific-use", to: :specific_use
23
27
  mixed_content
24
28
 
25
29
  map_content to: :content
@@ -3,6 +3,7 @@
3
3
  module Sts
4
4
  module IsoSts
5
5
  class Underline < Lutaml::Model::Serializable
6
+ attribute :underline_style, :string
6
7
  attribute :specific_use, :string
7
8
  attribute :content, :string, collection: true
8
9
  attribute :bold, ::Sts::IsoSts::Bold, collection: true
@@ -14,6 +15,7 @@ module Sts
14
15
  element "underline"
15
16
  mixed_content
16
17
 
18
+ map_attribute "underline-style", to: :underline_style
17
19
  map_attribute "specific-use", to: :specific_use
18
20
  map_content to: :content
19
21
  map_element "bold", to: :bold