sts 0.1.0 → 0.2.0

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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +1 -1
  3. data/.rubocop.yml +12 -0
  4. data/Gemfile +6 -0
  5. data/lib/sts/mapper.rb +442 -0
  6. data/lib/sts/niso_sts/app.rb +49 -0
  7. data/lib/sts/niso_sts/app_group.rb +19 -0
  8. data/lib/sts/niso_sts/back.rb +12 -2
  9. data/lib/sts/niso_sts/body.rb +2 -2
  10. data/lib/sts/niso_sts/caption.rb +47 -0
  11. data/lib/sts/niso_sts/custom_meta.rb +23 -0
  12. data/lib/sts/niso_sts/custom_meta_group.rb +18 -0
  13. data/lib/sts/niso_sts/def.rb +19 -0
  14. data/lib/sts/niso_sts/def_item.rb +24 -0
  15. data/lib/sts/niso_sts/def_list.rb +28 -0
  16. data/lib/sts/niso_sts/display_formula.rb +27 -0
  17. data/lib/sts/niso_sts/document_identification.rb +7 -7
  18. data/lib/sts/niso_sts/ext_link.rb +20 -0
  19. data/lib/sts/niso_sts/figure.rb +40 -0
  20. data/lib/sts/niso_sts/fn.rb +24 -0
  21. data/lib/sts/niso_sts/fn_group.rb +19 -0
  22. data/lib/sts/niso_sts/front.rb +9 -2
  23. data/lib/sts/niso_sts/graphic.rb +29 -0
  24. data/lib/sts/niso_sts/inline_formula.rb +22 -0
  25. data/lib/sts/niso_sts/list.rb +9 -1
  26. data/lib/sts/niso_sts/list_item.rb +25 -0
  27. data/lib/sts/niso_sts/meta_note.rb +24 -0
  28. data/lib/sts/niso_sts/metadata_iso.rb +2 -2
  29. data/lib/sts/niso_sts/metadata_std.rb +59 -0
  30. data/lib/sts/niso_sts/mixed_citation.rb +27 -0
  31. data/lib/sts/niso_sts/non_normative_example.rb +22 -0
  32. data/lib/sts/niso_sts/non_normative_note.rb +4 -2
  33. data/lib/sts/niso_sts/object_id.rb +23 -0
  34. data/lib/sts/niso_sts/page_count.rb +2 -2
  35. data/lib/sts/niso_sts/paragraph.rb +36 -2
  36. data/lib/sts/niso_sts/permissions.rb +20 -0
  37. data/lib/sts/niso_sts/reference.rb +4 -1
  38. data/lib/sts/niso_sts/reference_list.rb +6 -1
  39. data/lib/sts/niso_sts/reference_standard.rb +17 -6
  40. data/lib/sts/niso_sts/section.rb +43 -9
  41. data/lib/sts/niso_sts/standard.rb +14 -1
  42. data/lib/sts/niso_sts/standard_identification.rb +13 -7
  43. data/lib/sts/niso_sts/standard_ref.rb +2 -2
  44. data/lib/sts/niso_sts/std_cross_reference.rb +18 -0
  45. data/lib/sts/niso_sts/std_id.rb +24 -0
  46. data/lib/sts/niso_sts/std_id_group.rb +19 -0
  47. data/lib/sts/niso_sts/term_display.rb +2 -2
  48. data/lib/sts/niso_sts/term_section.rb +10 -3
  49. data/lib/sts/niso_sts/title.rb +22 -0
  50. data/lib/sts/niso_sts/title_wrap.rb +6 -2
  51. data/lib/sts/niso_sts.rb +1 -0
  52. data/lib/sts/tbx_iso_tml/bold.rb +18 -0
  53. data/lib/sts/tbx_iso_tml/caption.rb +17 -0
  54. data/lib/sts/tbx_iso_tml/col.rb +23 -0
  55. data/lib/sts/tbx_iso_tml/definition.rb +24 -1
  56. data/lib/sts/tbx_iso_tml/entailed_term.rb +26 -0
  57. data/lib/sts/tbx_iso_tml/example.rb +16 -1
  58. data/lib/sts/tbx_iso_tml/external_graphic.rb +2 -2
  59. data/lib/sts/tbx_iso_tml/external_source.rb +2 -2
  60. data/lib/sts/tbx_iso_tml/fn.rb +23 -0
  61. data/lib/sts/tbx_iso_tml/fn_group.rb +19 -0
  62. data/lib/sts/tbx_iso_tml/geographical_usage.rb +2 -2
  63. data/lib/sts/tbx_iso_tml/grammatical_gender.rb +2 -2
  64. data/lib/sts/tbx_iso_tml/grammatical_number.rb +2 -2
  65. data/lib/sts/tbx_iso_tml/italic.rb +20 -0
  66. data/lib/sts/tbx_iso_tml/lang_set.rb +11 -7
  67. data/lib/sts/tbx_iso_tml/math.rb +62 -0
  68. data/lib/sts/tbx_iso_tml/mfenced.rb +43 -0
  69. data/lib/sts/tbx_iso_tml/mfrac.rb +33 -0
  70. data/lib/sts/tbx_iso_tml/mi.rb +19 -0
  71. data/lib/sts/tbx_iso_tml/mrow.rb +46 -0
  72. data/lib/sts/tbx_iso_tml/mspace.rb +18 -0
  73. data/lib/sts/tbx_iso_tml/mstyle.rb +29 -0
  74. data/lib/sts/tbx_iso_tml/msub.rb +34 -0
  75. data/lib/sts/tbx_iso_tml/msup.rb +27 -0
  76. data/lib/sts/tbx_iso_tml/munder.rb +20 -0
  77. data/lib/sts/tbx_iso_tml/munderover.rb +24 -0
  78. data/lib/sts/tbx_iso_tml/named_content.rb +20 -0
  79. data/lib/sts/tbx_iso_tml/normative_authorization.rb +2 -2
  80. data/lib/sts/tbx_iso_tml/note.rb +31 -2
  81. data/lib/sts/tbx_iso_tml/part_of_speech.rb +2 -2
  82. data/lib/sts/tbx_iso_tml/see.rb +2 -2
  83. data/lib/sts/tbx_iso_tml/semantics.rb +29 -0
  84. data/lib/sts/tbx_iso_tml/source.rb +6 -1
  85. data/lib/sts/tbx_iso_tml/sup.rb +24 -0
  86. data/lib/sts/tbx_iso_tml/table.rb +32 -0
  87. data/lib/sts/tbx_iso_tml/table_wrap.rb +32 -0
  88. data/lib/sts/tbx_iso_tml/table_wrap_foot.rb +19 -0
  89. data/lib/sts/tbx_iso_tml/tbody.rb +26 -0
  90. data/lib/sts/tbx_iso_tml/td.rb +60 -0
  91. data/lib/sts/tbx_iso_tml/term.rb +31 -2
  92. data/lib/sts/tbx_iso_tml/term_entry.rb +2 -3
  93. data/lib/sts/tbx_iso_tml/term_information_group.rb +5 -2
  94. data/lib/sts/tbx_iso_tml/term_type.rb +2 -2
  95. data/lib/sts/tbx_iso_tml/th.rb +50 -0
  96. data/lib/sts/tbx_iso_tml/thead.rb +26 -0
  97. data/lib/sts/tbx_iso_tml/tr.rb +22 -0
  98. data/lib/sts/tbx_iso_tml/xref.rb +26 -0
  99. data/lib/sts/tbx_iso_tml.rb +8 -0
  100. data/lib/sts/version.rb +1 -1
  101. data/lib/sts.rb +1 -0
  102. data/sts.gemspec +2 -8
  103. metadata +61 -59
