@cyklang/cli 0.2.2 → 0.3.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.
- package/build/AssetCommand.js +63 -23
- package/build/Cmd.d.ts +2 -2
- package/build/Cmd.js +2 -1
- package/build/DBClient.d.ts +2 -0
- package/build/DBClient.js +16 -0
- package/build/ModuleCommand.js +11 -3
- package/build/QueryCommand.js +49 -39
- package/build/RunCommand.js +21 -28
- package/build/TableCommand.js +8 -8
- package/build/TestCommand.js +21 -2
- package/build/UserCommand.js +7 -1
- package/docker.env +2 -2
- package/package.json +3 -5
- package/src/AssetCommand.ts +82 -35
- package/src/Cmd.ts +10 -6
- package/src/DBClient.ts +24 -0
- package/src/ModuleCommand.ts +17 -11
- package/src/QueryCommand.ts +56 -39
- package/src/RunCommand.ts +33 -39
- package/src/TableCommand.ts +8 -8
- package/src/TestCommand.ts +28 -3
- package/src/UserCommand.ts +7 -1
- package/test/cyklang.xsd +870 -219
- package/test/t0.output +1 -1
- package/test/t0.xml +1 -1
- package/test/t01.output +16 -2
- package/test/t01.xml +46 -8
- package/test/t09.output +1 -1
- package/test/t09.xml +1 -1
- package/test/t0__us.output +4 -0
- package/test/t0__us.xml +7 -0
- package/test/t1.ts +8 -0
- package/test/t17.output +2 -0
- package/test/t17.xml +3 -1
- package/test/t20.output +0 -0
- package/test/t20.xml +17 -1
- package/test/t21.output +2 -0
- package/test/t21.xml +39 -9
- package/test/t22.output +0 -0
- package/test/t23.output +4 -0
- package/test/t23.xml +4 -4
- package/test/t24.output +1007 -0
- package/test/t24.xml +20 -0
- package/test/t25.output +4 -0
- package/test/t25.xml +23 -0
- package/test/t26.output +5 -0
- package/test/t26.xml +35 -0
package/test/cyklang.xsd
CHANGED
|
@@ -1,205 +1,413 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
3
3
|
|
|
4
|
+
<xs:simpleType name="identifier">
|
|
5
|
+
<xs:restriction base="xs:token">
|
|
6
|
+
<xs:pattern value="[_a-zA-Z][_a-zA-Z0-9]*"/>
|
|
7
|
+
</xs:restriction>
|
|
8
|
+
</xs:simpleType>
|
|
9
|
+
|
|
4
10
|
<xs:element name="module" type="defineModule"/>
|
|
5
11
|
|
|
6
12
|
<xs:complexType name="defineModule">
|
|
7
|
-
<xs:
|
|
8
|
-
<xs:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
<xs:annotation>
|
|
14
|
+
<xs:documentation>
|
|
15
|
+
root element of a module file. Module name is derived from the file name minus file xml extension.
|
|
16
|
+
File name must then follow identifier restrictions (alphabetic, digits and _ (underscore) characters accepted)
|
|
17
|
+
</xs:documentation>
|
|
18
|
+
</xs:annotation>
|
|
19
|
+
<xs:complexContent>
|
|
20
|
+
<xs:extension base="blockInstruction">
|
|
21
|
+
<xs:attribute name="description" type="xs:string">
|
|
22
|
+
<xs:annotation>
|
|
23
|
+
<xs:documentation>
|
|
24
|
+
description is copied to cyk_module database table, module_description column
|
|
25
|
+
</xs:documentation>
|
|
26
|
+
</xs:annotation>
|
|
27
|
+
</xs:attribute>
|
|
28
|
+
<xs:attribute name="access" type="xs:string">
|
|
29
|
+
<xs:annotation>
|
|
30
|
+
<xs:documentation>
|
|
31
|
+
Access Control List of the module. User group has an identifier and the permissions are a single letter: (r)ead or (w)rite
|
|
32
|
+
ACL is copied to cyk_module database table, module_access column
|
|
33
|
+
e.g. "admin:* ; readef:r ; writer:rw"
|
|
34
|
+
</xs:documentation>
|
|
35
|
+
</xs:annotation>
|
|
36
|
+
</xs:attribute>
|
|
12
37
|
</xs:extension>
|
|
13
38
|
</xs:complexContent>
|
|
14
39
|
</xs:complexType>
|
|
15
40
|
|
|
16
|
-
<xs:complexType name="
|
|
41
|
+
<xs:complexType name="blockInstruction">
|
|
42
|
+
<xs:annotation>
|
|
43
|
+
<xs:documentation>
|
|
44
|
+
Instructions in a block element are executed sequentially except in the parallel instruction. If not the parallel instruction, you can exit prematurely a block with the break instruction
|
|
45
|
+
</xs:documentation>
|
|
46
|
+
</xs:annotation>
|
|
17
47
|
<xs:group ref="instruction" minOccurs="0" maxOccurs="unbounded"/>
|
|
18
48
|
</xs:complexType>
|
|
19
49
|
|
|
20
50
|
<xs:group name="instruction">
|
|
21
51
|
<xs:choice>
|
|
22
|
-
<xs:element name="module" type="defineModule"/>
|
|
23
52
|
<xs:group ref="declareVariable"/>
|
|
24
53
|
<xs:element name="let" type="let_set"/>
|
|
25
54
|
<xs:element name="set" type="let_set"/>
|
|
26
55
|
<xs:element name="print" type="xs:string"/>
|
|
27
|
-
<xs:element
|
|
28
|
-
<xs:element
|
|
29
|
-
<xs:element name="block" type="
|
|
56
|
+
<xs:element name="if" type="ifInstruction"/>
|
|
57
|
+
<xs:element name="call" type="callInstruction"/>
|
|
58
|
+
<xs:element name="block" type="blockInstruction"/>
|
|
30
59
|
<xs:element name="break" type="xs:string"/>
|
|
31
60
|
<xs:element name="continue" type="xs:string"/>
|
|
32
61
|
<xs:element name="sleep" type="xs:string"/>
|
|
33
|
-
<xs:element
|
|
34
|
-
<xs:element name="loop" type="
|
|
35
|
-
<xs:element
|
|
36
|
-
<xs:element name="parallel" type="
|
|
62
|
+
<xs:element name="while" type="whileInstruction"/>
|
|
63
|
+
<xs:element name="loop" type="loopInstruction"/>
|
|
64
|
+
<xs:element name="stringexec" type="stringexecInstruction"/>
|
|
65
|
+
<xs:element name="parallel" type="parallelInstruction"/>
|
|
37
66
|
|
|
38
67
|
<!-- server side -->
|
|
39
|
-
<xs:element
|
|
40
|
-
<xs:element
|
|
41
|
-
<xs:element
|
|
42
|
-
<xs:element
|
|
43
|
-
<xs:element
|
|
44
|
-
<xs:element
|
|
45
|
-
<xs:element
|
|
46
|
-
<xs:element
|
|
68
|
+
<xs:element name="db.table" type="dbtableInstruction"/>
|
|
69
|
+
<xs:element name="db.query" type="dbqueryInstruction"/>
|
|
70
|
+
<xs:element name="db.insert" type="dbinsertInstruction"/>
|
|
71
|
+
<xs:element name="db.update" type="dbupdateInstruction"/>
|
|
72
|
+
<xs:element name="db.runquery" type="dbrunqueryInstruction"/>
|
|
73
|
+
<xs:element name="db.select" type="dbselectInstruction"/>
|
|
74
|
+
<xs:element name="db.delete" type="dbdeleteInstruction"/>
|
|
75
|
+
<xs:element name="db.call" type="dbcallInstruction"/>
|
|
76
|
+
|
|
77
|
+
<!-- browser side -->
|
|
78
|
+
<xs:element name="setmenu" type="setmenuInstruction"/>
|
|
79
|
+
<xs:element name="closedialog" fixed=""/>
|
|
80
|
+
<xs:element name="showdialog" type="showdialogInstruction"/>
|
|
81
|
+
<xs:element name="closeform" fixed=""/>
|
|
82
|
+
<xs:element name="showform" type="showformInstruction"/>
|
|
83
|
+
<xs:element name="alert" type="alertInstruction"/>
|
|
84
|
+
<xs:element name="resetdialogdirty" fixed=""/>
|
|
85
|
+
<xs:element name="sendevent" type="sendevent"/>
|
|
86
|
+
<xs:element name="toolbar" type="toolbarComponent"/>
|
|
87
|
+
|
|
47
88
|
</xs:choice>
|
|
48
89
|
</xs:group>
|
|
49
90
|
|
|
50
91
|
<xs:group name="declareVariable">
|
|
51
92
|
<xs:choice>
|
|
52
|
-
<xs:element
|
|
53
|
-
<xs:element
|
|
54
|
-
<xs:element
|
|
55
|
-
<xs:element
|
|
56
|
-
<xs:element
|
|
93
|
+
<xs:element name="boolean" type="booleanType"/>
|
|
94
|
+
<xs:element name="number" type="numberType"/>
|
|
95
|
+
<xs:element name="string" type="stringType"/>
|
|
96
|
+
<xs:element name="datetime" type="datetimeType"/>
|
|
97
|
+
<xs:element name="object" type="declareObject"/>
|
|
57
98
|
<xs:element name="function" type="function_method"/>
|
|
58
|
-
<xs:element
|
|
99
|
+
<xs:element name="type" type="typeType"/>
|
|
59
100
|
<xs:element name="module_object" type="moduleObject"/>
|
|
60
|
-
|
|
101
|
+
<xs:element name="moduleobject" type="moduleObject"/>
|
|
102
|
+
<xs:element name="map" type="mapType"/>
|
|
61
103
|
<!-- browser only -->
|
|
62
|
-
<xs:element
|
|
104
|
+
<xs:element name="form" type="formComponent"/>
|
|
105
|
+
<xs:element name="dialog" type="dialogComponent"/>
|
|
106
|
+
<xs:group ref="component"/>
|
|
107
|
+
<!-- server only -->
|
|
108
|
+
<xs:element name="request" type="requestObject"/>
|
|
109
|
+
<xs:element name="response" type="responseObject"/>
|
|
63
110
|
</xs:choice>
|
|
64
111
|
</xs:group>
|
|
65
112
|
|
|
66
113
|
<xs:group name="declareVariable_method">
|
|
67
114
|
<xs:choice>
|
|
68
|
-
<xs:element
|
|
69
|
-
<xs:element
|
|
70
|
-
<xs:element
|
|
71
|
-
<xs:element
|
|
72
|
-
<xs:element
|
|
73
|
-
<xs:element name="function"/>
|
|
74
|
-
<xs:element
|
|
115
|
+
<xs:element name="boolean" type="booleanType"/>
|
|
116
|
+
<xs:element name="number" type="numberType"/>
|
|
117
|
+
<xs:element name="string" type="stringType"/>
|
|
118
|
+
<xs:element name="datetime" type="datetimeType"/>
|
|
119
|
+
<xs:element name="object" type="declareObject"/>
|
|
120
|
+
<xs:element name="function" type="function_method"/>
|
|
121
|
+
<xs:element name="type" type="typeType"/>
|
|
122
|
+
<xs:element name="module_object" type="moduleObject"/>
|
|
123
|
+
<xs:element name="moduleobject" type="moduleObject"/>
|
|
124
|
+
<!-- browser only -->
|
|
125
|
+
<xs:element name="form" type="formComponent"/>
|
|
126
|
+
<xs:element name="dialog" type="dialogComponent"/>
|
|
127
|
+
<xs:group ref="component"/>
|
|
128
|
+
<!-- server only -->
|
|
129
|
+
<xs:element name="request" type="requestObject"/>
|
|
130
|
+
<xs:element name="response" type="responseObject"/>
|
|
75
131
|
|
|
76
132
|
<xs:element name="method" type="function_method"/>
|
|
77
133
|
</xs:choice>
|
|
78
134
|
</xs:group>
|
|
79
135
|
|
|
80
|
-
<xs:
|
|
81
|
-
<xs:
|
|
82
|
-
<xs:
|
|
83
|
-
</xs:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
</xs:
|
|
102
|
-
|
|
103
|
-
<xs:
|
|
104
|
-
<xs:
|
|
105
|
-
<xs:
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
</xs:
|
|
118
|
-
|
|
119
|
-
<xs:
|
|
120
|
-
<xs:
|
|
121
|
-
<xs:
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
<xs:
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
<xs:complexType name="booleanType">
|
|
137
|
+
<xs:annotation>
|
|
138
|
+
<xs:documentation>boolean is a basic data type wrapping javascript boolean type</xs:documentation>
|
|
139
|
+
</xs:annotation>
|
|
140
|
+
<xs:simpleContent>
|
|
141
|
+
<xs:extension base="xs:string">
|
|
142
|
+
<xs:attribute name="name" type="identifier"/>
|
|
143
|
+
</xs:extension>
|
|
144
|
+
</xs:simpleContent>
|
|
145
|
+
</xs:complexType>
|
|
146
|
+
|
|
147
|
+
<xs:complexType name="numberType">
|
|
148
|
+
<xs:annotation>
|
|
149
|
+
<xs:documentation>number is a basic data type wrapping javascript number type</xs:documentation>
|
|
150
|
+
</xs:annotation>
|
|
151
|
+
<xs:simpleContent>
|
|
152
|
+
<xs:extension base="xs:string">
|
|
153
|
+
<xs:attribute name="name" type="identifier"/>
|
|
154
|
+
</xs:extension>
|
|
155
|
+
</xs:simpleContent>
|
|
156
|
+
|
|
157
|
+
</xs:complexType>
|
|
158
|
+
|
|
159
|
+
<xs:complexType name="stringType">
|
|
160
|
+
<xs:annotation>
|
|
161
|
+
<xs:documentation>
|
|
162
|
+
string is a basic data type wrapping javascript string type. To give a literal value to the string variable rather than
|
|
163
|
+
an expression which will be evaluated, use [literal] attribute
|
|
164
|
+
</xs:documentation>
|
|
165
|
+
</xs:annotation>
|
|
166
|
+
<xs:simpleContent>
|
|
167
|
+
<xs:extension base="xs:string">
|
|
168
|
+
<xs:attribute name="name" type="identifier"/>
|
|
169
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
170
|
+
</xs:extension>
|
|
171
|
+
</xs:simpleContent>
|
|
172
|
+
|
|
173
|
+
</xs:complexType>
|
|
174
|
+
|
|
175
|
+
<xs:complexType name="loopInstruction">
|
|
176
|
+
<xs:annotation>
|
|
177
|
+
<xs:documentation>
|
|
178
|
+
The loop instruction block is repeated indefinitely. You can exit the loop with the break instruction,
|
|
179
|
+
</xs:documentation>
|
|
180
|
+
</xs:annotation>
|
|
181
|
+
<xs:complexContent>
|
|
182
|
+
<xs:extension base="blockInstruction">
|
|
183
|
+
</xs:extension>
|
|
184
|
+
</xs:complexContent>
|
|
185
|
+
</xs:complexType>
|
|
186
|
+
|
|
187
|
+
<xs:complexType name="stringexecInstruction">
|
|
188
|
+
<xs:annotation>
|
|
189
|
+
<xs:documentation>
|
|
190
|
+
By default, the text content is considered as an expression
|
|
191
|
+
and evaluated to a string value is interpreted as source code for a block instruction and executed.
|
|
192
|
+
But with [literal] attribute, the text content is not evaluated as an expression and considered directly as the source code
|
|
193
|
+
</xs:documentation>
|
|
194
|
+
</xs:annotation>
|
|
195
|
+
<xs:simpleContent>
|
|
196
|
+
<xs:extension base="xs:string">
|
|
197
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
198
|
+
</xs:extension>
|
|
199
|
+
</xs:simpleContent>
|
|
200
|
+
</xs:complexType>
|
|
201
|
+
|
|
202
|
+
<xs:complexType name="parallelInstruction">
|
|
203
|
+
<xs:annotation>
|
|
204
|
+
<xs:documentation>
|
|
205
|
+
Each instruction in the parallele block starts simultaeously. The parallel instruction ends when every instruction ends.
|
|
206
|
+
</xs:documentation>
|
|
207
|
+
</xs:annotation>
|
|
208
|
+
<xs:complexContent>
|
|
209
|
+
<xs:extension base="blockInstruction">
|
|
210
|
+
</xs:extension>
|
|
211
|
+
</xs:complexContent>
|
|
212
|
+
</xs:complexType>
|
|
213
|
+
|
|
214
|
+
<xs:complexType name="datetimeType">
|
|
215
|
+
<xs:annotation>
|
|
216
|
+
<xs:documentation>
|
|
217
|
+
datetime is a basic data type wrapping javascript Date type.
|
|
218
|
+
</xs:documentation>
|
|
219
|
+
</xs:annotation>
|
|
220
|
+
<xs:simpleContent>
|
|
221
|
+
<xs:extension base="xs:string">
|
|
222
|
+
<xs:attribute name="name" type="identifier"/>
|
|
223
|
+
</xs:extension>
|
|
224
|
+
</xs:simpleContent>
|
|
225
|
+
|
|
226
|
+
</xs:complexType>
|
|
227
|
+
|
|
228
|
+
<xs:complexType name="declareObject" mixed="true">
|
|
229
|
+
<xs:annotation>
|
|
230
|
+
<xs:documentation>
|
|
231
|
+
an object can be declared and defined
|
|
232
|
+
by evaluating an expression which returns an object
|
|
233
|
+
or by declaring all the variables member of the object
|
|
234
|
+
</xs:documentation>
|
|
235
|
+
</xs:annotation>
|
|
236
|
+
<xs:group ref="declareVariable_method" minOccurs="0" maxOccurs="unbounded"/>
|
|
237
|
+
<xs:attribute name="name" type="identifier"/>
|
|
238
|
+
<xs:attribute name="type" type="identifier"/>
|
|
239
|
+
</xs:complexType>
|
|
240
|
+
|
|
241
|
+
<xs:complexType name="typeType">
|
|
242
|
+
<xs:annotation>
|
|
243
|
+
<xs:documentation>
|
|
244
|
+
type declares a sub type from a base object data type. Member variables are declared as sub elements.
|
|
245
|
+
If attribute [literal] is unset, in a declare tag using this type, the declare tag's content is evaluated as an expression which returns that
|
|
246
|
+
will be the initial value of the object declared.
|
|
247
|
+
If attribute [literal] is set (see template and html types), in a declare tag using this type, the new object will not be initialized.
|
|
248
|
+
The tag's content will be accessed using Typescript.
|
|
249
|
+
Attribute [literal] of type declaration should not be confused with attribute [literal] in a declare tag (e.g. string data type)
|
|
250
|
+
To declare an object of the new data type, use [type] attribute of the object element
|
|
251
|
+
</xs:documentation>
|
|
252
|
+
</xs:annotation>
|
|
253
|
+
<xs:group ref="declareVariable_method" minOccurs="0" maxOccurs="unbounded"/>
|
|
254
|
+
<xs:attribute name="name" type="identifier"/>
|
|
255
|
+
<xs:attribute name="type" type="xs:string"/>
|
|
256
|
+
<xs:attribute name="base" type="xs:string"/>
|
|
257
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
258
|
+
</xs:complexType>
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
<xs:complexType name="moduleObject" mixed="true">
|
|
262
|
+
<xs:annotation>
|
|
263
|
+
<xs:documentation>
|
|
264
|
+
If [module] attribute then creates an object by instantiating a module object from module whose name is given by the [module] attribute.
|
|
265
|
+
You can pass values to the constructor of the module as sub elements of this tag.
|
|
266
|
+
Without [module] attribute, tag content must be an expression that evaluates to a module object.
|
|
267
|
+
</xs:documentation>
|
|
268
|
+
</xs:annotation>
|
|
138
269
|
<xs:group ref="declareVariable" minOccurs="0" maxOccurs="unbounded"/>
|
|
139
|
-
<xs:attribute name="name" type="
|
|
140
|
-
<xs:attribute name="
|
|
270
|
+
<xs:attribute name="name" type="identifier"/>
|
|
271
|
+
<xs:attribute name="module" type="identifier"/>
|
|
272
|
+
<xs:attribute name="import" type="xs:string"/>
|
|
141
273
|
</xs:complexType>
|
|
142
274
|
|
|
143
|
-
<xs:complexType name="
|
|
144
|
-
<xs:
|
|
275
|
+
<xs:complexType name="mapType" mixed="true">
|
|
276
|
+
<xs:annotation>
|
|
277
|
+
<xs:documentation>
|
|
278
|
+
(key,value) pairs. Tag content is string litteral
|
|
279
|
+
</xs:documentation>
|
|
280
|
+
</xs:annotation>
|
|
281
|
+
<xs:sequence>
|
|
282
|
+
<xs:group ref="mapKeyValue" maxOccurs="unbounded"/>
|
|
283
|
+
</xs:sequence>
|
|
284
|
+
<xs:attribute name="name"/>
|
|
285
|
+
|
|
145
286
|
</xs:complexType>
|
|
146
287
|
|
|
147
|
-
<xs:
|
|
148
|
-
|
|
288
|
+
<xs:group name="mapKeyValue">
|
|
289
|
+
<xs:annotation>
|
|
290
|
+
<xs:documentation>
|
|
291
|
+
</xs:documentation>
|
|
292
|
+
</xs:annotation>
|
|
293
|
+
<xs:sequence>
|
|
294
|
+
<xs:element name="key"/>
|
|
295
|
+
<xs:element name="value"/>
|
|
296
|
+
</xs:sequence>
|
|
297
|
+
</xs:group>
|
|
149
298
|
|
|
150
|
-
<xs:complexType name="
|
|
151
|
-
<xs:
|
|
299
|
+
<xs:complexType name="let_set" mixed="true">
|
|
300
|
+
<xs:annotation>
|
|
301
|
+
<xs:documentation>
|
|
302
|
+
attribute [name] is the name of the variable to set or an expression evaluated to a variable.
|
|
303
|
+
The new value of the variable is determined by an expression or you can give the member variables of a new object that will be created.
|
|
304
|
+
In case of a string variable, you can set [literal] attribute to indicate that the value is not to be evaluated as an expression.
|
|
305
|
+
In case of a module object variable, you can specify [module] attribute to give the name of the module to load from the database
|
|
306
|
+
|
|
307
|
+
</xs:documentation>
|
|
308
|
+
</xs:annotation>
|
|
309
|
+
<xs:group ref="declareVariable_method" minOccurs="0" maxOccurs="unbounded"/>
|
|
310
|
+
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
311
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
312
|
+
<xs:attribute name="module" type="xs:string"/>
|
|
313
|
+
</xs:complexType>
|
|
314
|
+
|
|
315
|
+
<xs:complexType name="function_method" mixed="true">
|
|
316
|
+
<xs:annotation>
|
|
317
|
+
<xs:documentation>
|
|
318
|
+
declares a function which is obtained by evaluating an expression returning a function or by defining it by sub elements.
|
|
319
|
+
To define a function, include the following sub elements. At first declare the input parameters, then declare an instruction block.
|
|
320
|
+
To return a result, set a [returns] attribute which gives the name of the returned variable and its type e.g. result : number
|
|
321
|
+
</xs:documentation>
|
|
322
|
+
</xs:annotation>
|
|
323
|
+
<xs:sequence>
|
|
152
324
|
<xs:group ref="declareVariable" minOccurs="0" maxOccurs="unbounded"/>
|
|
153
|
-
<xs:element name="block" type="
|
|
325
|
+
<xs:element name="block" type="blockInstruction" minOccurs="0" maxOccurs="1"/>
|
|
154
326
|
</xs:sequence>
|
|
155
|
-
<xs:attribute name="name" type="
|
|
327
|
+
<xs:attribute name="name" type="identifier"/>
|
|
156
328
|
<xs:attribute name="returns" type="xs:string"/>
|
|
329
|
+
<xs:attribute name="synchronized" type="xs:string"/>
|
|
157
330
|
</xs:complexType>
|
|
158
331
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
332
|
+
|
|
333
|
+
<xs:complexType name="ifInstruction">
|
|
334
|
+
<xs:annotation>
|
|
335
|
+
<xs:documentation>
|
|
336
|
+
if instruction is similar to a case in other languages. You can give several pairs of (condition, then block) and a final [else] block.
|
|
337
|
+
The instruction will terminate when the first condition is verified and the corresponding [then] block is executed. See https://www.cyklang.net/reference/#ifInstruction
|
|
338
|
+
</xs:documentation>
|
|
339
|
+
</xs:annotation>
|
|
340
|
+
<xs:sequence>
|
|
341
|
+
<xs:group ref="conditionThen" minOccurs="1" maxOccurs="unbounded"/>
|
|
342
|
+
<xs:sequence minOccurs="0">
|
|
343
|
+
<xs:element name="else" type="blockInstruction"/>
|
|
166
344
|
</xs:sequence>
|
|
167
|
-
</xs:
|
|
168
|
-
</xs:
|
|
345
|
+
</xs:sequence>
|
|
346
|
+
</xs:complexType>
|
|
347
|
+
|
|
169
348
|
|
|
170
349
|
<xs:group name="conditionThen">
|
|
171
350
|
<xs:sequence>
|
|
172
|
-
<xs:element name="condition"
|
|
173
|
-
|
|
351
|
+
<xs:element name="condition">
|
|
352
|
+
<xs:annotation>
|
|
353
|
+
<xs:documentation>
|
|
354
|
+
condition is an expression evaluated to a boolean value. To escape expression's characters special for XML e.g. < character, use XML CDATA construction
|
|
355
|
+
</xs:documentation>
|
|
356
|
+
</xs:annotation>
|
|
357
|
+
</xs:element>
|
|
358
|
+
<xs:element name="then" type="blockInstruction"/>
|
|
174
359
|
</xs:sequence>
|
|
175
360
|
</xs:group>
|
|
176
361
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
<xs:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
<xs:
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
362
|
+
|
|
363
|
+
<xs:complexType name="callInstruction">
|
|
364
|
+
<xs:annotation>
|
|
365
|
+
<xs:documentation>
|
|
366
|
+
you can call a function by using the [function] attribute or an object method by giving simultaneously the [object] to call and the [method] of this object
|
|
367
|
+
</xs:documentation>
|
|
368
|
+
</xs:annotation>
|
|
369
|
+
<xs:group ref="declareVariable" minOccurs="0" maxOccurs="unbounded"/>
|
|
370
|
+
<xs:attribute name="function"/>
|
|
371
|
+
<xs:attribute name="returns"/>
|
|
372
|
+
<xs:attribute name="object"/>
|
|
373
|
+
<xs:attribute name="method"/>
|
|
374
|
+
</xs:complexType>
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
<xs:complexType name="whileInstruction">
|
|
378
|
+
<xs:annotation>
|
|
379
|
+
<xs:documentation>
|
|
380
|
+
classic while control instruction. See https://www.cyklang.net/reference/#whileInstruction
|
|
381
|
+
</xs:documentation>
|
|
382
|
+
</xs:annotation>
|
|
383
|
+
<xs:group ref="conditionThen"/>
|
|
384
|
+
</xs:complexType>
|
|
385
|
+
|
|
192
386
|
|
|
193
387
|
<!--
|
|
194
388
|
server-side
|
|
195
389
|
-->
|
|
196
390
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
<xs:
|
|
201
|
-
|
|
202
|
-
|
|
391
|
+
|
|
392
|
+
<xs:complexType name="dbtableInstruction">
|
|
393
|
+
<xs:annotation>
|
|
394
|
+
<xs:documentation>
|
|
395
|
+
define a database table columns and foreign key. Instruction can be repeated. First time, the table will be created.
|
|
396
|
+
Then, the server will detect new columns and create them.
|
|
397
|
+
</xs:documentation>
|
|
398
|
+
</xs:annotation>
|
|
399
|
+
<xs:group ref="db.tableElement" minOccurs="1" maxOccurs="unbounded"/>
|
|
400
|
+
<xs:attribute name="name" type="identifier"/>
|
|
401
|
+
<xs:attribute name="description" type="xs:string"/>
|
|
402
|
+
</xs:complexType>
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
<xs:group name="db.tableElement">
|
|
406
|
+
<xs:choice>
|
|
407
|
+
<xs:group ref="defineColumn"/>
|
|
408
|
+
<xs:element name="foreignkey" type="foreignKey"/>
|
|
409
|
+
</xs:choice>
|
|
410
|
+
</xs:group>
|
|
203
411
|
|
|
204
412
|
<xs:group name="defineColumn">
|
|
205
413
|
<xs:choice>
|
|
@@ -210,12 +418,20 @@
|
|
|
210
418
|
</xs:choice>
|
|
211
419
|
</xs:group>
|
|
212
420
|
|
|
421
|
+
<xs:complexType name="foreignKey">
|
|
422
|
+
<xs:sequence>
|
|
423
|
+
<xs:element name="string" type="stringType" minOccurs="1" maxOccurs="unbounded"/>
|
|
424
|
+
</xs:sequence>
|
|
425
|
+
<xs:attribute name="parent" type="identifier"/>
|
|
426
|
+
</xs:complexType>
|
|
427
|
+
|
|
213
428
|
<xs:complexType name="numberColumn">
|
|
214
|
-
<xs:attribute name="name" type="
|
|
429
|
+
<xs:attribute name="name" type="identifier"/>
|
|
215
430
|
<xs:attribute name="type">
|
|
216
431
|
<xs:simpleType>
|
|
217
432
|
<xs:restriction base="xs:string">
|
|
218
433
|
<xs:enumeration value="int"></xs:enumeration>
|
|
434
|
+
<xs:enumeration value="numeric(12,2)"></xs:enumeration>
|
|
219
435
|
</xs:restriction>
|
|
220
436
|
</xs:simpleType>
|
|
221
437
|
</xs:attribute>
|
|
@@ -230,7 +446,7 @@
|
|
|
230
446
|
</xs:complexType>
|
|
231
447
|
|
|
232
448
|
<xs:complexType name="stringColumn">
|
|
233
|
-
<xs:attribute name="name" type="
|
|
449
|
+
<xs:attribute name="name" type="identifier"/>
|
|
234
450
|
<xs:attribute name="type">
|
|
235
451
|
<xs:simpleType>
|
|
236
452
|
<xs:restriction base="xs:string">
|
|
@@ -238,7 +454,11 @@
|
|
|
238
454
|
<xs:enumeration value="varchar(30)"></xs:enumeration>
|
|
239
455
|
<xs:enumeration value="varchar(50)"></xs:enumeration>
|
|
240
456
|
<xs:enumeration value="varchar(255)"></xs:enumeration>
|
|
457
|
+
<xs:enumeration value="varchar(1024)"></xs:enumeration>
|
|
458
|
+
<xs:enumeration value="varchar(2048)"></xs:enumeration>
|
|
241
459
|
<xs:enumeration value="text"></xs:enumeration>
|
|
460
|
+
<xs:enumeration value="date"></xs:enumeration>
|
|
461
|
+
<xs:enumeration value="bytea"></xs:enumeration>
|
|
242
462
|
</xs:restriction>
|
|
243
463
|
</xs:simpleType>
|
|
244
464
|
</xs:attribute>
|
|
@@ -246,7 +466,7 @@
|
|
|
246
466
|
</xs:complexType>
|
|
247
467
|
|
|
248
468
|
<xs:complexType name="datetimeColumn">
|
|
249
|
-
<xs:attribute name="name" type="
|
|
469
|
+
<xs:attribute name="name" type="identifier"/>
|
|
250
470
|
<xs:attribute name="type">
|
|
251
471
|
<xs:simpleType>
|
|
252
472
|
<xs:restriction base="xs:string">
|
|
@@ -265,7 +485,7 @@
|
|
|
265
485
|
</xs:complexType>
|
|
266
486
|
|
|
267
487
|
<xs:complexType name="booleanColumn">
|
|
268
|
-
<xs:attribute name="name" type="
|
|
488
|
+
<xs:attribute name="name" type="identifier"/>
|
|
269
489
|
<xs:attribute name="type">
|
|
270
490
|
<xs:simpleType>
|
|
271
491
|
<xs:restriction base="xs:string">
|
|
@@ -275,118 +495,237 @@
|
|
|
275
495
|
</xs:attribute>
|
|
276
496
|
</xs:complexType>
|
|
277
497
|
|
|
278
|
-
<xs:
|
|
279
|
-
<xs:
|
|
280
|
-
<xs:
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
498
|
+
<xs:complexType name="dbqueryInstruction">
|
|
499
|
+
<xs:annotation>
|
|
500
|
+
<xs:documentation>
|
|
501
|
+
define a database query
|
|
502
|
+
</xs:documentation>
|
|
503
|
+
</xs:annotation>
|
|
504
|
+
<xs:group ref="declareQueryParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
505
|
+
<xs:attribute name="name" type="identifier"/>
|
|
506
|
+
</xs:complexType>
|
|
507
|
+
|
|
284
508
|
|
|
285
509
|
<xs:group name="declareQueryParameter">
|
|
286
510
|
<xs:choice>
|
|
287
|
-
<xs:element
|
|
288
|
-
<xs:element
|
|
289
|
-
<xs:element
|
|
290
|
-
<xs:element
|
|
511
|
+
<xs:element name="boolean" type="booleanType"/>
|
|
512
|
+
<xs:element name="number" type="numberType"/>
|
|
513
|
+
<xs:element name="string" type="stringType"/>
|
|
514
|
+
<xs:element name="datetime" type="datetimeType"/>
|
|
291
515
|
</xs:choice>
|
|
292
516
|
</xs:group>
|
|
293
517
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
<xs:
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
<xs:
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
<xs:
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
518
|
+
|
|
519
|
+
<xs:complexType name="dbinsertInstruction">
|
|
520
|
+
<xs:annotation>
|
|
521
|
+
<xs:documentation>
|
|
522
|
+
sql insert
|
|
523
|
+
</xs:documentation>
|
|
524
|
+
</xs:annotation>
|
|
525
|
+
<xs:sequence>
|
|
526
|
+
<xs:element name="object" type="declareObject"/>
|
|
527
|
+
</xs:sequence>
|
|
528
|
+
<xs:attribute name="table" use="required" type="identifier"/>
|
|
529
|
+
<xs:attribute name="returning_into" type="identifier"/>
|
|
530
|
+
</xs:complexType>
|
|
531
|
+
|
|
532
|
+
<xs:complexType name="dbupdateInstruction">
|
|
533
|
+
<xs:annotation>
|
|
534
|
+
<xs:documentation>
|
|
535
|
+
sql update
|
|
536
|
+
</xs:documentation>
|
|
537
|
+
</xs:annotation>
|
|
538
|
+
<xs:sequence>
|
|
539
|
+
<xs:element name="object" type="declareObject"/>
|
|
540
|
+
</xs:sequence>
|
|
541
|
+
<xs:attribute name="table" use="required" type="identifier"/>
|
|
542
|
+
<xs:attribute name="returning_into" type="identifier"/>
|
|
543
|
+
</xs:complexType>
|
|
544
|
+
|
|
545
|
+
<xs:complexType name="dbrunqueryInstruction">
|
|
546
|
+
<xs:annotation>
|
|
547
|
+
<xs:documentation>
|
|
548
|
+
sql run query
|
|
549
|
+
</xs:documentation>
|
|
550
|
+
</xs:annotation>
|
|
551
|
+
<xs:group ref="declareQueryParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
552
|
+
<xs:attribute name="name" use="required" type="identifier"/>
|
|
553
|
+
<xs:attribute name="result" use="required" type="identifier"/>
|
|
554
|
+
</xs:complexType>
|
|
555
|
+
|
|
556
|
+
<xs:complexType name="dbselectInstruction">
|
|
557
|
+
<xs:annotation>
|
|
558
|
+
<xs:documentation>
|
|
559
|
+
sql select
|
|
560
|
+
</xs:documentation>
|
|
561
|
+
</xs:annotation>
|
|
562
|
+
<xs:group ref="declareQueryParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
563
|
+
<xs:attribute name="table" use="required" type="identifier"/>
|
|
564
|
+
<xs:attribute name="result" use="required" type="identifier"/>
|
|
565
|
+
</xs:complexType>
|
|
566
|
+
|
|
567
|
+
<xs:complexType name="dbdeleteInstruction">
|
|
568
|
+
<xs:annotation>
|
|
569
|
+
<xs:documentation>
|
|
570
|
+
sql delete
|
|
571
|
+
</xs:documentation>
|
|
572
|
+
</xs:annotation>
|
|
573
|
+
<xs:sequence>
|
|
574
|
+
<xs:element name="object" type="declareObject"/>
|
|
575
|
+
</xs:sequence>
|
|
576
|
+
<xs:attribute name="table" use="required" type="identifier"/>
|
|
577
|
+
</xs:complexType>
|
|
578
|
+
|
|
579
|
+
<xs:complexType name="dbcallInstruction">
|
|
580
|
+
<xs:annotation>
|
|
581
|
+
<xs:documentation>
|
|
582
|
+
remotely execute on the server a module's method.
|
|
583
|
+
</xs:documentation>
|
|
584
|
+
</xs:annotation>
|
|
585
|
+
<xs:group ref="declareQueryParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
586
|
+
<xs:attribute name="module" use="required" type="identifier"/>
|
|
587
|
+
<xs:attribute name="method" use="required" type="identifier"/>
|
|
588
|
+
<xs:attribute name="returns" type="identifier"/>
|
|
589
|
+
</xs:complexType>
|
|
347
590
|
|
|
348
591
|
<!--
|
|
349
592
|
browser-only
|
|
350
593
|
-->
|
|
351
594
|
|
|
352
|
-
<xs:element name="form" type="formComponent">
|
|
353
|
-
</xs:element>
|
|
354
|
-
|
|
355
595
|
<xs:complexType name="formComponent">
|
|
356
596
|
<xs:complexContent>
|
|
357
597
|
<xs:extension base="gridComponent">
|
|
358
|
-
<xs:attribute name="
|
|
598
|
+
<xs:attribute name="title" type="xs:string"/>
|
|
599
|
+
<xs:attribute name="card" type="xs:string" fixed=""/>
|
|
600
|
+
</xs:extension>
|
|
601
|
+
</xs:complexContent>
|
|
602
|
+
</xs:complexType>
|
|
603
|
+
|
|
604
|
+
<xs:complexType name="dialogComponent">
|
|
605
|
+
<xs:complexContent>
|
|
606
|
+
<xs:extension base="formComponent">
|
|
607
|
+
<xs:attribute name="seamless" fixed=""/>
|
|
608
|
+
<xs:attribute name="maximized" fixed=""/>
|
|
609
|
+
<xs:attribute name="full-width" fixed=""/>
|
|
610
|
+
<xs:attribute name="full-height" fixed=""/>
|
|
611
|
+
<xs:attribute name="position">
|
|
612
|
+
<xs:simpleType>
|
|
613
|
+
<xs:restriction base="xs:string">
|
|
614
|
+
<xs:enumeration value="standard"/>
|
|
615
|
+
<xs:enumeration value="top"/>
|
|
616
|
+
<xs:enumeration value="bottom"/>
|
|
617
|
+
<xs:enumeration value="right"/>
|
|
618
|
+
<xs:enumeration value="left"/>
|
|
619
|
+
</xs:restriction>
|
|
620
|
+
</xs:simpleType>
|
|
621
|
+
</xs:attribute>
|
|
622
|
+
<xs:attribute name="transition_show">
|
|
623
|
+
<xs:simpleType>
|
|
624
|
+
<xs:restriction base="xs:string">
|
|
625
|
+
<xs:enumeration value="fade"/>
|
|
626
|
+
<xs:enumeration value="slide-right"/>
|
|
627
|
+
<xs:enumeration value="slide-left"/>
|
|
628
|
+
<xs:enumeration value="slide-up"></xs:enumeration>
|
|
629
|
+
<xs:enumeration value="slide-down"></xs:enumeration>
|
|
630
|
+
<xs:enumeration value="scale"/>
|
|
631
|
+
<xs:enumeration value="rotate"/>
|
|
632
|
+
<xs:enumeration value="flip-right"/>
|
|
633
|
+
<xs:enumeration value="flip-left"/>
|
|
634
|
+
<xs:enumeration value="flip-up"/>
|
|
635
|
+
<xs:enumeration value="flip-down"/>
|
|
636
|
+
<xs:enumeration value="jump-right"/>
|
|
637
|
+
<xs:enumeration value="jump-left"/>
|
|
638
|
+
<xs:enumeration value="jump-up"/>
|
|
639
|
+
<xs:enumeration value="jump-down"/>
|
|
640
|
+
</xs:restriction>
|
|
641
|
+
</xs:simpleType>
|
|
642
|
+
</xs:attribute>
|
|
643
|
+
<xs:attribute name="transition_hide">
|
|
644
|
+
<xs:simpleType>
|
|
645
|
+
<xs:restriction base="xs:string">
|
|
646
|
+
<xs:enumeration value="fade"/>
|
|
647
|
+
<xs:enumeration value="slide-right"/>
|
|
648
|
+
<xs:enumeration value="slide-left"/>
|
|
649
|
+
<xs:enumeration value="slide-up"></xs:enumeration>
|
|
650
|
+
<xs:enumeration value="slide-down"></xs:enumeration>
|
|
651
|
+
<xs:enumeration value="scale"/>
|
|
652
|
+
<xs:enumeration value="rotate"/>
|
|
653
|
+
<xs:enumeration value="flip-right"/>
|
|
654
|
+
<xs:enumeration value="flip-left"/>
|
|
655
|
+
<xs:enumeration value="flip-up"/>
|
|
656
|
+
<xs:enumeration value="flip-down"/>
|
|
657
|
+
<xs:enumeration value="jump-right"/>
|
|
658
|
+
<xs:enumeration value="jump-left"/>
|
|
659
|
+
<xs:enumeration value="jump-up"/>
|
|
660
|
+
<xs:enumeration value="jump-down"/>
|
|
661
|
+
</xs:restriction>
|
|
662
|
+
</xs:simpleType>
|
|
663
|
+
</xs:attribute>
|
|
664
|
+
<xs:attribute name="transition-duration" type="xs:integer"/>
|
|
359
665
|
</xs:extension>
|
|
360
666
|
</xs:complexContent>
|
|
361
667
|
</xs:complexType>
|
|
362
668
|
|
|
363
669
|
<xs:complexType name="gridComponent" mixed="true">
|
|
670
|
+
<xs:annotation>
|
|
671
|
+
<xs:documentation>
|
|
672
|
+
HTML 5 CSS Grid Layout. See https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout for more information
|
|
673
|
+
</xs:documentation>
|
|
674
|
+
</xs:annotation>
|
|
364
675
|
<xs:sequence>
|
|
365
676
|
<xs:group ref="gridParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
366
677
|
<xs:group ref="component" minOccurs="0" maxOccurs="unbounded"/>
|
|
367
678
|
</xs:sequence>
|
|
368
|
-
<xs:attribute name="
|
|
369
|
-
|
|
679
|
+
<xs:attribute name="name" type="identifier"/>
|
|
680
|
+
|
|
681
|
+
<xs:attribute name="grid" type="xs:string"/>
|
|
682
|
+
<xs:attribute name="grid-template-areas" type="xs:string"/>
|
|
683
|
+
<xs:attribute name="grid-template" type="xs:string"/>
|
|
684
|
+
<xs:attribute name="grid-template-columns" type="xs:string"/>
|
|
685
|
+
<xs:attribute name="grid-template-rows" type="xs:string"/>
|
|
686
|
+
<xs:attribute name="grid-auto-rows" type="xs:string"/>
|
|
687
|
+
<xs:attribute name="grid-auto-columns" type="xs:string"/>
|
|
688
|
+
<xs:attribute name="grid-auto-flow" type="xs:string"/>
|
|
689
|
+
|
|
690
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
691
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
692
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
693
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
694
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
695
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
696
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
370
697
|
</xs:complexType>
|
|
371
698
|
|
|
372
699
|
<xs:group name="gridParameter">
|
|
373
700
|
<xs:choice>
|
|
374
|
-
<xs:element
|
|
375
|
-
<xs:element
|
|
701
|
+
<xs:element name="string" type="stringType"/>
|
|
702
|
+
<xs:element name="boolean" type="booleanType"/>
|
|
376
703
|
</xs:choice>
|
|
377
704
|
</xs:group>
|
|
378
705
|
|
|
379
706
|
<xs:group name="component">
|
|
380
707
|
<xs:choice>
|
|
381
708
|
<xs:element name="grid" type="gridComponent"/>
|
|
709
|
+
<xs:element name="cardsection" type="gridComponent"/>
|
|
710
|
+
<xs:element name="cardactions" type="gridComponent"/>
|
|
382
711
|
<xs:element name="input" type="inputComponent"/>
|
|
383
712
|
<xs:element name="button" type="buttonComponent"/>
|
|
384
713
|
<xs:element name="field" type="fieldComponent"/>
|
|
714
|
+
<xs:element name="separator" type="separatorComponent"/>
|
|
715
|
+
<xs:element name="tableview" type="tableviewComponent"/>
|
|
716
|
+
<xs:element name="select" type="selectComponent"/>
|
|
717
|
+
<xs:element name="html" type="htmlComponent"/>
|
|
718
|
+
<xs:element name="qimg" type="qimgComponent"/>
|
|
719
|
+
<xs:element name="form" type="formComponent"/>
|
|
385
720
|
</xs:choice>
|
|
386
721
|
</xs:group>
|
|
387
722
|
|
|
388
723
|
<xs:complexType name="inputComponent">
|
|
389
|
-
<xs:
|
|
724
|
+
<xs:sequence>
|
|
725
|
+
<xs:element name="string" type="inputParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
726
|
+
<xs:group ref="componentTemplate" minOccurs="0" maxOccurs="unbounded"/>
|
|
727
|
+
</xs:sequence>
|
|
728
|
+
|
|
390
729
|
<xs:attribute name="model" type="xs:string"/>
|
|
391
730
|
<xs:attribute name="readonly" type="xs:string"/>
|
|
392
731
|
<xs:attribute name="disable" type="xs:string"/>
|
|
@@ -404,22 +743,191 @@
|
|
|
404
743
|
<xs:attribute name="rounded" type="xs:string"/>
|
|
405
744
|
<xs:attribute name="square" type="xs:string"/>
|
|
406
745
|
<xs:attribute name="autogrow" type="xs:string"/>
|
|
746
|
+
<xs:attribute name="mandatory" type="xs:string"/>
|
|
747
|
+
|
|
748
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
749
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
750
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
751
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
752
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
753
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
754
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
755
|
+
|
|
756
|
+
<xs:attribute name="hidden" type="xs:string"/>
|
|
757
|
+
</xs:complexType>
|
|
758
|
+
|
|
759
|
+
<xs:complexType name="inputParameter">
|
|
760
|
+
<xs:simpleContent>
|
|
761
|
+
<xs:restriction base="stringType">
|
|
762
|
+
<xs:attribute name="name" use="required">
|
|
763
|
+
<xs:simpleType>
|
|
764
|
+
<xs:restriction base="identifier">
|
|
765
|
+
<xs:enumeration value="label"/>
|
|
766
|
+
<xs:enumeration value="visible"/>
|
|
767
|
+
<xs:enumeration value="model"/>
|
|
768
|
+
</xs:restriction>
|
|
769
|
+
</xs:simpleType>
|
|
770
|
+
</xs:attribute>
|
|
771
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
772
|
+
</xs:restriction>
|
|
773
|
+
</xs:simpleContent>
|
|
407
774
|
</xs:complexType>
|
|
408
775
|
|
|
409
776
|
<xs:complexType name="buttonComponent">
|
|
410
|
-
<xs:
|
|
777
|
+
<xs:sequence>
|
|
778
|
+
<xs:element name="string" type="buttonParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
779
|
+
<xs:element name="function" type="buttonEvent" minOccurs="0" maxOccurs="1"/>
|
|
780
|
+
</xs:sequence>
|
|
781
|
+
|
|
411
782
|
<xs:attribute name="icon" type="xs:string"/>
|
|
412
783
|
<xs:attribute name="label" type="xs:string"/>
|
|
784
|
+
<xs:attribute name="validate_dialog" fixed=""/>
|
|
785
|
+
<xs:attribute name="save" fixed=""/>
|
|
786
|
+
<xs:attribute name="if-dirty" fixed=""/>
|
|
787
|
+
<xs:attribute name="closeform" fixed=""/>
|
|
788
|
+
|
|
789
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
790
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
791
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
792
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
793
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
794
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
795
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
413
796
|
</xs:complexType>
|
|
414
797
|
|
|
415
|
-
<xs:
|
|
416
|
-
<xs:
|
|
417
|
-
<xs:
|
|
418
|
-
|
|
419
|
-
|
|
798
|
+
<xs:complexType name="buttonParameter">
|
|
799
|
+
<xs:simpleContent>
|
|
800
|
+
<xs:restriction base="stringType">
|
|
801
|
+
<xs:attribute name="name" use="required">
|
|
802
|
+
<xs:simpleType>
|
|
803
|
+
<xs:restriction base="identifier">
|
|
804
|
+
<xs:enumeration value="label"></xs:enumeration>
|
|
805
|
+
<xs:enumeration value="visible"></xs:enumeration>
|
|
806
|
+
</xs:restriction>
|
|
807
|
+
</xs:simpleType>
|
|
808
|
+
</xs:attribute>
|
|
809
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
810
|
+
</xs:restriction>
|
|
811
|
+
</xs:simpleContent>
|
|
812
|
+
</xs:complexType>
|
|
813
|
+
|
|
814
|
+
<xs:complexType name="buttonEvent">
|
|
815
|
+
<xs:complexContent>
|
|
816
|
+
<xs:restriction base="function_method">
|
|
817
|
+
<xs:sequence>
|
|
818
|
+
<xs:group ref="declareVariable" minOccurs="0" maxOccurs="unbounded"/>
|
|
819
|
+
<xs:element name="block" type="blockInstruction" minOccurs="1" maxOccurs="1"/>
|
|
820
|
+
</xs:sequence>
|
|
821
|
+
<xs:attribute name="name" use="required">
|
|
822
|
+
<xs:simpleType>
|
|
823
|
+
<xs:restriction base="identifier">
|
|
824
|
+
<xs:enumeration value="onclick"></xs:enumeration>
|
|
825
|
+
</xs:restriction>
|
|
826
|
+
</xs:simpleType>
|
|
827
|
+
</xs:attribute>
|
|
828
|
+
</xs:restriction>
|
|
829
|
+
</xs:complexContent>
|
|
830
|
+
</xs:complexType>
|
|
420
831
|
|
|
421
832
|
<xs:complexType name="fieldComponent">
|
|
422
833
|
<xs:group ref="componentTemplate" minOccurs="0" maxOccurs="unbounded"/>
|
|
834
|
+
|
|
835
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
836
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
837
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
838
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
839
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
840
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
841
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
842
|
+
</xs:complexType>
|
|
843
|
+
|
|
844
|
+
<xs:complexType name="tableviewComponent">
|
|
845
|
+
<xs:attribute name="name" type="xs:string"/>
|
|
846
|
+
<xs:attribute name="model" type="xs:string" use="required"/>
|
|
847
|
+
<xs:attribute name="title" type="xs:string"/>
|
|
848
|
+
<xs:attribute name="not-empty" fixed=""/>
|
|
849
|
+
<xs:attribute name="rows-per-page" type="xs:integer"/>
|
|
850
|
+
|
|
851
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
852
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
853
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
854
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
855
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
856
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
857
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
858
|
+
|
|
859
|
+
<xs:attribute name="template" type="xs:string"/>
|
|
860
|
+
</xs:complexType>
|
|
861
|
+
|
|
862
|
+
<xs:complexType name="selectComponent">
|
|
863
|
+
<xs:sequence>
|
|
864
|
+
<xs:element name="string" type="selectParameter" minOccurs="0" maxOccurs="unbounded"/>
|
|
865
|
+
<xs:element name="object" type="declareObject" minOccurs="0"/>
|
|
866
|
+
<xs:element name="function" minOccurs="0">
|
|
867
|
+
<xs:complexType>
|
|
868
|
+
<xs:complexContent>
|
|
869
|
+
<xs:restriction base="function_method">
|
|
870
|
+
<xs:sequence>
|
|
871
|
+
<xs:group ref="declareVariable" minOccurs="0" maxOccurs="unbounded"/>
|
|
872
|
+
<xs:element name="block" type="blockInstruction" minOccurs="1" maxOccurs="1"/>
|
|
873
|
+
</xs:sequence>
|
|
874
|
+
<xs:attribute name="name" use="required">
|
|
875
|
+
<xs:simpleType>
|
|
876
|
+
<xs:restriction base="identifier">
|
|
877
|
+
<xs:enumeration value="add_function"></xs:enumeration>
|
|
878
|
+
</xs:restriction>
|
|
879
|
+
</xs:simpleType>
|
|
880
|
+
</xs:attribute>
|
|
881
|
+
</xs:restriction>
|
|
882
|
+
</xs:complexContent>
|
|
883
|
+
</xs:complexType>
|
|
884
|
+
</xs:element>
|
|
885
|
+
</xs:sequence>
|
|
886
|
+
<xs:attribute name="model"/>
|
|
887
|
+
<xs:attribute name="label"/>
|
|
888
|
+
<xs:attribute name="readonly" fixed=""/>
|
|
889
|
+
|
|
890
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
891
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
892
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
893
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
894
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
895
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
896
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
897
|
+
</xs:complexType>
|
|
898
|
+
|
|
899
|
+
<xs:complexType name="selectParameter">
|
|
900
|
+
<xs:simpleContent>
|
|
901
|
+
<xs:restriction base="stringType">
|
|
902
|
+
<xs:attribute name="name" use="required">
|
|
903
|
+
<xs:simpleType>
|
|
904
|
+
<xs:restriction base="identifier">
|
|
905
|
+
<xs:enumeration value="model"/>
|
|
906
|
+
<xs:enumeration value="label"/>
|
|
907
|
+
<xs:enumeration value="visible"/>
|
|
908
|
+
<xs:enumeration value="option_value"/>
|
|
909
|
+
<xs:enumeration value="option_label"/>
|
|
910
|
+
<xs:enumeration value="add_label"/>
|
|
911
|
+
<xs:enumeration value="comp_options"/>
|
|
912
|
+
</xs:restriction>
|
|
913
|
+
</xs:simpleType>
|
|
914
|
+
</xs:attribute>
|
|
915
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
916
|
+
</xs:restriction>
|
|
917
|
+
</xs:simpleContent>
|
|
918
|
+
</xs:complexType>
|
|
919
|
+
|
|
920
|
+
<xs:complexType name="separatorComponent">
|
|
921
|
+
<xs:attribute name="dark" fixed=""/>
|
|
922
|
+
<xs:attribute name="vertical" fixed=""/>
|
|
923
|
+
|
|
924
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
925
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
926
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
927
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
928
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
929
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
930
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
423
931
|
</xs:complexType>
|
|
424
932
|
|
|
425
933
|
<xs:group name="componentTemplate">
|
|
@@ -436,4 +944,147 @@
|
|
|
436
944
|
</xs:simpleContent>
|
|
437
945
|
</xs:complexType>
|
|
438
946
|
|
|
947
|
+
<xs:complexType name="setmenuInstruction">
|
|
948
|
+
<xs:annotation>
|
|
949
|
+
<xs:documentation>
|
|
950
|
+
sets the drawer menu content.
|
|
951
|
+
</xs:documentation>
|
|
952
|
+
</xs:annotation>
|
|
953
|
+
<xs:sequence>
|
|
954
|
+
<xs:element name="object" type="declareObject">
|
|
955
|
+
<xs:annotation>
|
|
956
|
+
<xs:documentation>
|
|
957
|
+
<![CDATA[
|
|
958
|
+
Each menu item is described by a string variable composed of the following parts joined by a semi-colon character : title;icon;caption;path
|
|
959
|
+
e.g. Account table;receipt;Manage the account table; /run/accounint/account
|
|
960
|
+
]]>
|
|
961
|
+
</xs:documentation>
|
|
962
|
+
</xs:annotation>
|
|
963
|
+
</xs:element>
|
|
964
|
+
</xs:sequence>
|
|
965
|
+
</xs:complexType>
|
|
966
|
+
|
|
967
|
+
<xs:complexType name="showdialogInstruction">
|
|
968
|
+
<xs:annotation>
|
|
969
|
+
<xs:documentation>
|
|
970
|
+
show a modal dialog box. You can stack up to 6 modal dialog box.
|
|
971
|
+
</xs:documentation>
|
|
972
|
+
</xs:annotation>
|
|
973
|
+
<xs:sequence>
|
|
974
|
+
<xs:element name="dialog" type="dialogComponent"/>
|
|
975
|
+
</xs:sequence>
|
|
976
|
+
</xs:complexType>
|
|
977
|
+
|
|
978
|
+
<xs:complexType name="showformInstruction">
|
|
979
|
+
<xs:all>
|
|
980
|
+
<xs:element name="toolbar" type="toolbarComponent" minOccurs="0" maxOccurs="1"/>
|
|
981
|
+
<xs:element name="form" type="formComponent"/>
|
|
982
|
+
</xs:all>
|
|
983
|
+
</xs:complexType>
|
|
984
|
+
|
|
985
|
+
<xs:complexType name="alertInstruction">
|
|
986
|
+
<xs:sequence>
|
|
987
|
+
<xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
|
|
988
|
+
<xs:element name="message" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
|
989
|
+
</xs:sequence>
|
|
990
|
+
</xs:complexType>
|
|
991
|
+
|
|
992
|
+
<xs:complexType name="sendevent">
|
|
993
|
+
<xs:sequence>
|
|
994
|
+
<xs:element name="string" type="sendeventParameter" minOccurs="2" maxOccurs="2"/>
|
|
995
|
+
</xs:sequence>
|
|
996
|
+
</xs:complexType>
|
|
997
|
+
|
|
998
|
+
<xs:complexType name="sendeventParameter">
|
|
999
|
+
<xs:simpleContent>
|
|
1000
|
+
<xs:restriction base="stringType">
|
|
1001
|
+
<xs:attribute name="name">
|
|
1002
|
+
<xs:simpleType>
|
|
1003
|
+
<xs:restriction base="identifier">
|
|
1004
|
+
<xs:enumeration value="component"></xs:enumeration>
|
|
1005
|
+
<xs:enumeration value="event"></xs:enumeration>
|
|
1006
|
+
</xs:restriction>
|
|
1007
|
+
</xs:simpleType>
|
|
1008
|
+
</xs:attribute>
|
|
1009
|
+
</xs:restriction>
|
|
1010
|
+
</xs:simpleContent>
|
|
1011
|
+
</xs:complexType>
|
|
1012
|
+
|
|
1013
|
+
<xs:complexType name="toolbarComponent" mixed="true">
|
|
1014
|
+
<xs:sequence>
|
|
1015
|
+
<xs:group ref="component" minOccurs="0" maxOccurs="unbounded"/>
|
|
1016
|
+
</xs:sequence>
|
|
1017
|
+
<xs:attribute name="name" type="xs:string"/>
|
|
1018
|
+
</xs:complexType>
|
|
1019
|
+
|
|
1020
|
+
<xs:complexType name="htmlComponent">
|
|
1021
|
+
<xs:simpleContent>
|
|
1022
|
+
<xs:extension base="xs:string">
|
|
1023
|
+
<xs:attribute name="literal" type="xs:string" fixed=""/>
|
|
1024
|
+
<xs:attribute name="href" type="xs:string"/>
|
|
1025
|
+
|
|
1026
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
1027
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
1028
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
1029
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
1030
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
1031
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
1032
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
1033
|
+
</xs:extension>
|
|
1034
|
+
</xs:simpleContent>
|
|
1035
|
+
</xs:complexType>
|
|
1036
|
+
|
|
1037
|
+
<xs:complexType name="qimgComponent">
|
|
1038
|
+
<xs:sequence>
|
|
1039
|
+
<xs:element name="string" type="qimgParameter" minOccurs="0" maxOccurs="2"/>
|
|
1040
|
+
<xs:element name="object" type="declareObject"/>
|
|
1041
|
+
</xs:sequence>
|
|
1042
|
+
|
|
1043
|
+
<xs:attribute name="model" type="xs:string"/>
|
|
1044
|
+
<xs:attribute name="label" type="xs:string"/>
|
|
1045
|
+
|
|
1046
|
+
<xs:attribute name="grid-area" type="xs:string"/>
|
|
1047
|
+
<xs:attribute name="grid-column-start" type="xs:string"/>
|
|
1048
|
+
<xs:attribute name="grid-column-end" type="xs:string"/>
|
|
1049
|
+
<xs:attribute name="grid-row-start" type="xs:string"/>
|
|
1050
|
+
<xs:attribute name="grid-row-end" type="xs:string"/>
|
|
1051
|
+
<xs:attribute name="grid-column" type="xs:string"/>
|
|
1052
|
+
<xs:attribute name="grid-row" type="xs:string"/>
|
|
1053
|
+
</xs:complexType>
|
|
1054
|
+
|
|
1055
|
+
<xs:complexType name="qimgParameter">
|
|
1056
|
+
<xs:simpleContent>
|
|
1057
|
+
<xs:restriction base="stringType">
|
|
1058
|
+
<xs:attribute name="name" use="required">
|
|
1059
|
+
<xs:simpleType>
|
|
1060
|
+
<xs:restriction base="identifier">
|
|
1061
|
+
<xs:enumeration value="table_name"/>
|
|
1062
|
+
<xs:enumeration value="field_name"/>
|
|
1063
|
+
</xs:restriction>
|
|
1064
|
+
</xs:simpleType>
|
|
1065
|
+
</xs:attribute>
|
|
1066
|
+
</xs:restriction>
|
|
1067
|
+
</xs:simpleContent>
|
|
1068
|
+
</xs:complexType>
|
|
1069
|
+
|
|
1070
|
+
<!-- server side only objects -->
|
|
1071
|
+
|
|
1072
|
+
<xs:complexType name="requestObject">
|
|
1073
|
+
<xs:annotation>
|
|
1074
|
+
<xs:documentation>
|
|
1075
|
+
Only on .cyk service page module, in the parameters of [get] function.
|
|
1076
|
+
</xs:documentation>
|
|
1077
|
+
</xs:annotation>
|
|
1078
|
+
<xs:attribute name="name"/>
|
|
1079
|
+
</xs:complexType>
|
|
1080
|
+
|
|
1081
|
+
<xs:complexType name="responseObject">
|
|
1082
|
+
<xs:annotation>
|
|
1083
|
+
<xs:documentation>
|
|
1084
|
+
Only on .cyk service page module, in the parameters of [get] function.
|
|
1085
|
+
</xs:documentation>
|
|
1086
|
+
</xs:annotation>
|
|
1087
|
+
<xs:attribute name="name"/>
|
|
1088
|
+
</xs:complexType>
|
|
1089
|
+
|
|
439
1090
|
</xs:schema>
|