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
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Annotation < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :paragraph, ::Sts::IsoSts::Paragraph, collection: true
11
+ attribute :non_normative_note, ::Sts::IsoSts::NonNormativeNote,
12
+ collection: true
13
+ attribute :non_normative_example, ::Sts::IsoSts::NonNormativeExample,
14
+ collection: true
15
+
16
+ xml do
17
+ element "annotation"
18
+ ordered
19
+
20
+ map_attribute "id", to: :id
21
+ map_attribute "content-type", to: :content_type
22
+ map_attribute "specific-use", to: :specific_use
23
+ map_attribute "xml:lang", to: :xml_lang
24
+
25
+ map_element "p", to: :paragraph
26
+ map_element "non-normative-note", to: :non_normative_note
27
+ map_element "non-normative-example", to: :non_normative_example
28
+ end
29
+ end
30
+ end
31
+ end
@@ -5,6 +5,7 @@ module Sts
5
5
  class Body < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
7
  attribute :content_type, :string
8
+ attribute :specific_use, :string
8
9
  attribute :paragraph, ::Sts::IsoSts::Paragraph, collection: true
9
10
  attribute :sec, ::Sts::IsoSts::Sec, collection: true
10
11
  attribute :term_sec, ::Sts::IsoSts::TermSec, collection: true
@@ -22,8 +23,6 @@ module Sts
22
23
  attribute :array, ::Sts::IsoSts::Array, collection: true
23
24
  attribute :ref_list, ::Sts::IsoSts::RefList, collection: true
24
25
  attribute :disp_quote, ::Sts::NisoSts::DispQuote, collection: true
25
- attribute :editing_instruction, ::Sts::NisoSts::EditingInstruction,
26
- collection: true
27
26
 
28
27
  xml do
29
28
  element "body"
@@ -31,6 +30,7 @@ module Sts
31
30
 
32
31
  map_attribute "id", to: :id
33
32
  map_attribute "content-type", to: :content_type
33
+ map_attribute "specific-use", to: :specific_use
34
34
 
35
35
  map_element "p", to: :paragraph
36
36
  map_element "sec", to: :sec
@@ -47,7 +47,6 @@ module Sts
47
47
  map_element "array", to: :array
48
48
  map_element "ref-list", to: :ref_list
49
49
  map_element "disp-quote", to: :disp_quote
50
- map_element "editing-instruction", to: :editing_instruction
51
50
  end
52
51
  end
53
52
  end
@@ -22,7 +22,7 @@ module Sts
22
22
  attribute :sc, ::Sts::IsoSts::Sc, collection: true
23
23
  attribute :strike, ::Sts::IsoSts::Strike, collection: true
24
24
  attribute :underline, ::Sts::IsoSts::Underline, collection: true
25
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
25
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
26
26
 
27
27
  xml do
28
28
  element "bold"
@@ -4,6 +4,9 @@ module Sts
4
4
  module IsoSts
5
5
  class CopyrightHolder < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
7
10
  attribute :content, :string, collection: true
8
11
  attribute :sub, ::Sts::IsoSts::Sub
9
12
  attribute :sup, ::Sts::IsoSts::Sup
@@ -11,6 +14,9 @@ module Sts
11
14
  xml do
12
15
  element "copyright-holder"
13
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
14
20
  mixed_content
15
21
 
16
22
  map_content to: :content
@@ -4,6 +4,9 @@ module Sts
4
4
  module IsoSts
5
5
  class CopyrightStatement < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
7
10
  attribute :content, :string, collection: true
8
11
  attribute :bold, ::Sts::IsoSts::Bold
9
12
  attribute :italic, ::Sts::IsoSts::Italic
@@ -13,6 +16,9 @@ module Sts
13
16
  xml do
14
17
  element "copyright-statement"
15
18
  map_attribute "id", to: :id
19
+ map_attribute "content-type", to: :content_type
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "xml:lang", to: :xml_lang
16
22
  mixed_content
17
23
 
18
24
  map_content to: :content
@@ -4,12 +4,16 @@ module Sts
4
4
  module IsoSts
5
5
  class CopyrightYear < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
7
9
  attribute :content, :string
8
10
 
9
11
  xml do
10
12
  element "copyright-year"
11
13
 
12
14
  map_attribute "id", to: :id
15
+ map_attribute "content-type", to: :content_type
16
+ map_attribute "specific-use", to: :specific_use
13
17
 
14
18
  map_content to: :content