@@ -3,13 +3,15 @@
3
3
  require "shale"
4
4
 
5
5
  require_relative "reference_standard"
6
+ require_relative "mixed_citation"
6
7
 
7
8
  module Sts
8
9
  module NisoSts
9
- class Reference < Shale::Mapper
10
+ class Reference < Sts::Mapper
10
11
  attribute :content_type, Shale::Type::String
11
12
  attribute :id, Shale::Type::String
12
13
  attribute :label, Shale::Type::String
14
+ attribute :mixed_citation, MixedCitation
13
15
  attribute :std, ReferenceStandard, collection: true
14
16
 
15
17
  xml do
@@ -18,6 +20,7 @@ module Sts
18
20
  map_attribute "id", to: :id
19
21
  map_element "label", to: :label
20
22
  map_element "std", to: :std
23
+ map_element "mixed-citation", to: :mixed_citation
21
24
  end
22
25
  end
23
26
  end
@@ -6,17 +6,22 @@ require_relative "reference"
6
6
 
7
7
  module Sts
8
8
  module NisoSts
9
- class ReferenceList < Shale::Mapper
9
+ class ReferenceList < Sts::Mapper
10
10
  attribute :content_type, Shale::Type::String
11
11
  attribute :id, Shale::Type::String
12
+ attribute :specific_use, Shale::Type::String
12
13
  attribute :title, Shale::Type::String
