lutaml-uml 0.4.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +22 -0
  3. data/Gemfile +1 -5
  4. data/README.adoc +4 -42
  5. data/Rakefile +0 -5
  6. data/lutaml-uml.gemspec +23 -38
  7. metadata +20 -292
  8. data/.github/workflows/macos.yml +0 -38
  9. data/.github/workflows/ubuntu.yml +0 -40
  10. data/.github/workflows/windows.yml +0 -51
  11. data/.gitignore +0 -12
  12. data/.rspec +0 -3
  13. data/.travis.yml +0 -6
  14. data/CODE_OF_CONDUCT.md +0 -74
  15. data/LUTAML.adoc +0 -372
  16. data/bin/console +0 -15
  17. data/bin/folder_yaml2lutaml.sh +0 -6
  18. data/bin/plantuml2lutaml +0 -59
  19. data/bin/setup +0 -8
  20. data/bin/yaml2lutaml +0 -144
  21. data/exe/lutaml-wsd2uml +0 -59
  22. data/exe/lutaml-yaml2uml +0 -144
  23. data/lib/lutaml/layout/engine.rb +0 -15
  24. data/lib/lutaml/layout/graph_viz_engine.rb +0 -19
  25. data/lib/lutaml/uml/abstraction.rb +0 -11
  26. data/lib/lutaml/uml/activity.rb +0 -11
  27. data/lib/lutaml/uml/actor.rb +0 -19
  28. data/lib/lutaml/uml/association.rb +0 -43
  29. data/lib/lutaml/uml/behavior.rb +0 -11
  30. data/lib/lutaml/uml/class.rb +0 -83
  31. data/lib/lutaml/uml/classifier.rb +0 -11
  32. data/lib/lutaml/uml/connector.rb +0 -21
  33. data/lib/lutaml/uml/constraint.rb +0 -12
  34. data/lib/lutaml/uml/constructor_end.rb +0 -16
  35. data/lib/lutaml/uml/data_type.rb +0 -75
  36. data/lib/lutaml/uml/dependency.rb +0 -21
  37. data/lib/lutaml/uml/diagram.rb +0 -8
  38. data/lib/lutaml/uml/document.rb +0 -81
  39. data/lib/lutaml/uml/enum.rb +0 -45
  40. data/lib/lutaml/uml/event.rb +0 -12
  41. data/lib/lutaml/uml/final_state.rb +0 -11
  42. data/lib/lutaml/uml/formatter/base.rb +0 -67
  43. data/lib/lutaml/uml/formatter/graphviz.rb +0 -334
  44. data/lib/lutaml/uml/formatter.rb +0 -21
  45. data/lib/lutaml/uml/has_attributes.rb +0 -14
  46. data/lib/lutaml/uml/has_members.rb +0 -30
  47. data/lib/lutaml/uml/instance.rb +0 -17
  48. data/lib/lutaml/uml/model.rb +0 -13
  49. data/lib/lutaml/uml/node/base.rb +0 -21
  50. data/lib/lutaml/uml/node/class_node.rb +0 -57
  51. data/lib/lutaml/uml/node/class_relationship.rb +0 -14
  52. data/lib/lutaml/uml/node/document.rb +0 -18
  53. data/lib/lutaml/uml/node/field.rb +0 -34
  54. data/lib/lutaml/uml/node/has_name.rb +0 -15
  55. data/lib/lutaml/uml/node/has_type.rb +0 -15
  56. data/lib/lutaml/uml/node/method.rb +0 -29
  57. data/lib/lutaml/uml/node/method_argument.rb +0 -16
  58. data/lib/lutaml/uml/node/relationship.rb +0 -28
  59. data/lib/lutaml/uml/opaque_behavior.rb +0 -11
  60. data/lib/lutaml/uml/operation.rb +0 -31
  61. data/lib/lutaml/uml/package.rb +0 -53
  62. data/lib/lutaml/uml/parsers/attribute.rb +0 -70
  63. data/lib/lutaml/uml/parsers/dsl.rb +0 -413
  64. data/lib/lutaml/uml/parsers/dsl_preprocessor.rb +0 -59
  65. data/lib/lutaml/uml/parsers/dsl_transform.rb +0 -27
  66. data/lib/lutaml/uml/parsers/yaml.rb +0 -46
  67. data/lib/lutaml/uml/port.rb +0 -8
  68. data/lib/lutaml/uml/primitive_type.rb +0 -14
  69. data/lib/lutaml/uml/property.rb +0 -27
  70. data/lib/lutaml/uml/pseudostate.rb +0 -11
  71. data/lib/lutaml/uml/realization.rb +0 -11
  72. data/lib/lutaml/uml/region.rb +0 -12
  73. data/lib/lutaml/uml/serializers/association.rb +0 -58
  74. data/lib/lutaml/uml/serializers/base.rb +0 -16
  75. data/lib/lutaml/uml/serializers/class.rb +0 -29
  76. data/lib/lutaml/uml/serializers/top_element_attribute.rb +0 -14
  77. data/lib/lutaml/uml/serializers/yaml_view.rb +0 -18
  78. data/lib/lutaml/uml/state.rb +0 -12
  79. data/lib/lutaml/uml/state_machine.rb +0 -12
  80. data/lib/lutaml/uml/top_element.rb +0 -58
  81. data/lib/lutaml/uml/top_element_attribute.rb +0 -38
  82. data/lib/lutaml/uml/transition.rb +0 -12
  83. data/lib/lutaml/uml/trigger.rb +0 -12
  84. data/lib/lutaml/uml/value.rb +0 -30
  85. data/lib/lutaml/uml/version.rb +0 -7
  86. data/lib/lutaml/uml/vertex.rb +0 -11
  87. data/lib/lutaml/uml.rb +0 -13
  88. data/spec/fixtures/datamodel/models/AddressClassProfile.yml +0 -90
  89. data/spec/fixtures/datamodel/models/AddressComponentProfile.yml +0 -63
  90. data/spec/fixtures/datamodel/models/AddressComponentSpecification.yml +0 -15
  91. data/spec/fixtures/datamodel/models/AddressProfile.yml +0 -36
  92. data/spec/fixtures/datamodel/models/AttributeProfile.yml +0 -32
  93. data/spec/fixtures/datamodel/models/InterchangeAddressClassProfile.yml +0 -79
  94. data/spec/fixtures/datamodel/models/Localization copy.yml +0 -23
  95. data/spec/fixtures/datamodel/models/Localization.yml +0 -23
  96. data/spec/fixtures/datamodel/models/ProfileCompliantAddress.yml +0 -36
  97. data/spec/fixtures/datamodel/models/ProfileCompliantAddressComponent.yml +0 -15
  98. data/spec/fixtures/datamodel/models/Signature.yml +0 -20
  99. data/spec/fixtures/datamodel/models/SignatureBlankDefinition.yml +0 -20
  100. data/spec/fixtures/datamodel/models/TextDirectionCode copy.yml +0 -16
  101. data/spec/fixtures/datamodel/models/TextDirectionCode.yml +0 -16
  102. data/spec/fixtures/datamodel/models/Validity.yml +0 -14
  103. data/spec/fixtures/datamodel/models/iso19160-1/Address.yml +0 -22
  104. data/spec/fixtures/datamodel/models/iso19160-1/AddressComponent.yml +0 -2
  105. data/spec/fixtures/datamodel/style.uml.inc +0 -37
  106. data/spec/fixtures/datamodel/views/AddressClassProfile.yml +0 -12
  107. data/spec/fixtures/datamodel/views/AddressProfile.yml +0 -3
  108. data/spec/fixtures/datamodel/views/CommonModels.yml +0 -9
  109. data/spec/fixtures/datamodel/views/TopDown.yml +0 -62
  110. data/spec/fixtures/dsl/broken_diagram.lutaml +0 -34
  111. data/spec/fixtures/dsl/diagram.lutaml +0 -3
  112. data/spec/fixtures/dsl/diagram_attributes.lutaml +0 -6
  113. data/spec/fixtures/dsl/diagram_blank_definion.lutaml +0 -6
  114. data/spec/fixtures/dsl/diagram_blank_entities.lutaml +0 -8
  115. data/spec/fixtures/dsl/diagram_class_assocation.lutaml +0 -29
  116. data/spec/fixtures/dsl/diagram_class_fields.lutaml +0 -25
  117. data/spec/fixtures/dsl/diagram_commented_includes.lutaml +0 -5
  118. data/spec/fixtures/dsl/diagram_comments.lutaml +0 -28
  119. data/spec/fixtures/dsl/diagram_concept_model.lutaml +0 -132
  120. data/spec/fixtures/dsl/diagram_data_types.lutaml +0 -44
  121. data/spec/fixtures/dsl/diagram_definitions.lutaml +0 -25
  122. data/spec/fixtures/dsl/diagram_includes.lutaml +0 -6
  123. data/spec/fixtures/dsl/diagram_multiply_classes.lutaml +0 -7
  124. data/spec/fixtures/dsl/diagram_non_existing_include.lutaml +0 -6
  125. data/spec/fixtures/dsl/shared.lutaml +0 -3
  126. data/spec/fixtures/dsl/shared1.lutaml +0 -4
  127. data/spec/fixtures/generated_dot/AddressClassProfile.dot +0 -170
  128. data/spec/fixtures/generated_dot/AddressProfile.dot +0 -34
  129. data/spec/lutaml/layout/graph_viz_engine_spec.rb +0 -31
  130. data/spec/lutaml/uml/formatter/graphviz_spec.rb +0 -41
  131. data/spec/lutaml/uml/parsers/dsl_spec.rb +0 -345
  132. data/spec/lutaml/uml/parsers/yaml_spec.rb +0 -18
  133. data/spec/lutaml/uml/serializers/yaml_view_spec.rb +0 -20
  134. data/spec/lutaml/uml_spec.rb +0 -7
  135. data/spec/spec_helper.rb +0 -25
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "hashie"
4
-
5
- module Lutaml
6
- module Uml
7
- module Serializers
8
- class Base < Hashie::Dash
9
- include Hashie::Extensions::Dash::PropertyTranslation
10
- include Hashie::Extensions::Dash::IndifferentAccess
11
- include Hashie::Extensions::Dash::Coercion
12
- include Hashie::Extensions::IgnoreUndeclared
13
- end
14
- end
15
- end
16
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lutaml/uml/serializers/base"
4
- require "lutaml/uml/serializers/top_element_attribute"
5
- require "lutaml/uml/serializers/association"
6
-
7
- module Lutaml
8
- module Uml
9
- module Serializers
10
- class Class < Base
11
- property :attributes,
12
- transform_with: (lambda do |entry|
13
- entry
14
- .to_a
15
- .map do |(name, attributes)|
16
- attributes.merge(name: name)
17
- end
18
- end)
19
- property :associations,
20
- from: :relations,
21
- coerce: Array[::Lutaml::Uml::Serializers::Association]
22
- property :name
23
- # property :type, from: :modelType
24
- # property :relations,
25
- # coerce: Array[Relation]
26
- end
27
- end
28
- end
29
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lutaml/uml/serializers/base"
4
-
5
- module Lutaml
6
- module Uml
7
- module Serializers
8
- class TopElementAttribute < Base
9
- property :cardinality
10
- property :type
11
- end
12
- end
13
- end
14
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lutaml/uml/serializers/base"
4
- require "lutaml/uml/serializers/class"
5
-
6
- module Lutaml
7
- module Uml
8
- module Serializers
9
- class YamlView < Base
10
- property :name
11
- property :title
12
- property :caption
13
- property :groups
14
- property :fidelity
15
- end
16
- end
17
- end
18
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## Behaviour metamodel
5
- ##
6
- module Lutaml
7
- module Uml
8
- class State < Vertex
9
- attr_accessor :exit, :entry, :do_activity
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## Behaviour metamodel
5
- ##
6
-
7
- module Lutaml
8
- module Uml
9
- class StateMachine < Behavior
10
- end
11
- end
12
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lutaml
4
- module Uml
5
- class TopElement
6
- include HasAttributes
7
-
8
- attr_accessor :name,
9
- :definition,
10
- :xmi_id,
11
- :xmi_uuid,
12
- :namespace,
13
- :keyword,
14
- :stereotype,
15
- :href,
16
- :visibility,
17
- :comments
18
-
19
- # rubocop:disable Rails/ActiveRecordAliases
20
- def initialize(attributes = {})
21
- @visibility = "public"
22
- @name = attributes["name"]
23
- update_attributes(attributes)
24
- end
25
- # rubocop:enable Rails/ActiveRecordAliases
26
-
27
- def full_name
28
- if name == nil
29
- return nil
30
- end
31
-
32
- the_name = name
33
- next_namespace = namespace
34
-
35
- while !next_namespace.nil?
36
- the_name = if !next_namespace.name.nil?
37
- next_namespace.name + "::" + the_name
38
- else
39
- "::" + the_name
40
- end
41
- next_namespace = next_namespace.namespace
42
- end
43
-
44
- the_name
45
- end
46
-
47
- def definition=(value)
48
- @definition = value
49
- .to_s
50
- .gsub(/\\}/, '}')
51
- .gsub(/\\{/, '{')
52
- .split("\n")
53
- .map(&:strip)
54
- .join("\n")
55
- end
56
- end
57
- end
58
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lutaml
4
- module Uml
5
- class TopElementAttribute
6
- include HasAttributes
7
- include HasMembers
8
-
9
- attr_accessor :name,
10
- :visibility,
11
- :type,
12
- :xmi_id,
13
- :definition,
14
- :contain,
15
- :static,
16
- :cardinality,
17
- :keyword,
18
- :is_derived
19
-
20
- # rubocop:disable Rails/ActiveRecordAliases
21
- def initialize(attributes = {})
22
- @visibility = "public"
23
- update_attributes(attributes)
24
- end
25
- # rubocop:enable Rails/ActiveRecordAliases
26
-
27
- def definition=(value)
28
- @definition = value
29
- .to_s
30
- .gsub(/\\}/, '}')
31
- .gsub(/\\{/, '{')
32
- .split("\n")
33
- .map(&:strip)
34
- .join("\n")
35
- end
36
- end
37
- end
38
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## Behaviour metamodel
5
- ##
6
- module Lutaml
7
- module Uml
8
- class Transition < TopElement
9
- attr_accessor :source, :target, :guard, :effect
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## Behaviour metamodel
5
- ##
6
- module Lutaml
7
- module Uml
8
- class Trigger < TopElement
9
- attr_accessor :event
10
- end
11
- end
12
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lutaml
4
- module Uml
5
- class Value
6
- include HasAttributes
7
- include HasMembers
8
-
9
- attr_accessor :definition,
10
- :name,
11
- :type
12
-
13
- # rubocop:disable Rails/ActiveRecordAliases
14
- def initialize(attributes = {})
15
- update_attributes(attributes)
16
- end
17
- # rubocop:enable Rails/ActiveRecordAliases
18
-
19
- def definition=(value)
20
- @definition = value
21
- .to_s
22
- .gsub(/\\}/, '}')
23
- .gsub(/\\{/, '{')
24
- .split("\n")
25
- .map(&:strip)
26
- .join("\n")
27
- end
28
- end
29
- end
30
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Lutaml
4
- module Uml
5
- VERSION = "0.4.3"
6
- end
7
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## Behaviour metamodel
5
- ##
6
- module Lutaml
7
- module Uml
8
- class Vertex < TopElement
9
- end
10
- end
11
- end
data/lib/lutaml/uml.rb DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "lutaml/uml/version"
4
- require "lutaml/uml/parsers/dsl"
5
- require "lutaml/uml/parsers/yaml"
6
- require "lutaml/uml/parsers/attribute"
7
- require "lutaml/uml/formatter"
8
-
9
- module Lutaml
10
- module Uml
11
- class Error < StandardError; end
12
- end
13
- end
@@ -1,90 +0,0 @@
1
- modelType: class
2
- # TODO
3
- definition: |
4
- An `AddressClassProfile` represents a profile of a `ProfileCompliantAddress`.
5
- It corresponds to the concept of an `AddressClass` originally
6
- expressed in <<ISO19160-1>> as a referenced codelist.
7
-
8
- It represents additional attributes and restrictions to the
9
- `ProfileCompliantAddress` model. It also represents metadata for the use of
10
- the profile.
11
-
12
- A single profile can include and support multiple types of
13
- address formats, such as a numbered street address and a
14
- "`PO Box`" address simultaneously. Each of these address formats
15
- is represented as an interchange address class.
16
-
17
- [example]
18
- --
19
- The US Numbered Thoroughfare Address with this syntax can be
20
- represented as an address class profile:
21
-
22
- *{sp}{ Complete Landmark Name or Complete Place Name } +
23
- *{sp}{ Complete Address Number * } +
24
- *{sp}{ Complete Street Name * } +
25
- *{sp}{ Complete Subaddress } +
26
- *{sp}{ Complete Place Name * } +
27
- *{sp}{ State Name * } +
28
- *{sp}{ Zip Code } +
29
- *{sp}{ Zip Plus 4 } +
30
- *{sp}{ Country Name }
31
- --
32
- attributes:
33
- id:
34
- definition: Unique identifier of this AddressClassProfile.
35
- type: CharacterString
36
- type:
37
- definition: Intended usage of this profile.
38
- type: CharacterString
39
- description:
40
- definition: Textual description of this profile.
41
- type: CharacterString
42
- localization:
43
- definition: The language and script used within this profile.
44
- type: Localization
45
- signature:
46
- definition: The digital signature to verify the integrity of this profile, and the identity of the publishing authority.
47
- type: Signature
48
- cardinality:
49
- min: 0
50
- max: 1
51
- areaApplicability:
52
- definition: The geographic representation of which this AddressClassProfile applies to. Overlapping geographic areas are allowed across different profiles.
53
- type: iso19115MD_SpatialRepresentation
54
- cardinality:
55
- min: 0
56
- max: "*"
57
- timeToLive:
58
- definition: The maximum time interval between refreshing of this profile via an authoritative source, in seconds.
59
- type: Integer
60
- validity:
61
- definition: The period of date and time that this profile should be considered as valid.
62
- type: Validity
63
- relations:
64
- - target: AttributeProfile
65
- relationship:
66
- source:
67
- type: aggregation
68
- attribute:
69
- addressClassProfile:
70
- target:
71
- type: direct
72
- attribute:
73
- attributeProfile:
74
- cardinality:
75
- min: 0
76
- max: '*'
77
-
78
- - target: ProfileCompliantAddress
79
- relationship:
80
- source:
81
- attribute:
82
- profile:
83
- cardinality:
84
- min: 1
85
- max: 1
86
- target:
87
- type: direct
88
- action:
89
- verb: compliesWith
90
- direction: source
@@ -1,63 +0,0 @@
1
- name: AddressComponentProfile
2
- modelType: class
3
- definition: |
4
- An `AddressComponentProfile` represents a profile of a `ProfileCompliantAddressComponent`,
5
- which is extended from the `AddressComponent` model defined in <<ISO19160-1>>.
6
-
7
- It represents additional attributes and restrictions to the `Address` model
8
- of a `ProfileCompliantAddress`. It also represents metadata for the use of
9
- the profile.
10
- attributes:
11
- key:
12
- definition: An identifier of this `AddressComponentProfile`, shall be unique within the `AddressProfile`.
13
- type: CharacterString
14
- description:
15
- definition: Textual description of this component.
16
- type: CharacterString
17
- example:
18
- definition: A textual example to demonstrate the correct use of this component.
19
- type: CharacterString
20
- cardinality:
21
- min: 0
22
- max: 1
23
- relations:
24
- - target: AddressClassProfile
25
- relationship:
26
- target:
27
- type: aggregation
28
- attribute:
29
- componentProfile:
30
- cardinality:
31
- min: 0
32
- max: "*"
33
- association: AddressComponentSpecification
34
- action:
35
- verb: uses
36
- direction: source
37
-
38
- - target: AttributeProfile
39
- relationship:
40
- source:
41
- type: aggregation
42
- attribute:
43
- addressClassProfile:
44
- target:
45
- type: direct
46
- attribute:
47
- attributeProfile:
48
- cardinality:
49
- min: 0
50
- max: '*'
51
-
52
- - target: ProfileCompliantAddressComponent
53
- relationship:
54
- target:
55
- type: direct
56
- attribute:
57
- profile:
58
- cardinality:
59
- min: 1
60
- max: 1
61
- action:
62
- verb: compliesWith
63
- direction: source
@@ -1,15 +0,0 @@
1
- name: AddressComponentSpecification
2
- modelType: class
3
- definition: |
4
- An `AddressComponentSpecification` specifies the cardinalities between a
5
- `ProfileCompliantAddress` and `ProfileCompliantAddressComponents`.
6
-
7
- A `ProfileComplinatAddress` MUST conform to this
8
- `AddressComponentSpecification` to specifies its components.
9
- attributes:
10
- maxCardinality:
11
- definition: The maximum number of instances of the specific `ProfileCompliantAddressComponent` of a `ProfileCompliantAddress`.
12
- type: Integer
13
- minCardinality:
14
- definition: The minimum number of instances of the specific `ProfileCompliantAddressComponent` of a `ProfileCompliantAddress`.
15
- type: Integer
@@ -1,36 +0,0 @@
1
- name: AddressProfile
2
- modelType: class
3
- definition:
4
- attributes:
5
- country:
6
- definition: The country of which this AddressProfile represents.
7
- type: iso3166Code
8
- cardinality:
9
- min: 0
10
- max: "*"
11
- relations:
12
- - target: AddressComponentProfile
13
- relationship:
14
- source:
15
- type: aggregation
16
- attribute:
17
- componentProfile:
18
- cardinality:
19
- min: 0
20
- max: "*"
21
- action:
22
- verb: defines
23
- direction: target
24
-
25
- - target: AddressClassProfile
26
- relationship:
27
- source:
28
- type: aggregation
29
- attribute:
30
- addressProfile:
31
- cardinality:
32
- min: 0
33
- max: "*"
34
- action:
35
- verb: defines
36
- direction: target
@@ -1,32 +0,0 @@
1
- modelType: class
2
- definition: |
3
- An `AttributeProfile` represents name, cardinalities and value type of an
4
- attribute in a model that complies with a profile that includes this
5
- AttributeProfile.
6
-
7
- If it represents an attribute that has been previously defined, e.g. an
8
- attribute in Address model defined in <<ISO19160-1>>, it extends the
9
- definition of the attribute by redefining the name, cardinalities and value
10
- type.
11
- attributes:
12
- name:
13
- definition: The name of the attribute represented by this AttributeProfile.
14
- type: CharacterString
15
- minCardinality:
16
- definition: The minimum number of occurrences of the attribute represented by this AttributeProfile.
17
- type: Integer
18
- cardinality:
19
- min: 0
20
- max: 1
21
- maxCardinality:
22
- definition: The maximum number of occurences of the attribute represented by this AttributeProfile.
23
- type: Integer
24
- cardinality:
25
- min: 0
26
- max: 1
27
- valueType:
28
- definition: The data type of values of the attribute represented by this AttributeProfile.
29
- type: CharacterString
30
- cardinality:
31
- min: 0
32
- max: 1
@@ -1,79 +0,0 @@
1
- name: InterchangeAddressClassProfile
2
- modelType: class
3
- definition: |
4
- This `InterchangeAddressClassProfile` extends from `AddressClassProfile` to
5
- enforce the existence of several subclasses of `AttributeProfile` for
6
- interchange.
7
-
8
- It also introduces `FormTemplate` and `DisplayTemplate` to
9
- to allow the display, entry of, and the interchange of an
10
- `ProfileCompliantAddress` (address
11
- instance complying with an `InterchangeAddressClassProfile`).
12
- --
13
- attributes:
14
- relations:
15
- - target: AddressClassProfile
16
- relationship:
17
- target:
18
- type: inheritance
19
-
20
- - target: AttributeProfileSignature
21
- relationship:
22
- source:
23
- type: aggregation
24
- attribute:
25
- attributeProfile:
26
- target:
27
- type: direct
28
- attribute:
29
- addressClassProfile:
30
-
31
- - target: AttributeProfileAddressFeature
32
- relationship:
33
- source:
34
- type: aggregation
35
- attribute:
36
- attributeProfile:
37
- target:
38
- type: direct
39
- attribute:
40
- addressClassProfile:
41
-
42
- - target: AttributeProfileValidity
43
- relationship:
44
- source:
45
- type: aggregation
46
- attribute:
47
- attributeProfile:
48
- target:
49
- type: direct
50
- attribute:
51
- addressClassProfile:
52
-
53
- - target: FormTemplate
54
- relationship:
55
- source:
56
- type: aggregation
57
- target:
58
- attribute:
59
- formTemplate:
60
- cardinality:
61
- min: 0
62
- max: "*"
63
- action:
64
- verb: defines
65
- direction: target
66
-
67
- - target: DisplayTemplate
68
- relationship:
69
- source:
70
- type: aggregation
71
- target:
72
- attribute:
73
- displayTemplate:
74
- cardinality:
75
- min: 0
76
- max: "*"
77
- action:
78
- verb: defines
79
- direction: target
@@ -1,23 +0,0 @@
1
- name: Localization
2
- modelType: class
3
- definition: |
4
- The language and script used within the parent object.
5
-
6
- Represented by the `PT_Locale` object defined in <<ISO19115-1>> and an
7
- <<ISO15924>> script code.
8
- attributes:
9
- locale:
10
- definition: The locale of the parent object.
11
- type: iso19115PT_Locale
12
- script:
13
- definition: The type of written script used in the parent object.
14
- type: iso15924Code
15
- textDirection:
16
- definition: Indicating in which direction the text of the parent should be read.
17
- type: TextDirectionCode
18
- relations:
19
- - target: Validity
20
- relationship:
21
- target:
22
- type: direct
23
- direction: "[hidden]"
@@ -1,23 +0,0 @@
1
- name: Localization
2
- modelType: class
3
- definition: |
4
- The language and script used within the parent object.
5
-
6
- Represented by the `PT_Locale` object defined in <<ISO19115-1>> and an
7
- <<ISO15924>> script code.
8
- attributes:
9
- locale:
10
- definition: The locale of the parent object.
11
- type: iso19115PT_Locale
12
- script:
13
- definition: The type of written script used in the parent object.
14
- type: iso15924Code
15
- textDirection:
16
- definition: Indicating in which direction the text of the parent should be read.
17
- type: TextDirectionCode
18
- relations:
19
- - target: Validity
20
- relationship:
21
- target:
22
- type: direct
23
- direction: "[hidden]"