reqif 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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