14
+ attribute :label, Shale::Type::String
13
15
  attribute :ref, Reference, collection: true
14
16
 
15
17
  xml do
16
18
  root "ref-list"
19
+
17
20
  map_attribute "content-type", to: :content_type
18
21
  map_attribute "id", to: :id
22
+ map_attribute "specific-use", to: :specific_use
19
23
  map_element "title", to: :title
24
+ map_element "label", to: :label
20
25
  map_element "ref", to: :ref
21
26
  end
22
27
  end
@@ -1,23 +1,34 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
+ require_relative "standard_ref"
5
+ require_relative "std_id_group"
6
+ require_relative "../tbx_iso_tml/xref"
4
7
 
5
8
  module Sts
6
9
  module NisoSts
7
- class ReferenceStandard < Shale::Mapper
10
+ class ReferenceStandard < Sts::Mapper
8
11
  attribute :type, Shale::Type::String
9
12
  attribute :std_id, Shale::Type::String
10
13
  attribute :content, Shale::Type::String
11
- # attribute :std_ref, Shale::Type::String
12
- # attribute :title, Shale::Type::String
14
+ attribute :std_ref, StandardRef
15
+ attribute :title, Shale::Type::String
16
+ attribute :std_id_group, StdIdGroup, collection: true
17
+ attribute :xref, Sts::TbxIsoTml::Xref, collection: true
13
18
 
14
19
  xml do
15
20
  root "std"
21
+
16
22
  map_attribute "type", to: :type
17
23
  map_attribute "std-id", to: :std_id
24
+ map_element "std-ref", to: :std_ref, namespace: nil, prefix: nil
25
+ map_element "title", to: :title, namespace: nil, prefix: nil
26
+ map_element "std-id-group", to: :std_id_group,
27
+ namespace: nil,
28
+ prefix: nil
29
+ map_element "xref", to: :xref
30
+
18
31
  map_content to: :content
19
- # map_element "std-ref", to: :std_ref
20
- # map_element "title", to: :title
21
32
  end
22
33
  end
23
34
  end
@@ -1,31 +1,65 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  require_relative "paragraph"
6
6
  require_relative "list"
7
7
  require_relative "term_section"
8
+ require_relative "reference_list"
9
+ require_relative "non_normative_note"
10
+ require_relative "non_normative_example"
11
+ require_relative "figure"
12
+ require_relative "title"
13
+
14
+ require_relative "../tbx_iso_tml/table_wrap"
15
+
16
+ module Sts
17
+ module TbxIsoTml
18
+ class TableWrap < Sts::Mapper; end
19
+ end
20
+ end
8
21
 
9
22
  module Sts
10
23
  module NisoSts
11
- class Section < Shale::Mapper
24
+ class Title < Sts::Mapper; end
25
+
26
+ class Section < Sts::Mapper
12
27
  attribute :id, Shale::Type::String
