1 L0 = <http://www.simantics.org/Layer0-1.1>
\r
3 L0.Literal <T L0.Value
\r
4 >-- L0.HasDataType --> L0.DataType <R L0.HasProperty : L0.FunctionalRelation
\r
5 L0.DataType <T L0.Literal
\r
6 @L0.assert L0.HasDataType $DataType
\r
8 L0.Boolean <T L0.Literal
\r
9 @L0.assert L0.HasDataType $Boolean
\r
10 @L0.assert L0.Literal.HasInputValidator
\r
11 L0.Functions.booleanInputValidator
\r
12 @L0.assert L0.HasValueType "Boolean"
\r
13 L0.Byte <T L0.Literal
\r
14 @L0.assert L0.HasDataType $Byte
\r
15 @L0.assert L0.Literal.HasInputValidator
\r
16 L0.Functions.numberInputValidator
\r
17 @L0.assert L0.HasValueType "Byte"
\r
18 L0.Integer <T L0.Literal
\r
19 @L0.assert L0.HasDataType $Integer
\r
20 @L0.assert L0.Literal.HasInputValidator
\r
21 L0.Functions.numberInputValidator
\r
22 @L0.assert L0.HasValueType "Integer"
\r
23 L0.Long <T L0.Literal
\r
24 @L0.assert L0.HasDataType $Long
\r
25 @L0.assert L0.Literal.HasInputValidator
\r
26 L0.Functions.numberInputValidator
\r
27 @L0.assert L0.HasValueType "Long"
\r
28 L0.Float <T L0.Literal
\r
29 @L0.assert L0.HasDataType $Float
\r
30 @L0.assert L0.Literal.HasInputValidator
\r
31 L0.Functions.numberInputValidator
\r
32 @L0.assert L0.HasValueType "Float"
\r
33 L0.Double <T L0.Literal
\r
34 @L0.assert L0.HasDataType $Double
\r
35 @L0.assert L0.Literal.HasInputValidator
\r
36 L0.Functions.numberInputValidator
\r
37 @L0.assert L0.HasValueType "Double"
\r
38 L0.String <T L0.Literal /*<T L0X.StringAdapter*/
\r
39 @L0.assert L0.HasDataType $String
\r
40 @L0.assert L0.HasValueType "String"
\r
41 L0.BooleanArray <T L0.Literal
\r
42 @L0.assert L0.HasDataType $(Boolean[])
\r
43 @L0.assert L0.HasValueType "Vector Boolean"
\r
44 L0.ByteArray <T L0.Literal
\r
45 @L0.assert L0.HasDataType $(Byte[])
\r
46 @L0.assert L0.HasValueType "Vector Byte"
\r
47 L0.IntegerArray <T L0.Literal
\r
48 @L0.assert L0.HasDataType $(Integer[])
\r
49 @L0.assert L0.HasValueType "Vector Integer"
\r
50 L0.LongArray <T L0.Literal
\r
51 @L0.assert L0.HasDataType $(Long[])
\r
52 @L0.assert L0.HasValueType "Vector Long"
\r
53 L0.FloatArray <T L0.Literal
\r
54 @L0.assert L0.HasDataType $(Float[])
\r
55 @L0.assert L0.HasValueType "Vector Float"
\r
56 L0.DoubleArray <T L0.Literal
\r
57 @L0.assert L0.HasDataType $(Double[])
\r
58 @L0.assert L0.HasValueType "Vector Double"
\r
59 L0.StringArray <T L0.Literal
\r
60 @L0.assert L0.HasDataType $(String[])
\r
61 @L0.assert L0.HasValueType "Vector String"
\r
62 L0.VariantArray <T L0.Literal
\r
63 @L0.assert L0.HasDataType $(Variant[])
\r
64 @L0.assert L0.HasValueType "Vector Variant"
\r
65 L0.Variant <T L0.Literal
\r
66 @L0.assert L0.HasDataType $Variant
\r
67 L0.CardinalityRange <T L0.Literal
\r
68 @L0.assert L0.HasDataType ${
\r
69 min : Optional(Integer),
\r
70 max : Optional(Integer)
\r
73 L0.HasDescription """A Uniform Resource Identifier (URI) is just a unique string that uniquely identifies something, commonly a namespace. Sometimes they look like a URL that you could type into the address bar of your web browser, but it doesn't have to point to any physical resource on the web."""
\r
74 L0.RevisionId <T L0.Literal
\r
75 @L0.assert L0.HasDataType $Long(unit="revision")
\r
76 @L0.assert L0.HasValueType "Long"
\r
78 // L0.HasDescription """A Uniform Resource Locator (URL) is an URI which locates a resource on the web."""
\r
80 L0.RVI <T L0.Literal
\r
81 @L0.assert L0.HasDataType ${ parts : ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } | GuidRVIPart { role : |CHILD|PROPERTY, guid : { mostSignificantPart : Long , leastSignificantPart : Long } } ) [] }
\r
83 // Constant literals
\r
86 //L0.EmptyString = ""
\r
88 L0.Cardinality0 = { max=0 } : L0.CardinalityRange
\r
89 L0.Cardinality1 = { min=1, max=1 } : L0.CardinalityRange
\r
90 L0.Cardinality2 = { min=2, max=2 } : L0.CardinalityRange
\r
91 L0.CardinalityAtMost1 = { max=1 } : L0.CardinalityRange
\r
92 L0.CardinalityAtLeast1 = { min=1 } : L0.CardinalityRange
\r
94 L0.Literal.HasInputValidator <R L0.HasProperty /*: L0X.ResourcePropertyRelation*/
\r
96 L0.Literal.BooleanValidator <T L0.Value
\r
97 L0.Literal.ByteValidator <T L0.Value
\r
98 L0.Literal.IntegerValidator <T L0.Value
\r
99 L0.Literal.LongValidator <T L0.Value
\r
100 L0.Literal.FloatValidator <T L0.Value
\r
101 L0.Literal.DoubleValidator <T L0.Value
\r
103 L0.GUID <T L0.Literal
\r
104 @L0.assert L0.HasValueType "(Long,Long)"
\r
105 @L0.assert L0.HasDataType ${ mostSigBits : Long, leastSigBits : Long }
\r
107 L0.TypeWithIdentifier <T L0.Entity
\r