15
19
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Country < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :country, :string
9
+ attribute :specific_use, :string
10
+ attribute :xml_lang, :string
11
+ attribute :content, :string, collection: true
12
+
13
+ xml do
14
+ element "country"
15
+ mixed_content
16
+
17
+ map_attribute "id", to: :id
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "country", to: :country
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "xml:lang", to: :xml_lang
22
+ map_content to: :content
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Day < 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 "day"
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
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <doc-number> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <doc-number> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class DocNumber < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "doc-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 <doc-type> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <doc-type> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class DocType < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "doc-type"
11
13
 
12
14
  map_content to: :content
15
+ map_attribute "id", to: :id
13
16
  end
14
17
  end
15
18
  end
@@ -4,10 +4,16 @@ module Sts
4
4
  module IsoSts
5
5
  class Edition < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
7
10
  attribute :content, :string, collection: true
8
11
  xml do
9
12
  element "edition"
10
13
  map_attribute "id", to: :id
14
+ map_attribute "content-type", to: :content_type
15
+ map_attribute "specific-use", to: :specific_use
16
+ map_attribute "xml:lang", to: :xml_lang
11
17
  mixed_content
12
18
 
13
19
  map_content to: :content
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Email < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :xlink_type, :string
11
+ attribute :xlink_href, :string
12
+ attribute :xlink_role, :string
13
+ attribute :xlink_title, :string
14
+ attribute :xlink_show, :string
15
+ attribute :xlink_actuate, :string
16
+ attribute :content, :string, collection: true
17
+
18
+ xml do
19
+ element "email"
20
+ mixed_content
21
+
22
+ map_attribute "id", to: :id
23
+ map_attribute "content-type", to: :content_type
24
+ map_attribute "specific-use", to: :specific_use
25
+ map_attribute "xml:lang", to: :xml_lang
26
+ map_attribute "xlink:type", to: :xlink_type
27
+ map_attribute "xlink:href", to: :xlink_href
28
+ map_attribute "xlink:role", to: :xlink_role
29
+ map_attribute "xlink:title", to: :xlink_title
30
+ map_attribute "xlink:show", to: :xlink_show
31
+ map_attribute "xlink:actuate", to: :xlink_actuate
32
+
33
+ map_content to: :content
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Etal < 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 "etal"
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
+ map_content to: :content
19
+ end
20
+ end
21
+ end
22
+ end
@@ -8,6 +8,11 @@ module Sts
8
8
  attribute :specific_use, :string
9
9
  attribute :xml_lang, :string
10
10
  attribute :xlink_href, :string
11
+ attribute :xlink_type, :string
12
+ attribute :xlink_role, :string
13
+ attribute :xlink_title, :string
14
+ attribute :xlink_show, :string
15
+ attribute :xlink_actuate, :string
11
16
  attribute :content, :string
12
17
  attribute :bold, ::Sts::IsoSts::Bold
13
18
  attribute :italic, ::Sts::IsoSts::Italic
@@ -21,6 +26,11 @@ module Sts
21
26
  map_attribute "specific-use", to: :specific_use
22
27
  map_attribute "xml:lang", to: :xml_lang
23
28
  map_attribute "xlink:href", to: :xlink_href
29
+ map_attribute "xlink:type", to: :xlink_type
30
+ map_attribute "xlink:role", to: :xlink_role
31
+ map_attribute "xlink:title", to: :xlink_title
32
+ map_attribute "xlink:show", to: :xlink_show
33
+ map_attribute "xlink:actuate", to: :xlink_actuate
24
34
 
25
35
  map_content to: :content
26
36
 
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Fax < 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 "fax"
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
@@ -8,6 +8,7 @@ module Sts
8
8
  attribute :seq, :string
9
9
  attribute :specific_use, :string
10
10
  attribute :xml_lang, :string
11
+ attribute :id, :string
11
12
 
12
13
  xml do
13
14
  element "fpage"
@@ -17,6 +18,7 @@ module Sts
17
18
  map_attribute "seq", to: :seq
18
19
  map_attribute "specific-use", to: :specific_use
19
20
  map_attribute "xml:lang", to: :xml_lang
21
+ map_attribute "id", to: :id
20
22
  end
21
23
  end
22
24
  end
@@ -4,7 +4,6 @@ module Sts
4
4
  module IsoSts
5
5
  class Front < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
- attribute :std_meta, ::Sts::NisoSts::MetadataStd
8
7
  attribute :iso_meta, ::Sts::IsoSts::IsoMeta
9
8
  attribute :reg_meta, ::Sts::IsoSts::RegMeta, collection: true
