reqif 0.1.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 (79) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rake.yml +18 -0
  3. data/.github/workflows/release.yml +25 -0
  4. data/.gitignore +11 -0
  5. data/.rspec +3 -0
  6. data/.rubocop.yml +8 -0
  7. data/Gemfile +13 -0
  8. data/README.adoc +73 -0
  9. data/Rakefile +12 -0
  10. data/bin/console +11 -0
  11. data/bin/setup +8 -0
  12. data/lib/reqif/alternative_id.rb +14 -0
  13. data/lib/reqif/attribute_definition_boolean.rb +28 -0
  14. data/lib/reqif/attribute_definition_date.rb +28 -0
  15. data/lib/reqif/attribute_definition_enumeration.rb +30 -0
  16. data/lib/reqif/attribute_definition_integer.rb +28 -0
  17. data/lib/reqif/attribute_definition_real.rb +28 -0
  18. data/lib/reqif/attribute_definition_string.rb +28 -0
  19. data/lib/reqif/attribute_definition_xhtml.rb +28 -0
  20. data/lib/reqif/attribute_value_boolean.rb +16 -0
  21. data/lib/reqif/attribute_value_date.rb +16 -0
  22. data/lib/reqif/attribute_value_enumeration.rb +16 -0
  23. data/lib/reqif/attribute_value_integer.rb +16 -0
  24. data/lib/reqif/attribute_value_real.rb +16 -0
  25. data/lib/reqif/attribute_value_string.rb +16 -0
  26. data/lib/reqif/attribute_value_xhtml.rb +20 -0
  27. data/lib/reqif/children.rb +14 -0
  28. data/lib/reqif/core_content.rb +14 -0
  29. data/lib/reqif/datatype_definition_boolean.rb +22 -0
  30. data/lib/reqif/datatype_definition_date.rb +22 -0
  31. data/lib/reqif/datatype_definition_enumeration.rb +24 -0
  32. data/lib/reqif/datatype_definition_integer.rb +26 -0
  33. data/lib/reqif/datatype_definition_real.rb +28 -0
  34. data/lib/reqif/datatype_definition_string.rb +24 -0
  35. data/lib/reqif/datatype_definition_xhtml.rb +22 -0
  36. data/lib/reqif/datatypes.rb +26 -0
  37. data/lib/reqif/default_value.rb +27 -0
  38. data/lib/reqif/definition.rb +27 -0
  39. data/lib/reqif/editable_atts.rb +26 -0
  40. data/lib/reqif/embedded_value.rb +16 -0
  41. data/lib/reqif/enum_value.rb +24 -0
  42. data/lib/reqif/object.rb +14 -0
  43. data/lib/reqif/properties.rb +14 -0
  44. data/lib/reqif/relation_group.rb +30 -0
  45. data/lib/reqif/relation_group_type.rb +24 -0
  46. data/lib/reqif/req_if.rb +18 -0
  47. data/lib/reqif/req_if_content.rb +24 -0
  48. data/lib/reqif/req_if_header.rb +28 -0
  49. data/lib/reqif/req_if_tool_extension.rb +10 -0
  50. data/lib/reqif/source.rb +14 -0
  51. data/lib/reqif/source_specification.rb +14 -0
  52. data/lib/reqif/spec_attributes.rb +26 -0
  53. data/lib/reqif/spec_hierarchy.rb +32 -0
  54. data/lib/reqif/spec_object.rb +26 -0
  55. data/lib/reqif/spec_object_type.rb +24 -0
  56. data/lib/reqif/spec_objects.rb +14 -0
  57. data/lib/reqif/spec_relation.rb +30 -0
  58. data/lib/reqif/spec_relation_groups.rb +14 -0
  59. data/lib/reqif/spec_relation_type.rb +24 -0
  60. data/lib/reqif/spec_relations.rb +17 -0
  61. data/lib/reqif/spec_types.rb +20 -0
  62. data/lib/reqif/specification.rb +28 -0
  63. data/lib/reqif/specification_type.rb +24 -0
  64. data/lib/reqif/specifications.rb +14 -0
  65. data/lib/reqif/specified_values.rb +14 -0
  66. data/lib/reqif/target.rb +14 -0
  67. data/lib/reqif/target_specification.rb +14 -0
  68. data/lib/reqif/the_header.rb +14 -0
  69. data/lib/reqif/tool_extensions.rb +14 -0
  70. data/lib/reqif/type.rb +35 -0
  71. data/lib/reqif/values.rb +30 -0
  72. data/lib/reqif/version.rb +5 -0
  73. data/lib/reqif/xhtml_content.rb +10 -0
  74. data/lib/reqif.rb +22 -0
  75. data/references/driver.xsd +270 -0
  76. data/references/reqif.xsd +893 -0
  77. data/reqif.gemspec +36 -0
  78. data/sig/reqif.rbs +4 -0
  79. metadata +151 -0