28
+ attribute :specific_use, Shale::Type::String
13
29
  attribute :label, Shale::Type::String
14
- attribute :title, Shale::Type::String
30
+ attribute :title, Title
15
31
  attribute :type, Shale::Type::String
16
- attribute :p, Paragraph, collection: true
32
+ attribute :paragraphs, Paragraph, collection: true
17
33
  attribute :list, List, collection: true
18
34
  attribute :term_sec, TermSection, collection: true
35
+ attribute :ref_list, ReferenceList, collection: true
36
+ attribute :non_normative_note, NonNormativeNote, collection: true
37
+ attribute :non_normative_example, NonNormativeExample, collection: true
38
+ attribute :sec, Section, collection: true
39
+ attribute :figures, Figure, collection: true
40
+ attribute :fig, Figure, collection: true
41
+
42
+ attribute :table_wrap, Sts::TbxIsoTml::TableWrap, collection: true
19
43
 
20
44
  xml do
21
- root "standard"
22
- map_element "title", to: :title
23
- map_element "label", to: :label
24
- map_attribute "sec-type", to: :type
45
+ root "sec"
46
+
25
47
  map_attribute "id", to: :id
26
- map_element "p", to: :p
48
+ map_attribute "sec-type", to: :type
49
+ map_attribute "specific-use", to: :specific_use
50
+
51
+ map_element "label", to: :label
52
+ map_element "title", to: :title
53
+ map_element "p", to: :paragraphs
54
+ map_element "sec", to: :sec
27
55
  map_element "term-sec", to: :term_sec
28
56
  map_element "list", to: :list
57
+ map_element "figure", to: :figures
58
+ map_element "fig", to: :fig
59
+ map_element "ref-list", to: :ref_list
60
+ map_element "table-wrap", to: :table_wrap
61
+ map_element "non-normative-note", to: :non_normative_note
62
+ map_element "non-normative-example", to: :non_normative_example
29
63
  end
30
64
  end
31
65
  end
@@ -8,13 +8,26 @@ require_relative "back"
8
8
 
9
9
  module Sts
10
10
  module NisoSts
11
- class Standard < Shale::Mapper
11
+ class Standard < Sts::Mapper
12
12
  attribute :front, Front
13
13
  attribute :body, Body
14
14
  attribute :back, Back
15
+ attribute :id, Shale::Type::String
16
+ attribute :lang, Shale::Type::String
17
+ attribute :mml, Shale::Type::String
18
+ attribute :tbx, Shale::Type::String
19
+ attribute :xlink, Shale::Type::String
15
20
 
16
21
  xml do
17
22
  root "standard"
23
+ # namespace "urn:iso:std:iso:30042:ed-1", "tbx"
24
+ # namespace "http://www.w3.org/1998/Math/MathML", "mml"
25
+ # namespace "http://www.w3.org/1999/xlink", "xlink"
26
+
27
+ map_attribute "id", to: :id
28
+ map_attribute "lang", to: :lang,
29
+ namespace: "http://www.w3.org/XML/1998/namespace",
30
+ prefix: "xml"
18
31
  map_element "front", to: :front
19
32
  map_element "body", to: :body
20
33
  map_element "back", to: :back
@@ -1,24 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
+
5
+ require_relative "std_id_group"
4
6
 
5
7
  module Sts
6
8
  module NisoSts
7
- class StandardIdentification < Shale::Mapper
9
+ class StandardIdentification < Sts::Mapper
8
10
  attribute :originator, Shale::Type::String
9
11
  attribute :doc_type, Shale::Type::String
10
12
  attribute :doc_number, Shale::Type::String
11
13
  attribute :edition, Shale::Type::String
12
14
  attribute :version, Shale::Type::String
15
+ attribute :part_number, Shale::Type::String
16
+ attribute :std_id_group, StdIdGroup
13
17
 
14
18
  xml do
15
19
  root "std-iden"
16
20
 
