blob: 95c8ff9ef3960318948b29b4f8a2b0717b0589a3 [file] [log] [blame]
sg481nbd890c52017-08-28 12:11:35 -04001<!-- Used by AAF (ATT inc 2013) -->
2<xs:schema
3 xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 xmlns:aaf="urn:aaf:v2_0"
5 targetNamespace="urn:aaf:v2_0"
6 elementFormDefault="qualified">
7
8<!--
9 Note: jan 22, 2015. Deprecating the "force" element in the "Request" Structure. Do that
10 with Query Params.
11
12 Eliminate in 3.0
13 -->
14<!--
15 Errors
16 Note: This Error Structure has been made to conform to the AT&T TSS Policies
17
18
19 -->
20 <xs:element name="error">
21 <xs:complexType>
22 <xs:sequence>
23 <!--
24 Unique message identifier of the format ‘ABCnnnn’ where ‘ABC’ is
25 either ‘SVC’ for Service Exceptions or ‘POL’ for Policy Exception.
26 Exception numbers may be in the range of 0001 to 9999 where :
27 * 0001 to 0199 are reserved for common exception messages
28 * 0200 to 0999 are reserved for Parlay Web Services specification use
29 * 1000-9999 are available for exceptions
30 -->
31 <xs:element name="messageId" type="xs:string" minOccurs="1" maxOccurs="1"/>
32
33 <!--
34 Message text, with replacement
35 variables marked with %n, where n is
36 an index into the list of <variables>
37 elements, starting at 1
38 -->
39 <xs:element name="text" type="xs:string" minOccurs="1" maxOccurs="1"/>
40
41 <!--
42 List of zero or more strings that
43 represent the contents of the variables
44 used by the message text. -->
45 <xs:element name="variables" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
46 </xs:sequence>
47 </xs:complexType>
48 </xs:element>
49
50<!--
51 Requests
52 -->
53 <xs:complexType name="Request">
54 <xs:sequence>
55 <xs:element name="start" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
56 <xs:element name="end" type="xs:date" minOccurs="1" maxOccurs="1"/>
57 <!-- Deprecated. Use Query Command
58 <xs:element name="force" type="xs:string" minOccurs="1" maxOccurs="1" default="false"/>
59 -->
60 </xs:sequence>
61 </xs:complexType>
62
63<!--
64 Permissions
65-->
66 <xs:complexType name = "pkey">
67 <xs:sequence>
68 <xs:element name="type" type="xs:string"/>
69 <xs:element name="instance" type="xs:string"/>
70 <xs:element name="action" type="xs:string"/>
71 </xs:sequence>
72 </xs:complexType>
73
74 <xs:element name="permKey">
75 <xs:complexType >
76 <xs:complexContent>
77 <xs:extension base="aaf:pkey" />
78 </xs:complexContent>
79 </xs:complexType>
80 </xs:element>
81
82 <xs:element name="perm">
83 <xs:complexType >
84 <xs:complexContent>
85 <xs:extension base="aaf:pkey">
86 <xs:sequence>
87 <xs:element name="roles" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
88 <!-- Note: feb 23, 2015. Added description field. Verify backward compatibility. JR -->
89 <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
90 </xs:sequence>
91 </xs:extension>
92 </xs:complexContent>
93 </xs:complexType>
94 </xs:element>
95
96 <xs:element name="perms">
97 <xs:complexType>
98 <xs:sequence>
99 <xs:element ref="aaf:perm" minOccurs="0" maxOccurs="unbounded"/>
100 </xs:sequence>
101 </xs:complexType>
102 </xs:element>
103
104 <xs:element name="permRequest">
105 <xs:complexType>
106 <xs:complexContent>
107 <xs:extension base="aaf:Request">
108 <xs:sequence>
109 <xs:element name="type" type="xs:string"/>
110 <xs:element name="instance" type="xs:string"/>
111 <xs:element name="action" type="xs:string"/>
112 <!-- Note: feb 23, 2015. Added description field. Verify backward compatibility. JR -->
113 <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
114 </xs:sequence>
115 </xs:extension>
116 </xs:complexContent>
117 </xs:complexType>
118 </xs:element>
119
120
121<!--
122 Roles
123-->
124 <xs:complexType name="rkey">
125 <xs:sequence>
126 <xs:element name="name" type="xs:string"/>
127 </xs:sequence>
128 </xs:complexType>
129
130 <xs:element name="roleKey">
131 <xs:complexType >
132 <xs:complexContent>
133 <xs:extension base="aaf:rkey" />
134 </xs:complexContent>
135 </xs:complexType>
136 </xs:element>
137
138 <xs:element name="role">
139 <xs:complexType>
140 <xs:complexContent>
141 <xs:extension base="aaf:rkey">
142 <xs:sequence>
143 <xs:element name="perms" type="aaf:pkey" minOccurs="0" maxOccurs="unbounded"/>
144 <!-- Note: feb 23, 2015. Added description field. Verify backward compatibility. JR -->
145 <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
146 </xs:sequence>
147 </xs:extension>
148 </xs:complexContent>
149 </xs:complexType>
150 </xs:element>
151
152 <xs:element name="roles">
153 <xs:complexType>
154 <xs:sequence>
155 <xs:element ref="aaf:role" minOccurs="0" maxOccurs="unbounded"/>
156 </xs:sequence>
157 </xs:complexType>
158 </xs:element>
159
160 <xs:element name="roleRequest">
161 <xs:complexType>
162 <xs:complexContent>
163 <xs:extension base="aaf:Request">
164 <xs:sequence>
165 <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
166 <!-- Note: feb 23, 2015. Added description field. Verify backward compatibility. JR -->
167 <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
168 </xs:sequence>
169 </xs:extension>
170 </xs:complexContent>
171 </xs:complexType>
172 </xs:element>
173
174 <xs:element name="userRoleRequest">
175 <xs:complexType>
176 <xs:complexContent>
177 <xs:extension base="aaf:Request">
178 <xs:sequence>
179 <xs:element name="user" type="xs:string" minOccurs="1" maxOccurs="1"/>
180 <xs:element name="role" type="xs:string" minOccurs="1" maxOccurs="1"/>
181 </xs:sequence>
182 </xs:extension>
183 </xs:complexContent>
184 </xs:complexType>
185 </xs:element>
186
187 <xs:element name="rolePermRequest">
188 <xs:complexType>
189 <xs:complexContent>
190 <xs:extension base="aaf:Request">
191 <xs:sequence>
192 <xs:element name="perm" type="aaf:pkey" minOccurs="1" maxOccurs="1"/>
193 <xs:element name="role" type="xs:string" minOccurs="1" maxOccurs="1"/>
194 </xs:sequence>
195 </xs:extension>
196 </xs:complexContent>
197 </xs:complexType>
198 </xs:element>
199
200
201 <xs:element name="nsRequest">
202 <xs:complexType>
203 <xs:complexContent>
204 <xs:extension base="aaf:Request">
205 <xs:sequence>
206 <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
207 <xs:element name="admin" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
208 <xs:element name="responsible" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
209 <xs:element name="scope" type="xs:int" minOccurs="0" maxOccurs="1"/>
210 <!-- Note: feb 23, 2015. Added description field. Verify backward compatibility. JR -->
211 <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
212 </xs:sequence>
213 </xs:extension>
214 </xs:complexContent>
215 </xs:complexType>
216 </xs:element>
217
218 <xs:element name = "nss">
219 <xs:complexType>
220 <xs:sequence>
221 <xs:element name = "ns" minOccurs="0" maxOccurs="unbounded">
222 <xs:complexType>
223 <xs:sequence>
224 <xs:element name = "name" type = "xs:string" minOccurs="1" maxOccurs="1"/>
225 <xs:element name = "responsible" type = "xs:string" minOccurs="0" maxOccurs="unbounded"/>
226 <xs:element name = "admin" type = "xs:string" minOccurs="0" maxOccurs="unbounded"/>
227 <!-- Note: feb 23, 2015. Added description field. Verify backward compatibility. JR -->
228 <xs:element name = "description" type = "xs:string" minOccurs="0" maxOccurs="1"/>
229 </xs:sequence>
230 </xs:complexType>
231 </xs:element>
232 </xs:sequence>
233 </xs:complexType>
234 </xs:element>
235
236<!--
237 Users
238-->
239 <xs:element name="users">
240 <xs:complexType>
241 <xs:sequence>
242 <xs:element name="user" minOccurs="0" maxOccurs="unbounded">
243 <xs:complexType>
244 <xs:sequence>
245 <xs:element name="id" type="xs:string" minOccurs="1" maxOccurs="1" />
246 <xs:element name="expires" type="xs:date" minOccurs="1" maxOccurs="1" />
247 </xs:sequence>
248 </xs:complexType>
249 </xs:element>
250 </xs:sequence>
251 </xs:complexType>
252 </xs:element>
253
254
255<!--
256 Credentials
257-->
258 <xs:element name="credRequest">
259 <xs:complexType>
260 <xs:complexContent>
261 <xs:extension base="aaf:Request">
262 <xs:sequence>
263 <xs:element name="id" type="xs:string"/>
264 <xs:element name="type" type="xs:int" minOccurs="0" maxOccurs="1"/>
265 <xs:choice >
266 <xs:element name="password" type="xs:string" />
267 <xs:element name="entry" type="xs:string" />
268 </xs:choice>
269 </xs:sequence>
270 </xs:extension>
271 </xs:complexContent>
272 </xs:complexType>
273 </xs:element>
274
275<!--
276 History
277 -->
278 <xs:element name="history">
279 <xs:complexType>
280 <xs:sequence>
281 <xs:element name="item" minOccurs="0" maxOccurs="unbounded">
282 <xs:complexType>
283 <xs:sequence>
284 <xs:element name="YYYYMM" type="xs:string" minOccurs="1" maxOccurs="1"/>
285 <xs:element name="timestamp" type="xs:dateTime" minOccurs="1" maxOccurs="1"/>
286 <xs:element name="subject" type="xs:string" minOccurs="1" maxOccurs="1"/>
287 <xs:element name="target" type = "xs:string" minOccurs="1" maxOccurs="1"/>
288 <xs:element name="action" type="xs:string" minOccurs="1" maxOccurs="1"/>
289 <xs:element name="memo" type="xs:string" minOccurs="1" maxOccurs="1"/>
290 <xs:element name="user" type="xs:string" minOccurs="1" maxOccurs="1"/>
291 </xs:sequence>
292 </xs:complexType>
293 </xs:element>
294 </xs:sequence>
295 </xs:complexType>
296 </xs:element>
297
298<!--
299 Approvals
300 -->
301 <xs:complexType name="approval">
302 <xs:sequence>
303 <!-- Note, id is set by system -->
304 <xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="1"/>
305 <xs:element name="ticket" type="xs:string"/>
306 <xs:element name="user" type="xs:string"/>
307 <xs:element name="approver" type="xs:string"/>
308 <xs:element name="type" type="xs:string"/>
309 <xs:element name="memo" type="xs:string"/>
310 <xs:element name="updated" type="xs:dateTime"/>
311 <xs:element name="status">
312 <xs:simpleType>
313 <xs:restriction base="xs:string">
314 <xs:enumeration value="approve"/>
315 <xs:enumeration value="reject"/>
316 <xs:enumeration value="pending"/>
317 </xs:restriction>
318 </xs:simpleType>
319 </xs:element>
320 <xs:element name="operation">
321 <xs:simpleType>
322 <xs:restriction base="xs:string">
323 <xs:enumeration value="C"/>
324 <xs:enumeration value="U"/>
325 <xs:enumeration value="D"/>
326 <xs:enumeration value="G"/>
327 <xs:enumeration value="UG"/>
328 </xs:restriction>
329 </xs:simpleType>
330 </xs:element>
331 </xs:sequence>
332 </xs:complexType>
333 <xs:element name="approvals">
334 <xs:complexType>
335 <xs:sequence>
336 <xs:element name="approvals" type="aaf:approval" minOccurs="1" maxOccurs="unbounded"/>
337 </xs:sequence>
338 </xs:complexType>
339 </xs:element>
340
341<!--
342 Delegates
343-->
344 <xs:complexType name="delg">
345 <xs:sequence>
346 <xs:element name="user" type="xs:string"/>
347 <xs:element name="delegate" type="xs:string"/>
348 <xs:element name="expires" type="xs:date"/>
349 </xs:sequence>
350 </xs:complexType>
351
352 <xs:element name="delgRequest">
353 <xs:complexType>
354 <xs:complexContent>
355 <xs:extension base="aaf:Request">
356 <xs:sequence>
357 <xs:element name="user" type="xs:string" minOccurs="1" maxOccurs="1"/>
358 <xs:element name="delegate" type="xs:string" minOccurs="1" maxOccurs="1"/>
359 </xs:sequence>
360 </xs:extension>
361 </xs:complexContent>
362 </xs:complexType>
363 </xs:element>
364
365 <xs:element name="delgs">
366 <xs:complexType>
367 <xs:sequence>
368 <xs:element name="delgs" type="aaf:delg" minOccurs="0" maxOccurs="unbounded"/>
369 </xs:sequence>
370 </xs:complexType>
371 </xs:element>
372
373 <!-- jg 3/11/2015 New for 2.0.8 -->
374 <xs:element name="api">
375 <xs:complexType>
376 <xs:sequence>
377 <xs:element name="route" minOccurs="0" maxOccurs="unbounded">
378 <xs:complexType>
379 <xs:sequence>
380 <xs:element name="meth" type="xs:string" minOccurs="1" maxOccurs="1"/>
381 <xs:element name="path" type="xs:string" minOccurs="1" maxOccurs="1"/>
382 <xs:element name="param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
383 <xs:element name="desc" type="xs:string" minOccurs="1" maxOccurs="1"/>
384 <xs:element name="comments" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
385 <xs:element name="contentType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
386 <xs:element name="expected" type="xs:int" minOccurs="1" maxOccurs="1"/>
387 <xs:element name="explicitErr" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
388 </xs:sequence>
389 </xs:complexType>
390 </xs:element>
391 </xs:sequence>
392 </xs:complexType>
393 </xs:element>
394</xs:schema>