10
9
  attribute :nat_meta, ::Sts::IsoSts::NatMeta, collection: true
@@ -15,7 +14,6 @@ module Sts
15
14
  map_attribute "id", to: :id
16
15
  ordered
17
16
 
18
- map_element "std-meta", to: :std_meta
19
17
  map_element "iso-meta", to: :iso_meta
20
18
  map_element "reg-meta", to: :reg_meta
21
19
  map_element "nat-meta", to: :nat_meta
@@ -13,7 +13,12 @@ module Sts
13
13
  attribute :mime_subtype, :string
14
14
  attribute :xlink_href, :string
15
15
  attribute :xlink_type, :string
16
+ attribute :xlink_role, :string
17
+ attribute :xlink_title, :string
18
+ attribute :xlink_show, :string
19
+ attribute :xlink_actuate, :string
16
20
  attribute :graphic_type, :string
21
+ attribute :originator, :string
17
22
  attribute :label, ::Sts::IsoSts::Label
18
23
  attribute :caption, ::Sts::IsoSts::Caption
19
24
  attribute :alt_text, ::Sts::IsoSts::AltText
@@ -33,7 +38,12 @@ module Sts
33
38
  map_attribute "mime-subtype", to: :mime_subtype
34
39
  map_attribute "xlink:href", to: :xlink_href
35
40
  map_attribute "xlink:type", to: :xlink_type
41
+ map_attribute "xlink:role", to: :xlink_role
42
+ map_attribute "xlink:title", to: :xlink_title
43
+ map_attribute "xlink:show", to: :xlink_show
44
+ map_attribute "xlink:actuate", to: :xlink_actuate
36
45
  map_attribute "type", to: :graphic_type
46
+ map_attribute "originator", to: :originator
37
47
 
38
48
  map_element "label", to: :label
39
49
  map_element "caption", to: :caption
@@ -2,14 +2,17 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <ics> as type="xs:string" -- no attributes.
5
+ # ISOSTS declares <ics> as type="xs:string". The @id follows the
6
+ # NisoSts convention established in 86948b9, not ISOSTS itself.
6
7
  class Ics < Lutaml::Model::Serializable
7
8
  attribute :content, :string
9
+ attribute :id, :string
8
10
 
9
11
  xml do
10
12
  element "ics"
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,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class InlineGraphic < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :baseline_shift, :string
9
+ attribute :mimetype, :string
10
+ attribute :mime_subtype, :string
11
+ attribute :specific_use, :string
12
+ attribute :xml_lang, :string
13
+ attribute :xlink_type, :string
14
+ attribute :xlink_href, :string
15
+ attribute :xlink_role, :string
16
+ attribute :xlink_title, :string
17
+ attribute :xlink_show, :string
18
+ attribute :xlink_actuate, :string
19
+ attribute :alt_text, ::Sts::IsoSts::AltText
20
+
21
+ xml do
22
+ element "inline-graphic"
23
+
24
+ map_attribute "id", to: :id
25
+ map_attribute "content-type", to: :content_type
26
+ map_attribute "baseline-shift", to: :baseline_shift
27
+ map_attribute "mimetype", to: :mimetype
28
+ map_attribute "mime-subtype", to: :mime_subtype
29
+ map_attribute "specific-use", to: :specific_use
30
+ map_attribute "xml:lang", to: :xml_lang
31
+ map_attribute "xlink:type", to: :xlink_type
32
+ map_attribute "xlink:href", to: :xlink_href
33
+ map_attribute "xlink:role", to: :xlink_role
34
+ map_attribute "xlink:title", to: :xlink_title
35
+ map_attribute "xlink:show", to: :xlink_show
36
+ map_attribute "xlink:actuate", to: :xlink_actuate
37
+
38
+ map_element "alt-text", to: :alt_text
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class Institution < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :content_type, :string
8
+ attribute :specific_use, :string
9
+ attribute :xml_lang, :string
10
+ attribute :xlink_type, :string
11
+ attribute :xlink_href, :string
12
+ attribute :xlink_role, :string
13
+ attribute :xlink_title, :string
14
+ attribute :xlink_show, :string
15
+ attribute :xlink_actuate, :string
16
+ attribute :content, :string, collection: true
17
+ attribute :sub, ::Sts::IsoSts::Sub, collection: true
18
+ attribute :sup, ::Sts::IsoSts::Sup, collection: true
19
+
20
+ xml do
21
+ element "institution"
22
+ mixed_content
23
+
24
+ map_attribute "id", to: :id
25
+ map_attribute "content-type", to: :content_type
26
+ map_attribute "specific-use", to: :specific_use
27
+ map_attribute "xml:lang", to: :xml_lang
28
+ map_attribute "xlink:type", to: :xlink_type
29
+ map_attribute "xlink:href", to: :xlink_href
30
+ map_attribute "xlink:role", to: :xlink_role
31
+ map_attribute "xlink:title", to: :xlink_title
32
+ map_attribute "xlink:show", to: :xlink_show
33
+ map_attribute "xlink:actuate", to: :xlink_actuate
34
+
35
+ map_content to: :content
36
+ map_element "sub", to: :sub
37
+ map_element "sup", to: :sup
38
+ end
39
+ end
40
+ end
41
+ end
@@ -2,11 +2,16 @@
2
2
 