17
- map_element 'originator', to: :originator
18
- map_element 'doc-type', to: :doc_type
19
- map_element 'doc-number', to: :doc_number
20
- map_element 'edition', to: :edition
21
- map_element 'version', to: :version
21
+ map_element "originator", to: :originator
22
+ map_element "doc-type", to: :doc_type
23
+ map_element "doc-number", to: :doc_number
24
+ map_element "edition", to: :edition, render_nil: true
25
+ map_element "version", to: :version, render_nil: true
26
+ map_element "part-number", to: :part_number
27
+ map_element "std-id-group", to: :std_id_group
22
28
  end
23
29
  end
24
30
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  module Sts
6
6
  module NisoSts
7
- class StandardRef < Shale::Mapper
7
+ class StandardRef < Sts::Mapper
8
8
  attribute :type, Shale::Type::String
9
9
  attribute :value, Shale::Type::String
10
10
 
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ module Sts
6
+ module NisoSts
7
+ class StdCrossReference < Sts::Mapper
8
+ attribute :type, Shale::Type::String
9
+ attribute :std_ref, StandardRef, collection: true
10
+
11
+ xml do
12
+ root "iso-meta"
13
+ map_attribute "type", to: :type
14
+ map_element "std-ref", to: :std_ref
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ module Sts
6
+ module NisoSts
7
+ class StdId < Sts::Mapper
8
+ attribute :std_id_link_type, Shale::Type::String
9
+ attribute :std_id_type, Shale::Type::String
10
+ attribute :specific_use, Shale::Type::String
11
+ attribute :content, Shale::Type::String
12
+
13
+ xml do
14
+ root "std-id"
15
+
16
+ map_attribute "std-id-link-type", to: :std_id_link_type
17
+ map_attribute "std-id-type", to: :std_id_type
18
+ map_attribute "specific-use", to: :specific_use
19
+
20
+ map_content to: :content
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ require_relative "std_id"
6
+
7
+ module Sts
8
+ module NisoSts
9
+ class StdIdGroup < Sts::Mapper
10
+ attribute :std_id, StdId, collection: true
11
+
12
+ xml do
13
+ root "std-id-group"
14
+
15
+ map_element "std-id", to: :std_id
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  require_relative "paragraph"
6
6
  require_relative "non_normative_note"
7
7
 
8
8
  module Sts
9
9
  module NisoSts
10
- class TermDisplay < Shale::Mapper
10
+ class TermDisplay < Sts::Mapper
11
11
  attribute :p, Paragraph, collection: true
12
12
  attribute :non_normative_note, NonNormativeNote, collection: true
13
13
 
@@ -1,19 +1,26 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  require_relative "../tbx_iso_tml"
6
6
  require_relative "term_display"
7
+ require_relative "../tbx_iso_tml/term_entry"
7
8
 
8
9
  module Sts
9
10
  module NisoSts
10
- class TermSection < Shale::Mapper
11
- attribute :term_entry, TbxIsoTml::TermEntry # , collection: true
11
+ class TermSection < Sts::Mapper
12
+ attribute :id, Shale::Type::String
13
+ attribute :sec_type, Shale::Type::String
14
+ attribute :label, Shale::Type::String
15
+ attribute :term_entry, Sts::TbxIsoTml::TermEntry # , collection: true
12
16
  attribute :term_display, TermDisplay # , collection: true
13
17
 
14
18
  xml do
15
19
  root "term-sec"
20
+ map_attribute "id", to: :id
21
+ map_attribute "sec-type", to: :sec_type
16
22
 
23
+ map_element "label", to: :label
17
24
  map_element "term-display", to: :term_display
18
25
  map_element "termEntry", to: :term_entry,
19
26
  namespace: "urn:iso:std:iso:30042:ed-1",
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ require_relative "section"
6
+ require_relative "inline_formula"
7
+
8
+ module Sts
9
+ module NisoSts
10
+ class Title < Sts::Mapper
11
+ attribute :content, Shale::Type::String
12
+ attribute :inline_formula, Sts::NisoSts::InlineFormula, collection: true
13
+
14
+ xml do
15
+ root "title"
16
+
17
+ map_content to: :content
18
+ map_element "inline-formula", to: :inline_formula
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,14 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  require_relative "reference_list"
6
6
 
