fixed sonar issue in DBConfigFactory
[ccsdk/sli/core.git] / sli / common / src / test / resources / svclogic.xsd
1 <?xml version = "1.0" encoding = "UTF-8"?>\r
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onap.org/sdnc/svclogic" xmlns="http://www.onap.org/sdnc/svclogic">\r
3 \r
4         <xsd:simpleType name="modeType">\r
5                 <xsd:restriction base="xsd:string">\r
6                         <xsd:enumeration value="sync" />\r
7                         <xsd:enumeration value="async" />\r
8                 </xsd:restriction>\r
9         </xsd:simpleType>\r
10 \r
11         <xsd:group name="node">\r
12                 <xsd:choice>\r
13                         <xsd:element ref="block" />\r
14                         <xsd:element ref="is-available" />\r
15                         <xsd:element ref="exists" />\r
16                         <xsd:element ref="reserve" />\r
17                         <xsd:element ref="release" />\r
18                         <xsd:element ref="allocate" />\r
19                         <xsd:element ref="get-resource" />\r
20                         <xsd:element ref="configure" />\r
21                         <xsd:element ref="return" />\r
22                         <xsd:element ref="switch" />\r
23                         <xsd:element ref="record" />\r
24                         <xsd:element ref="save" />\r
25                         <xsd:element ref="for" />\r
26                         <xsd:element ref="set" />\r
27                         <xsd:element ref="execute" />\r
28                         <xsd:element ref="delete" />\r
29                         <xsd:element ref="update" />\r
30                         <xsd:element ref="call" />\r
31                         <xsd:element ref="notify" />\r
32                         <xsd:element ref="break" />\r
33                         <xsd:element ref="while" />\r
34                         <xsd:element ref="exit" />\r
35                 </xsd:choice>\r
36         </xsd:group>\r
37 \r
38         <xsd:element name="service-logic">\r
39                 <xsd:complexType>\r
40                         <xsd:sequence>\r
41                                 <xsd:element ref="method" minOccurs="0" maxOccurs="100" />\r
42                         </xsd:sequence>\r
43                         <xsd:attribute name="module" use="required" type="xsd:string" />\r
44                         <xsd:attribute name="version" use="required" type="xsd:string" />\r
45                 </xsd:complexType>\r
46         </xsd:element>\r
47 \r
48         <xsd:element name="method">\r
49                 <xsd:complexType>\r
50                         <xsd:sequence>\r
51                                 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
52                         </xsd:sequence>\r
53                         <xsd:attribute name="rpc" use="required" type="xsd:string" />\r
54                         <xsd:attribute name="mode" use="optional" type="modeType" />\r
55                 </xsd:complexType>\r
56         </xsd:element>\r
57 \r
58         <xsd:element name="block">\r
59                 <xsd:complexType>\r
60                         <xsd:sequence>\r
61                                 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
62                         </xsd:sequence>\r
63                         <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />\r
64                 </xsd:complexType>\r
65         </xsd:element>\r
66 \r
67         <xsd:element name="is-available">\r
68                 <xsd:complexType>\r
69                         <xsd:sequence>\r
70                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
71                         </xsd:sequence>\r
72                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
73                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
74                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
75                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
76                 </xsd:complexType>\r
77         </xsd:element>\r
78 \r
79         <xsd:element name="exists">\r
80                 <xsd:complexType>\r
81                         <xsd:sequence>\r
82                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
83                         </xsd:sequence>\r
84                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
85                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
86                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
87                         <xsd:attribute name="key" use="required" type="xsd:string" />\r
88                 </xsd:complexType>\r
89         </xsd:element>\r
90 \r
91         <xsd:element name="outcome">\r
92                 <xsd:complexType>\r
93                         <xsd:sequence>\r
94                                 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
95                         </xsd:sequence>\r
96                         <xsd:attribute name="ref" use="optional" type="xsd:string" />\r
97                         <xsd:attribute name="value" use="required" type="xsd:string" />\r
98                 </xsd:complexType>\r
99         </xsd:element>\r
100 \r
101         <xsd:element name="reserve">\r
102                 <xsd:complexType>\r
103                         <xsd:sequence>\r
104                                 <!-- This node does not actually read from parameters -->\r
105                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
106                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
107                         </xsd:sequence>\r
108                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
109                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
110                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
111                         <xsd:attribute name="select" use="optional" type="xsd:string" />\r
112                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
113                 </xsd:complexType>\r
114         </xsd:element>\r
115 \r
116         <xsd:element name="release">\r
117                 <xsd:complexType>\r
118                         <xsd:sequence>\r
119                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
120                         </xsd:sequence>\r
121                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
122                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
123                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
124                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
125                 </xsd:complexType>\r
126         </xsd:element>\r
127 \r
128         <xsd:element name="record">\r
129                 <xsd:complexType>\r
130                         <xsd:sequence>\r
131                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
132                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
133                         </xsd:sequence>\r
134                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
135                 </xsd:complexType>\r
136         </xsd:element>\r
137 \r
138         <xsd:element name="allocate">\r
139                 <xsd:complexType>\r
140                         <xsd:sequence>\r
141                                 <!-- This node does not actually read from parameters -->\r
142                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
143                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
144                         </xsd:sequence>\r
145                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
146                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
147                         <xsd:attribute name="key" use="required" type="xsd:string" />\r
148                         <xsd:attribute name="pfx" use="required" type="xsd:string" />\r
149                 </xsd:complexType>\r
150         </xsd:element>\r
151 \r
152         <xsd:element name="get-resource">\r
153                 <xsd:complexType>\r
154                         <xsd:sequence>\r
155                                 <!-- This node does not actually read from parameters -->\r
156                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
157                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
158                         </xsd:sequence>\r
159                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
160                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
161                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
162                         <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
163                         <xsd:attribute name="order-by" use="optional" type="xsd:string" />\r
164                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
165                         <!-- force is retired and does not do anything -->\r
166                         <xsd:attribute name="force" use="optional" type="xsd:string" />\r
167                 </xsd:complexType>\r
168         </xsd:element>\r
169 \r
170         <xsd:element name="configure">\r
171                 <xsd:complexType>\r
172                         <xsd:sequence>\r
173                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
174                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
175                         </xsd:sequence>\r
176                         <xsd:attribute name="adaptor" use="required" type="xsd:string" />\r
177                         <xsd:attribute name="key" use="required" type="xsd:string" />\r
178                         <xsd:attribute name="activate" use="optional" type="xsd:boolean" />\r
179                 </xsd:complexType>\r
180         </xsd:element>\r
181 \r
182 \r
183         <xsd:element name="parameter">\r
184                 <xsd:complexType>\r
185                         <xsd:attribute name="name" use="required" type="xsd:string" />\r
186                         <xsd:attribute name="value" use="required" type="xsd:string" />\r
187                 </xsd:complexType>\r
188         </xsd:element>\r
189 \r
190 \r
191         <xsd:element name="return">\r
192                 <xsd:complexType>\r
193                         <xsd:sequence>\r
194                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
195                         </xsd:sequence>\r
196                         <xsd:attribute name="status" use="optional" type="xsd:string" />\r
197                 </xsd:complexType>\r
198         </xsd:element>\r
199 \r
200         <xsd:element name="switch">\r
201                 <xsd:complexType>\r
202                         <xsd:sequence>\r
203                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
204                         </xsd:sequence>\r
205                         <xsd:attribute name="test" use="required" type="xsd:string" />\r
206                 </xsd:complexType>\r
207         </xsd:element>\r
208 \r
209         <xsd:element name="save">\r
210                 <xsd:complexType>\r
211                         <xsd:sequence>\r
212                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
213                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
214                         </xsd:sequence>\r
215                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
216                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
217                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
218                         <xsd:attribute name="force" use="optional" type="xsd:boolean" />\r
219                         <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
220                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
221                 </xsd:complexType>\r
222         </xsd:element>\r
223 \r
224         <xsd:element name="delete">\r
225                 <xsd:complexType>\r
226                         <xsd:sequence>\r
227                                 <!-- This node does not actually read from parameters -->\r
228                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
229                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
230                         </xsd:sequence>\r
231                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
232                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
233                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
234                         <!-- force is retired and does not do anything -->\r
235                         <xsd:attribute name="force" use="optional" type="xsd:string" />\r
236                         <!-- local-only is retired and does not do anything -->\r
237                         <xsd:attribute name="local-only" use="optional" type="xsd:string" />\r
238                         <!-- pfx is retired and does not do anything -->\r
239                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
240                 </xsd:complexType>\r
241         </xsd:element>\r
242 \r
243         <xsd:element name="for">\r
244                 <xsd:complexType>\r
245                         <xsd:sequence>\r
246                                 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
247                         </xsd:sequence>\r
248                         <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />\r
249                         <xsd:attribute name="index" use="required" type="xsd:string" />\r
250                         <xsd:attribute name="start" use="required" type="xsd:string" />\r
251                         <xsd:attribute name="end" use="required" type="xsd:string" />\r
252                         <xsd:attribute name="silentFailure" use="optional" type="xsd:boolean" default="false" />\r
253                 </xsd:complexType>\r
254         </xsd:element>\r
255 \r
256         <xsd:element name="set">\r
257                 <xsd:complexType>\r
258                         <xsd:sequence>\r
259                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
260                         </xsd:sequence>\r
261                         <xsd:attribute name="only-if-unset" use="optional"\r
262                                 type="xsd:boolean" />\r
263                 </xsd:complexType>\r
264         </xsd:element>\r
265 \r
266         <xsd:element name="execute">\r
267                 <xsd:complexType>\r
268                         <xsd:sequence>\r
269                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
270                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
271                         </xsd:sequence>\r
272                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
273                         <xsd:attribute name="method" use="required" type="xsd:string" />\r
274                         <xsd:attribute name="emitsOutcome" use="optional" type="xsd:boolean" />\r
275                 </xsd:complexType>\r
276         </xsd:element>\r
277 \r
278         <xsd:element name="update">\r
279                 <xsd:complexType>\r
280                         <xsd:sequence>\r
281                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
282                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
283                         </xsd:sequence>\r
284                         <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
285                         <xsd:attribute name="resource" use="required" type="xsd:string" />\r
286                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
287                         <xsd:attribute name="force" use="optional" type="xsd:boolean" />\r
288                         <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
289                         <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
290                 </xsd:complexType>\r
291         </xsd:element>\r
292 \r
293         <xsd:element name="call">\r
294                 <xsd:complexType>\r
295                         <xsd:sequence>\r
296                                 <!-- This node does not actually read from parameters -->\r
297                                 <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
298                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
299                         </xsd:sequence>\r
300                         <xsd:attribute name="module" use="optional" type="xsd:string" />\r
301                         <xsd:attribute name="rpc" use="required" type="xsd:string" />\r
302                         <xsd:attribute name="version" use="optional" type="xsd:string" />\r
303                         <xsd:attribute name="mode" use="required" type="xsd:string" />\r
304                 </xsd:complexType>\r
305         </xsd:element>\r
306 \r
307         <xsd:element name="notify">\r
308                 <xsd:complexType>\r
309                         <xsd:sequence>\r
310                                 <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
311                         </xsd:sequence>\r
312                         <xsd:attribute name="plugin" use="optional" type="xsd:string" />\r
313                         <xsd:attribute name="resource" use="optional" type="xsd:string" />\r
314                         <xsd:attribute name="action" use="required" type="xsd:string" />\r
315                         <xsd:attribute name="key" use="optional" type="xsd:string" />\r
316                         <!-- force is retired and does not do anything -->\r
317                         <xsd:attribute name="force" use="optional" type="xsd:string" />\r
318                 </xsd:complexType>\r
319         </xsd:element>\r
320 \r
321         <xsd:element name="break">\r
322                 <xsd:complexType />\r
323         </xsd:element>\r
324 \r
325         <xsd:element name="exit">\r
326                 <xsd:complexType />\r
327         </xsd:element>\r
328 \r
329         <xsd:element name="while">\r
330                 <xsd:complexType>\r
331                         <xsd:sequence>\r
332                                 <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
333                         </xsd:sequence>\r
334                         <xsd:attribute name="test" use="required" type="xsd:string" />\r
335                         <xsd:attribute name="do" use="optional" type="xsd:boolean" />\r
336                 </xsd:complexType>\r
337         </xsd:element>\r
338 \r
339 </xsd:schema>\r