3
3
  module Sts
4
4
  module IsoSts
5
- # ISOSTS declares <is-proof> as an empty complexType: its presence is the
6
- # whole signal -- no attributes, no content.
5
+ # ISOSTS declares <is-proof> as an empty complexType: its presence carries
6
+ # no content. The @id follows the NisoSts convention established in 86948b9,
7
+ # not ISOSTS itself.
7
8
  class IsProof < Lutaml::Model::Serializable
9
+ attribute :id, :string
10
+
8
11
  xml do
9
12
  element "is-proof"
13
+
14
+ map_attribute "id", to: :id
10
15
  end
11
16
  end
12
17
  end
@@ -8,6 +8,7 @@ module Sts
8
8
  attribute :seq, :string
9
9
  attribute :specific_use, :string
10
10
  attribute :xml_lang, :string
11
+ attribute :id, :string
11
12
 
12
13
  xml do
13
14
  element "issue"
@@ -17,6 +18,7 @@ module Sts
17
18
  map_attribute "seq", to: :seq
18
19
  map_attribute "specific-use", to: :specific_use
19
20
  map_attribute "xml:lang", to: :xml_lang
21
+ map_attribute "id", to: :id
20
22
  end
21
23
  end
22
24
  end
@@ -22,7 +22,7 @@ module Sts
22
22
  attribute :sc, ::Sts::IsoSts::Sc, collection: true
23
23
  attribute :strike, ::Sts::IsoSts::Strike, collection: true
24
24
  attribute :underline, ::Sts::IsoSts::Underline, collection: true
25
- attribute :fn, ::Sts::TbxIsoTml::Fn, collection: true
25
+ attribute :fn, ::Sts::IsoSts::Fn, collection: true
26
26
 
27
27
  xml do
28
28
  element "italic"
@@ -4,6 +4,8 @@ module Sts
4
4
  module IsoSts
5
5
  class Label < Lutaml::Model::Serializable
6
6
  attribute :id, :string
7
+ attribute :alt, :string
8
+ attribute :xml_lang, :string
7
9
  attribute :content, :string, collection: true
8
10
  attribute :bold, ::Sts::IsoSts::Bold
9
11
  attribute :italic, ::Sts::IsoSts::Italic
@@ -19,6 +21,8 @@ module Sts
19
21
  xml do
20
22
  element "label"
21
23
  map_attribute "id", to: :id
24
+ map_attribute "alt", to: :alt
25
+ map_attribute "xml:lang", to: :xml_lang
22
26
  mixed_content
23
27
 
24
28
  map_content to: :content
@@ -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 "lpage"
@@ -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
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class MilestoneEnd < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :rid, :string
8
+ attribute :content_type, :string
9
+ attribute :rationale, :string
10
+ attribute :specific_use, :string
11
+ attribute :xml_lang, :string
12
+
13
+ xml do
14
+ element "milestone-end"
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "rid", to: :rid
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "rationale", to: :rationale
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "xml:lang", to: :xml_lang
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sts
4
+ module IsoSts
5
+ class MilestoneStart < Lutaml::Model::Serializable
6
+ attribute :id, :string
7
+ attribute :rid, :string
8
+ attribute :content_type, :string
9
+ attribute :rationale, :string
10
+ attribute :specific_use, :string
11
+ attribute :xml_lang, :string
12
+
13
+ xml do
14
+ element "milestone-start"
15
+
16
+ map_attribute "id", to: :id
17
+ map_attribute "rid", to: :rid
18
+ map_attribute "content-type", to: :content_type
19
+ map_attribute "rationale", to: :rationale
20
+ map_attribute "specific-use", to: :specific_use
21
+ map_attribute "xml:lang", to: :xml_lang
22
+ end
23
+ end
24
+ end
25
+ end