7
7
  module Sts
8
8
  module NisoSts
9
- class TitleWrap < Shale::Mapper
9
+ class TitleWrap < Sts::Mapper
10
+ attribute :intro, Shale::Type::String
10
11
  attribute :main, Shale::Type::String
11
12
  attribute :full, Shale::Type::String
13
+ attribute :compl, Shale::Type::String
12
14
  attribute :lang, Shale::Type::String
13
15
 
14
16
  xml do
@@ -17,8 +19,10 @@ module Sts
17
19
  namespace: "http://www.w3.org/XML/1998/namespace",
18
20
  prefix: "xml"
19
21
 
22
+ map_element "intro", to: :intro
20
23
  map_element "main", to: :main
21
24
  map_element "full", to: :full
25
+ map_element "compl", to: :compl
22
26
  end
23
27
  end
24
28
  end
data/lib/sts/niso_sts.rb CHANGED
@@ -11,6 +11,7 @@ require_relative "niso_sts/front"
11
11
  require_relative "niso_sts/list"
12
12
  require_relative "niso_sts/metadata_iso"
13
13
  require_relative "niso_sts/non_normative_note"
14
+ require_relative "niso_sts/list_item"
14
15
  require_relative "niso_sts/paragraph"
15
16
  require_relative "niso_sts/reference"
16
17
  require_relative "niso_sts/reference_list"
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ module Sts
6
+ module TbxIsoTml
7
+ class Bold < Sts::Mapper
8
+ attribute :value, Shale::Type::String
9
+
10
+ xml do
11
+ root "bold"
12
+ namespace nil, nil
13
+
14
+ map_content to: :value
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ module Sts
6
+ module TbxIsoTml
7
+ class Caption < Sts::Mapper
8
+ attribute :p, Shale::Type::String
9
+
10
+ xml do
11
+ root "caption"
12
+
13
+ map_element "p", to: :p
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ module Sts
6
+ module TbxIsoTml
7
+ class Col < Sts::Mapper
8
+ attribute :width, Sts::TbxIsoTml::Col
9
+ attribute :char, Sts::TbxIsoTml::Col
10
+ attribute :charoff, Sts::TbxIsoTml::Col
11
+ attribute :span, Sts::TbxIsoTml::Col
12
+
13
+ xml do
14
+ root "col"
15
+
16
+ map_attribute "width", to: :width
17
+ map_attribute "char", to: :char
18
+ map_attribute "charoff", to: :charoff
19
+ map_attribute "span", to: :span
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,16 +2,39 @@
2
2
 
3
3
  require "shale"
4
4
 
5
+ require_relative "entailed_term"
6
+ require_relative "note"
7
+ require_relative "italic"
8
+ require_relative "math"
9
+ require_relative "../niso_sts/list"
10
+ require_relative "../niso_sts/reference_standard"
11
+
5
12
  module Sts
6
13
  module TbxIsoTml
7
- class Definition < Shale::Mapper
14
+ class Definition < Sts::Mapper
15
+ attribute :entailed_term, EntailedTerm
16
+ attribute :note, Note
8
17
  attribute :value, Shale::Type::String
18
+ attribute :italic, Italic
19
+ attribute :math, Sts::TbxIsoTml::Math
20
+ attribute :sub, Shale::Type::String
21
+ attribute :list, Sts::NisoSts::List, collection: true
22
+ attribute :std, Sts::NisoSts::ReferenceStandard, collection: true
9
23
 
10
24
  xml do
11
25
  root "definition"
12
26
  namespace "urn:iso:std:iso:30042:ed-1", "tbx"
13
27
 
14
28
  map_content to: :value
