AT&T 2.0.19 Code drop, stage 4
[aaf/authz.git] / authz-gui / theme / aaf_1_0.xsd
1 <!-- Used by AAF (ATT inc 2013) -->
2 <xs:schema xmlns:aaf="urn:aaf:v1_0" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:aaf:v1_0" elementFormDefault="qualified">
3         <xs:element name="error">
4                 <xs:complexType>
5                         <xs:sequence>
6                                 <xs:element name="response_data" type="xs:string"/>
7                         </xs:sequence>
8                 </xs:complexType>
9         </xs:element>
10         <xs:element name="bool">
11                 <xs:complexType>
12                         <xs:sequence>
13                                 <xs:element name="value" type="xs:boolean"/>
14                         </xs:sequence>
15                 </xs:complexType>
16         </xs:element>
17         <xs:complexType name="permkey">
18                 <xs:sequence>
19                         <xs:element name="name" type="xs:string"/>
20                         <xs:element name="type" type="xs:string"/>
21                         <xs:element name="action" type="xs:string"/>
22                 </xs:sequence>
23         </xs:complexType>
24         <xs:element name="permkeys">
25                 <xs:complexType>
26                         <xs:sequence>
27                                 <xs:element name="keys" type="aaf:permkey" minOccurs="0" maxOccurs="unbounded"/>
28                         </xs:sequence>
29                 </xs:complexType>
30         </xs:element>
31         <xs:complexType name="user">
32                 <xs:sequence>
33                         <xs:element name="userName" type="xs:string"/>
34                         <xs:element name="roleName" type="xs:string"/>
35                         <xs:element name="userType" type="xs:string"/>
36                         <xs:element name="createUser" type="xs:string"/>
37                         <xs:element name="createTimestamp" type="xs:string"/>
38                         <xs:element name="modifyUser" type="xs:string"/>
39                         <xs:element name="modifyTimestamp" type="xs:string"/>
40                         <xs:element ref="aaf:roles" minOccurs="0" maxOccurs="unbounded"/>
41                 </xs:sequence>
42         </xs:complexType>
43         <xs:complexType name="role">
44                 <xs:sequence>
45                         <xs:element name="userName" type="xs:string"/>
46                         <xs:element name="roleName" type="xs:string"/>
47                         <xs:element name="userType" type="xs:string"/>
48                         <xs:element name="createUser" type="xs:string"/>
49                         <xs:element name="createTimestamp" type="xs:string"/>
50                         <xs:element name="modifyUser" type="xs:string"/>
51                         <xs:element name="modifyTimestamp" type="xs:string"/>
52                         <xs:element ref="aaf:permissions" minOccurs="0" maxOccurs="unbounded"/>
53                 </xs:sequence>
54         </xs:complexType>
55         <xs:element name="roles">
56                 <xs:complexType>
57                         <xs:sequence>
58                                 <xs:element name="roles" type="aaf:role" minOccurs="0" maxOccurs="unbounded"/>
59                         </xs:sequence>
60                 </xs:complexType>
61         </xs:element>
62         <xs:complexType name="permission">
63                 <xs:complexContent>
64                         <xs:extension base="aaf:permkey">
65                                 <xs:sequence>
66                                         <xs:element name="grantedRole" type="xs:string"/>
67                                         <xs:element name="createUser" type="xs:string"/>
68                                         <xs:element name="createTimestamp" type="xs:string"/>
69                                         <xs:element name="modifyUser" type="xs:string"/>
70                                         <xs:element name="modifyTimestamp" type="xs:string"/>
71                                         <xs:element name="grantingRole" type="xs:string"/>
72                                 </xs:sequence>
73                         </xs:extension>
74                 </xs:complexContent>
75         </xs:complexType>
76         <xs:element name="permissions">
77                 <xs:complexType>
78                         <xs:sequence>
79                                 <xs:element name="permissions" type="aaf:permission" minOccurs="0" maxOccurs="unbounded"/>
80                         </xs:sequence>
81                 </xs:complexType>
82         </xs:element>
83                 <xs:complexType name="delg">
84                 <xs:sequence>
85                         <xs:element name="user" type="xs:string"/>
86                         <xs:element name="delegate" type="xs:string"/>
87                         <xs:element name="start" type="xs:date"/>
88                         <xs:element name="end" type="xs:date"/>
89                 </xs:sequence>
90         </xs:complexType>
91         <xs:element name="delgs">
92                 <xs:complexType>
93                         <xs:sequence>
94                                 <xs:element name="delgs" type="aaf:delg" minOccurs="0" maxOccurs="unbounded"/>
95                         </xs:sequence>
96                 </xs:complexType>
97         </xs:element>
98         
99         <xs:element name="cred">
100                 <xs:complexType>
101                         <xs:sequence>
102                                 <xs:element name="id" type="xs:string"/>
103                                 <xs:choice >
104                                         <xs:element name="password" type="xs:string" />
105                                         <xs:element name="cert" type = "xs:hexBinary" />
106                                 </xs:choice>
107                                 <xs:element name="start" type="xs:date" />
108                                 <xs:element name="end" type="xs:date" />
109                         </xs:sequence>
110                 </xs:complexType>
111         </xs:element>
112         
113         <!-- 
114         Approvals
115         -->
116         <xs:complexType name="approval">
117            <xs:sequence>
118                <xs:element name="user" type="xs:string"/>
119                <xs:element name="role" type="xs:string"/>
120                <xs:element name="status">
121                           <xs:simpleType>
122                             <xs:restriction base="xs:string">
123                               <xs:enumeration value="approve"/>
124                               <xs:enumeration value="reject"/>
125                             </xs:restriction>
126                           </xs:simpleType>
127                    </xs:element>        
128            </xs:sequence>
129         </xs:complexType>
130         <xs:element name="approvals">
131                 <xs:complexType>
132                         <xs:sequence>
133                                 <xs:element name="approvals" type="aaf:approval" minOccurs="1" maxOccurs="unbounded"/>
134                         </xs:sequence>
135                 </xs:complexType>
136         </xs:element>
137
138         <!-- 
139                 Users 
140         -->     
141         <xs:element name="users">
142                 <xs:complexType>
143                    <xs:sequence>
144                        <xs:element name="id" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
145                    </xs:sequence>
146                 </xs:complexType>
147         </xs:element>
148
149 </xs:schema>
150