@@ -0,0 +1,26 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class DatatypeDefinitionInteger < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :max, :integer
10
+ attribute :min, :integer
11
+ attribute :alternative_id, AlternativeId
12
+
13
+ xml do
14
+ root "DATATYPE-DEFINITION-INTEGER"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ map_attribute "DESC", to: :desc
18
+ map_attribute "IDENTIFIER", to: :identifier
19
+ map_attribute "LAST-CHANGE", to: :last_change
20
+ map_attribute "LONG-NAME", to: :long_name
21
+ map_attribute "MAX", to: :max
22
+ map_attribute "MIN", to: :min
23
+ map_element "ALTERNATIVE-ID", to: :alternative_id
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class DatatypeDefinitionReal < Lutaml::Model::Serializable
5
+ attribute :accuracy, :integer
6
+ attribute :desc, :string
7
+ attribute :identifier, :string
8
+ attribute :last_change, :time
9
+ attribute :long_name, :string
10
+ attribute :max, :float
11
+ attribute :min, :float
12
+ attribute :alternative_id, AlternativeId
13
+
14
+ xml do
15
+ root "DATATYPE-DEFINITION-REAL"
16
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
17
+
18
+ map_attribute "ACCURACY", to: :accuracy
19
+ map_attribute "DESC", to: :desc
20
+ map_attribute "IDENTIFIER", to: :identifier
21
+ map_attribute "LAST-CHANGE", to: :last_change
22
+ map_attribute "LONG-NAME", to: :long_name
23
+ map_attribute "MAX", to: :max
24
+ map_attribute "MIN", to: :min
25
+ map_element "ALTERNATIVE-ID", to: :alternative_id
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class DatatypeDefinitionString < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :max_length, :integer
10
+ attribute :alternative_id, AlternativeId
11
+
12
+ xml do
13
+ root "DATATYPE-DEFINITION-STRING"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_attribute "DESC", to: :desc
17
+ map_attribute "IDENTIFIER", to: :identifier
18
+ map_attribute "LAST-CHANGE", to: :last_change
19
+ map_attribute "LONG-NAME", to: :long_name
20
+ map_attribute "MAX-LENGTH", to: :max_length
21
+ map_element "ALTERNATIVE-ID", to: :alternative_id
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class DatatypeDefinitionXhtml < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+
11
+ xml do
12
+ root "DATATYPE-DEFINITION-XHTML"
13
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
14
+
15
+ map_attribute "DESC", to: :desc
16
+ map_attribute "IDENTIFIER", to: :identifier
17
+ map_attribute "LAST-CHANGE", to: :last_change
18
+ map_attribute "LONG-NAME", to: :long_name
19
+ map_element "ALTERNATIVE-ID", to: :alternative_id
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Datatypes < Lutaml::Model::Serializable
5
+ attribute :datatype_definition_boolean, DatatypeDefinitionBoolean, collection: true
6
+ attribute :datatype_definition_date, DatatypeDefinitionDate, collection: true
7
+ attribute :datatype_definition_enumeration, DatatypeDefinitionEnumeration, collection: true
8
+ attribute :datatype_definition_integer, DatatypeDefinitionInteger, collection: true
9
+ attribute :datatype_definition_real, DatatypeDefinitionReal, collection: true
10
+ attribute :datatype_definition_string, DatatypeDefinitionString, collection: true
11
+ attribute :datatype_definition_xhtml, DatatypeDefinitionXhtml, collection: true
12
+
13
+ xml do
14
+ root "DATATYPES"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ map_element "DATATYPE-DEFINITION-BOOLEAN", to: :datatype_definition_boolean
18
+ map_element "DATATYPE-DEFINITION-DATE", to: :datatype_definition_date
19
+ map_element "DATATYPE-DEFINITION-ENUMERATION", to: :datatype_definition_enumeration
20
+ map_element "DATATYPE-DEFINITION-INTEGER", to: :datatype_definition_integer
21
+ map_element "DATATYPE-DEFINITION-REAL", to: :datatype_definition_real
22
+ map_element "DATATYPE-DEFINITION-STRING", to: :datatype_definition_string
23
+ map_element "DATATYPE-DEFINITION-XHTML", to: :datatype_definition_xhtml
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class DefaultValue < Lutaml::Model::Serializable
5
+ attribute :attribute_value_boolean, AttributeValueBoolean
6
+ attribute :attribute_value_date, AttributeValueDate
7
+ attribute :attribute_value_enumeration, AttributeValueEnumeration
8
+ attribute :attribute_value_integer, AttributeValueInteger
9
+ attribute :attribute_value_real, AttributeValueReal
10
+ attribute :attribute_value_string, AttributeValueString
11
+ attribute :attribute_value_xhtml, AttributeValueXhtml
12
+
13
+ xml do
14
+ root "DEFAULT-VALUE"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ # TODO: Only one of these values can be active at the same time
18
+ map_element "ATTRIBUTE-VALUE-BOOLEAN", to: :attribute_value_boolean
19
+ map_element "ATTRIBUTE-VALUE-DATE", to: :attribute_value_date
20
+ map_element "ATTRIBUTE-VALUE-ENUMERATION", to: :attribute_value_enumeration
21
+ map_element "ATTRIBUTE-VALUE-INTEGER", to: :attribute_value_integer
22
+ map_element "ATTRIBUTE-VALUE-REAL", to: :attribute_value_real
23
+ map_element "ATTRIBUTE-VALUE-STRING", to: :attribute_value_string
24
+ map_element "ATTRIBUTE-VALUE-XHTML", to: :attribute_value_xhtml
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Definition < Lutaml::Model::Serializable
5
+ attribute :attribute_definition_boolean_ref, :string
6
+ attribute :attribute_definition_date_ref, :string
7
+ attribute :attribute_definition_enumeration_ref, :string
8
+ attribute :attribute_definition_integer_ref, :string
9
+ attribute :attribute_definition_real_ref, :string
10
+ attribute :attribute_definition_string_ref, :string
11
+ attribute :attribute_definition_xhtml_ref, :string
12
+
13
+ xml do
14
+ root "DEFINITION"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ # TODO: Only one of these values can be active at the same time
18
+ map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF", to: :attribute_definition_boolean_ref
19
+ map_element "ATTRIBUTE-DEFINITION-DATE-REF", to: :attribute_definition_date_ref
20
+ map_element "ATTRIBUTE-DEFINITION-ENUMERATION-REF", to: :attribute_definition_enumeration_ref
21
+ map_element "ATTRIBUTE-DEFINITION-INTEGER-REF", to: :attribute_definition_integer_ref
22
+ map_element "ATTRIBUTE-DEFINITION-REAL-REF", to: :attribute_definition_real_ref
23
+ map_element "ATTRIBUTE-DEFINITION-STRING-REF", to: :attribute_definition_string_ref
24
+ map_element "ATTRIBUTE-DEFINITION-XHTML-REF", to: :attribute_definition_xhtml_ref
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,26 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class EditableAtts < Lutaml::Model::Serializable
5
+ attribute :attribute_definition_boolean_ref, :string, collection: true
6
+ attribute :attribute_definition_date_ref, :string, collection: true
7
+ attribute :attribute_definition_enumeration_ref, :string, collection: true
8
+ attribute :attribute_definition_integer_ref, :string, collection: true
9
+ attribute :attribute_definition_real_ref, :string, collection: true
10
+ attribute :attribute_definition_string_ref, :string, collection: true
11
+ attribute :attribute_definition_xhtml_ref, :string, collection: true
12
+
13
+ xml do
14
+ root "EDITABLE-ATTS"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ map_element "ATTRIBUTE-DEFINITION-BOOLEAN-REF", to: :attribute_definition_boolean_ref
18
+ map_element "ATTRIBUTE-DEFINITION-DATE-REF", to: :attribute_definition_date_ref
19
+ map_element "ATTRIBUTE-DEFINITION-ENUMERATION-REF", to: :attribute_definition_enumeration_ref
20
+ map_element "ATTRIBUTE-DEFINITION-INTEGER-REF", to: :attribute_definition_integer_ref
21
+ map_element "ATTRIBUTE-DEFINITION-REAL-REF", to: :attribute_definition_real_ref
22
+ map_element "ATTRIBUTE-DEFINITION-STRING-REF", to: :attribute_definition_string_ref
23
+ map_element "ATTRIBUTE-DEFINITION-XHTML-REF", to: :attribute_definition_xhtml_ref
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class EmbeddedValue < Lutaml::Model::Serializable
5
+ attribute :key, :integer
6
+ attribute :other_content, :string
7
+
8
+ xml do
9
+ root "EMBEDDED-VALUE"
10
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
11
+
12
+ map_attribute "KEY", to: :key
13
+ map_attribute "OTHER-CONTENT", to: :other_content
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class EnumValue < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :properties, Properties
11
+
12
+ xml do
13
+ root "ENUM-VALUE"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_attribute "DESC", to: :desc
17
+ map_attribute "IDENTIFIER", to: :identifier
18
+ map_attribute "LAST-CHANGE", to: :last_change
19
+ map_attribute "LONG-NAME", to: :long_name
20
+ map_element "ALTERNATIVE-ID", to: :alternative_id
21
+ map_element "PROPERTIES", to: :properties
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Object < Lutaml::Model::Serializable
5
+ attribute :spec_object_ref, :string
6
+
7
+ xml do
8
+ root "OBJECT"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPEC-OBJECT-REF", to: :spec_object_ref
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Properties < Lutaml::Model::Serializable
5
+ attribute :embedded_value, EmbeddedValue
6
+
7
+ xml do
8
+ root "PROPERTIES"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "EMBEDDED-VALUE", to: :embedded_value
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class RelationGroup < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :source_specification, SourceSpecification
11
+ attribute :spec_relations, SpecRelations
12
+ attribute :target_specification, TargetSpecification
13
+ attribute :type, Type
14
+
15
+ xml do
16
+ root "RELATION-GROUP"
17
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
18
+
19
+ map_attribute "DESC", to: :desc
20
+ map_attribute "IDENTIFIER", to: :identifier
21
+ map_attribute "LAST-CHANGE", to: :last_change
22
+ map_attribute "LONG-NAME", to: :long_name
23
+ map_element "ALTERNATIVE-ID", to: :alternative_id
24
+ map_element "SOURCE-SPECIFICATION", to: :source_specification
25
+ map_element "SPEC-RELATIONS", to: :spec_relations
26
+ map_element "TARGET-SPECIFICATION", to: :target_specification
27
+ map_element "TYPE", to: :type
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class RelationGroupType < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :spec_attributes, SpecAttributes
11
+
12
+ xml do
13
+ root "RELATION-GROUP-TYPE"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_attribute "DESC", to: :desc
17
+ map_attribute "IDENTIFIER", to: :identifier
18
+ map_attribute "LAST-CHANGE", to: :last_change
19
+ map_attribute "LONG-NAME", to: :long_name
20
+ map_element "ALTERNATIVE-ID", to: :alternative_id
21
+ map_element "SPEC-ATTRIBUTES", to: :spec_attributes
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class ReqIf < Lutaml::Model::Serializable
5
+ attribute :the_header, TheHeader
6
+ attribute :core_content, CoreContent
7
+ attribute :tool_extensions, ToolExtensions
8
+
9
+ xml do
10
+ root "REQ-IF"
11
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
12
+
13
+ map_element "THE-HEADER", to: :the_header
14
+ map_element "CORE-CONTENT", to: :core_content
15
+ map_element "TOOL-EXTENSIONS", to: :tool_extensions
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class ReqIfContent < Lutaml::Model::Serializable
5
+ attribute :datatypes, Datatypes
6
+ attribute :spec_types, SpecTypes
7
+ attribute :spec_objects, SpecObjects
8
+ attribute :spec_relations, SpecRelations
9
+ attribute :specifications, Specifications
10
+ attribute :spec_relation_groups, SpecRelationGroups
11
+
12
+ xml do
13
+ root "REQ-IF-CONTENT"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_element "DATATYPES", to: :datatypes
17
+ map_element "SPEC-TYPES", to: :spec_types
18
+ map_element "SPEC-OBJECTS", to: :spec_objects
19
+ map_element "SPEC-RELATIONS", to: :spec_relations
20
+ map_element "SPECIFICATIONS", to: :specifications
21
+ map_element "SPEC-RELATION-GROUPS", to: :spec_relation_groups
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class ReqIfHeader < Lutaml::Model::Serializable
5
+ attribute :identifier, :string
6
+ attribute :comment, :string
7
+ attribute :creation_time, :time
8
+ attribute :repository_id, :string
9
+ attribute :req_if_tool_id, :string
10
+ attribute :req_if_version, :string
11
+ attribute :source_tool_id, :string
12
+ attribute :title, :string
13
+
14
+ xml do
15
+ root "REQ-IF-HEADER"
16
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
17
+
18
+ map_attribute "IDENTIFIER", to: :identifier
19
+ map_element "COMMENT", to: :comment
20
+ map_element "CREATION-TIME", to: :creation_time
21
+ map_element "REPOSITORY-ID", to: :repository_id
22
+ map_element "REQ-IF-TOOL-ID", to: :req_if_tool_id
23
+ map_element "REQ-IF-VERSION", to: :req_if_version
24
+ map_element "SOURCE-TOOL-ID", to: :source_tool_id
25
+ map_element "TITLE", to: :title
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,10 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class ReqIfToolExtension < Lutaml::Model::Serializable
5
+ xml do
6
+ root "REQ-IF-TOOL-EXTENSION"
7
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class Source < Lutaml::Model::Serializable
5
+ attribute :spec_object_ref, :string
6
+
7
+ xml do
8
+ root "SOURCE"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPEC-OBJECT-REF", to: :spec_object_ref
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SourceSpecification < Lutaml::Model::Serializable
5
+ attribute :specification_ref, :string
6
+
7
+ xml do
8
+ root "SOURCE-SPECIFICATION"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPECIFICATION-REF", to: :specification_ref
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,26 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecAttributes < Lutaml::Model::Serializable
5
+ attribute :attribute_definition_boolean, AttributeDefinitionBoolean, collection: true
6
+ attribute :attribute_definition_date, AttributeDefinitionDate, collection: true
7
+ attribute :attribute_definition_enumeration, AttributeDefinitionEnumeration, collection: true
8
+ attribute :attribute_definition_integer, AttributeDefinitionInteger, collection: true
9
+ attribute :attribute_definition_real, AttributeDefinitionReal, collection: true
10
+ attribute :attribute_definition_string, AttributeDefinitionString, collection: true
11
+ attribute :attribute_definition_xhtml, AttributeDefinitionXhtml, collection: true
12
+
13
+ xml do
14
+ root "SPEC-ATTRIBUTES"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ map_element "ATTRIBUTE-DEFINITION-BOOLEAN", to: :attribute_definition_boolean
18
+ map_element "ATTRIBUTE-DEFINITION-DATE", to: :attribute_definition_date
19
+ map_element "ATTRIBUTE-DEFINITION-ENUMERATION", to: :attribute_definition_enumeration
20
+ map_element "ATTRIBUTE-DEFINITION-INTEGER", to: :attribute_definition_integer
21
+ map_element "ATTRIBUTE-DEFINITION-REAL", to: :attribute_definition_real
22
+ map_element "ATTRIBUTE-DEFINITION-STRING", to: :attribute_definition_string
23
+ map_element "ATTRIBUTE-DEFINITION-XHTML", to: :attribute_definition_xhtml
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecHierarchy < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :is_editable, :boolean
8
+ attribute :is_table_internal, :boolean
9
+ attribute :last_change, :time
10
+ attribute :long_name, :string
11
+ attribute :alternative_id, AlternativeId
12
+ attribute :children, Children
13
+ attribute :editable_atts, EditableAtts
14
+ attribute :object, Object
15
+
16
+ xml do
17
+ root "SPEC-HIERARCHY"
18
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
19
+
20
+ map_attribute "DESC", to: :desc
21
+ map_attribute "IDENTIFIER", to: :identifier
22
+ map_attribute "IS-EDITABLE", to: :is_editable
23
+ map_attribute "IS-TABLE-INTERNAL", to: :is_table_internal
24
+ map_attribute "LAST-CHANGE", to: :last_change
25
+ map_attribute "LONG-NAME", to: :long_name
26
+ map_element "ALTERNATIVE-ID", to: :alternative_id
27
+ map_element "CHILDREN", to: :children
28
+ map_element "EDITABLE-ATTS", to: :editable_atts
29
+ map_element "OBJECT", to: :object
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,26 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecObject < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :values, Values
11
+ attribute :type, Type
12
+
13
+ xml do
14
+ root "SPEC-OBJECT"
15
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
16
+
17
+ map_attribute "DESC", to: :desc
18
+ map_attribute "IDENTIFIER", to: :identifier
19
+ map_attribute "LAST-CHANGE", to: :last_change
20
+ map_attribute "LONG-NAME", to: :long_name
21
+ map_element "ALTERNATIVE-ID", to: :alternative_id
22
+ map_element "VALUES", to: :values
23
+ map_element "TYPE", to: :type
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecObjectType < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :spec_attributes, SpecAttributes
11
+
12
+ xml do
13
+ root "SPEC-OBJECT-TYPE"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_attribute "DESC", to: :desc
17
+ map_attribute "IDENTIFIER", to: :identifier
18
+ map_attribute "LAST-CHANGE", to: :last_change
19
+ map_attribute "LONG-NAME", to: :long_name
20
+ map_element "ALTERNATIVE-ID", to: :alternative_id
21
+ map_element "SPEC-ATTRIBUTES", to: :spec_attributes
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecObjects < Lutaml::Model::Serializable
5
+ attribute :spec_object, SpecObject, collection: true
6
+
7
+ xml do
8
+ root "SPEC-OBJECTS"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "SPEC-OBJECT", to: :spec_object
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecRelation < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :values, Values
11
+ attribute :source, Source
12
+ attribute :target, Target
13
+ attribute :type, Type
14
+
15
+ xml do
16
+ root "SPEC-RELATION"
17
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
18
+
19
+ map_attribute "DESC", to: :desc
20
+ map_attribute "IDENTIFIER", to: :identifier
21
+ map_attribute "LAST-CHANGE", to: :last_change
22
+ map_attribute "LONG-NAME", to: :long_name
23
+ map_element "ALTERNATIVE-ID", to: :alternative_id
24
+ map_element "VALUES", to: :values
25
+ map_element "SOURCE", to: :source
26
+ map_element "TARGET", to: :target
27
+ map_element "TYPE", to: :type
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,14 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecRelationGroups < Lutaml::Model::Serializable
5
+ attribute :relation_group, RelationGroup, collection: true
6
+
7
+ xml do
8
+ root "SPEC-RELATION-GROUPS"
9
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
10
+
11
+ map_element "RELATION-GROUP", to: :relation_group
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,24 @@
1
+ require "lutaml/model"
2
+
3
+ module Reqif
4
+ class SpecRelationType < Lutaml::Model::Serializable
5
+ attribute :desc, :string
6
+ attribute :identifier, :string
7
+ attribute :last_change, :time
8
+ attribute :long_name, :string
9
+ attribute :alternative_id, AlternativeId
10
+ attribute :spec_attributes, SpecAttributes
11
+
12
+ xml do
13
+ root "SPEC-RELATION-TYPE"
14
+ namespace "http://www.omg.org/spec/ReqIF/20110401/reqif.xsd", "REQIF"
15
+
16
+ map_attribute "DESC", to: :desc
17
+ map_attribute "IDENTIFIER", to: :identifier
18
+ map_attribute "LAST-CHANGE", to: :last_change
19
+ map_attribute "LONG-NAME", to: :long_name
20
+ map_element "ALTERNATIVE-ID", to: :alternative_id
21
+ map_element "SPEC-ATTRIBUTES", to: :spec_attributes
22
+ end
23
+ end
24
+ end