29
+ map_element "entailedTerm", to: :entailed_term
30
+ map_element "note", to: :note
31
+ map_element "italic", to: :italic, namespace: nil, prefix: nil
32
+ map_element "sub", to: :sub, namespace: nil, prefix: nil
33
+ map_element "list", to: :list, namespace: nil, prefix: nil
34
+ map_element "std", to: :std, namespace: nil, prefix: nil
35
+ map_element "math", to: :math,
36
+ namespace: "http://www.w3.org/1998/Math/MathML",
37
+ prefix: "mml"
15
38
  end
16
39
  end
17
40
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ module Sts
6
+ module TbxIsoTml
7
+ class EntailedTerm < Sts::Mapper
8
+ attribute :target, Shale::Type::String
9
+ attribute :xtarget, Shale::Type::String
10
+ attribute :lang, Shale::Type::String
11
+ attribute :value, Shale::Type::String
12
+
13
+ xml do
14
+ root "entailedTerm"
15
+ namespace "urn:iso:std:iso:30042:ed-1", "tbx"
16
+
17
+ map_attribute :target, to: :target
18
+ map_attribute :xtarget, to: :xtarget
19
+ map_attribute :lang, to: :lang,
20
+ namespace: "http://www.w3.org/XML/1998/namespace",
21
+ prefix: "xml"
22
+ map_content to: :value
23
+ end
24
+ end
25
+ end
26
+ end
@@ -2,16 +2,31 @@
2
2
 
3
3
  require "shale"
4
4
 
5
+ require_relative "../mapper"
6
+ require_relative "entailed_term"
7
+
8
+ require_relative "../niso_sts/inline_formula"
9
+
5
10
  module Sts
6
11
  module TbxIsoTml
7
- class Example < Shale::Mapper
12
+ class Example < Sts::Mapper
13
+ attribute :id, Shale::Type::String
8
14
  attribute :value, Shale::Type::String
15
+ attribute :entailed_term, EntailedTerm
16
+ attribute :inline_formula, Sts::NisoSts::InlineFormula
9
17
 
10
18
  xml do
11
19
  root "example"
12
20
  namespace "urn:iso:std:iso:30042:ed-1", "tbx"
13
21
 
14
22
  map_content to: :value
23
+
24
+ map_attribute "id", to: :id
25
+
26
+ map_element "entailedTerm", to: :entailed_term
27
+ map_element "inline-formula", to: :inline_formula,
28
+ namespace: nil,
29
+ prefix: nil
15
30
  end
16
31
  end
17
32
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  module Sts
6
6
  module TbxIsoTml
7
- class ExternalGraphic < Shale::Mapper
7
+ class ExternalGraphic < Sts::Mapper
8
8
  attribute :target, Shale::Type::String
9
9
 
10
10
  xml do
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  module Sts
6
6
  module TbxIsoTml
7
- class ExternalSource < Shale::Mapper
7
+ class ExternalSource < Sts::Mapper
8
8
  attribute :target, Shale::Type::String
9
9
  attribute :value, Shale::Type::String
10
10
 
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "shale"
4
+
5
+ require_relative "../niso_sts/paragraph"
6
+
7
+ module Sts
8
+ module TbxIsoTml
9
+ class Fn < Sts::Mapper
10
+ attribute :id, Shale::Type::String
11
+ attribute :label, Shale::Type::String
12
+ attribute :p, Sts::NisoSts::Paragraph
13
+
14
+ xml do
15
+ root "fn"
16
+
17
+ map_attribute "id", to: :id
18
+ map_element "label", to: :label
19
+ map_element "p", to: :p
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../mapper"
4
+
5
+ require_relative "fn"
6
+
7
+ module Sts
8
+ module TbxIsoTml
9
+ class FnGroup < Sts::Mapper
10
+ attribute :fn, Sts::TbxIsoTml::Fn, collection: true
11
+
12
+ xml do
13
+ root "fn-group"
14
+
15
+ map_element "fn", to: :fn
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "shale"
3
+ require_relative "../mapper"
4
4
 
5
5
  module Sts
6
6
  module TbxIsoTml
7
- class GeographicalUsage < Shale::Mapper
7
+ class GeographicalUsage < Sts::Mapper
8
8
  attribute :value, Shale::Type::String
9
9
 
10
10
  xml do