Project

General

Profile

1
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
2
           elementFormDefault="qualified" attributeFormDefault="unqualified">
3
	<xs:complexType name="BODYType">
4
		<xs:sequence>
5
			<xs:element name="CONFIGURATION" type="CONFIGURATIONType"/>
6
			<xs:element name="STATUS" type="STATUSType" minOccurs="0"/>
7
			<xs:element ref="SECURITY_PARAMETERS" minOccurs="0"/>
8
		</xs:sequence>
9
	</xs:complexType>
10
	<xs:complexType name="CONFIGURATIONType">
11
		<xs:choice>
12
			<xs:element ref="Policy"/>
13
			<xs:element ref="PolicySet"/>
14
		</xs:choice>
15
	</xs:complexType>
16
	<xs:complexType name="DATE_OF_CREATIONType">
17
		<xs:attribute name="value" type="xs:dateTime" use="required"/>
18
	</xs:complexType>
19
	<xs:complexType name="HEADERType">
20
		<xs:all>
21
			<xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType"/>
22
			<xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType"/>
23
			<xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType"/>
24
			<xs:element name="RESOURCE_URI" type="RESOURCE_URIType"/>
25
			<xs:element name="DATE_OF_CREATION" type="DATE_OF_CREATIONType"/>
26
		</xs:all>
27
	</xs:complexType>
28
	<xs:complexType name="RESOURCE_IDENTIFIERType">
29
		<xs:attribute name="value" type="xs:string" use="required"/>
30
	</xs:complexType>
31
	<xs:complexType name="RESOURCE_KINDType">
32
		<xs:attribute name="value" use="required">
33
			<xs:simpleType>
34
				<xs:restriction base="xs:string">
35
					<xs:enumeration value="SecurityPolicyDSResources"/>
36
					<xs:enumeration value="PendingDSResources"/>
37
				</xs:restriction>
38
			</xs:simpleType>
39
		</xs:attribute>
40
	</xs:complexType>
41
	<xs:element name="RESOURCE_PROFILE">
42
		<xs:complexType>
43
			<xs:sequence>
44
				<xs:element name="HEADER" type="HEADERType"/>
45
				<xs:element name="BODY" type="BODYType"/>
46
			</xs:sequence>
47
		</xs:complexType>
48
	</xs:element>
49
	<xs:complexType name="RESOURCE_TYPEType">
50
		<xs:attribute name="value" use="required">
51
			<xs:simpleType>
52
				<xs:restriction base="xs:string">
53
					<xs:enumeration value="SecurityPolicyDSResourceType"/>
54
				</xs:restriction>
55
			</xs:simpleType>
56
		</xs:attribute>
57
	</xs:complexType>
58
	<xs:complexType name="RESOURCE_URIType">
59
		<xs:attribute name="value" type="xs:string" use="required"/>
60
	</xs:complexType>
61
	<xs:element name="SECURITY_PARAMETERS" type="xs:string"/>
62
	<xs:complexType name="STATUSType"/>
63
	<!-- -->
64
	<xs:element name="PolicySet" type="PolicySetType"/>
65
	<xs:complexType name="PolicySetType">
66
		<xs:sequence>
67
			<xs:element ref="Description" minOccurs="0"/>
68
			<xs:element ref="PolicySetDefaults" minOccurs="0"/>
69
			<xs:element ref="Target"/>
70
			<xs:choice minOccurs="0" maxOccurs="unbounded">
71
				<xs:element ref="PolicySet"/>
72
				<xs:element ref="Policy"/>
73
				<xs:element ref="PolicySetIdReference"/>
74
				<xs:element ref="PolicyIdReference"/>
75
			</xs:choice>
76
			<xs:element ref="Obligations" minOccurs="0"/>
77
		</xs:sequence>
78
		<xs:attribute name="PolicySetId" type="xs:anyURI" use="required"/>
79
		<xs:attribute name="PolicyCombiningAlgId" type="xs:anyURI"
80
		              use="required"/>
81
	</xs:complexType>
82
	<!-- -->
83
	<xs:element name="PolicySetIdReference" type="xs:anyURI"/>
84
	<xs:element name="PolicyIdReference" type="xs:anyURI"/>
85
	<!-- -->
86
	<xs:element name="PolicySetDefaults" type="DefaultsType"/>
87
	<xs:element name="PolicyDefaults" type="DefaultsType"/>
88
	<xs:complexType name="DefaultsType">
89
		<xs:sequence>
90
			<xs:choice>
91
				<xs:element ref="XPathVersion"/>
92
			</xs:choice>
93
		</xs:sequence>
94
	</xs:complexType>
95
	<!-- -->
96
	<xs:element name="XPathVersion" type="xs:anyURI"/>
97
	<!-- -->
98
	<xs:element name="Policy" type="PolicyType"/>
99
	<xs:complexType name="PolicyType">
100
		<xs:sequence>
101
			<xs:element ref="Description" minOccurs="0"/>
102
			<xs:element ref="PolicyDefaults" minOccurs="0"/>
103
			<xs:element ref="Target"/>
104
			<xs:element ref="Rule" minOccurs="0" maxOccurs="unbounded"/>
105
			<xs:element ref="Obligations" minOccurs="0"/>
106
		</xs:sequence>
107
		<xs:attribute name="PolicyId" type="xs:anyURI" use="required"/>
108
		<xs:attribute name="RuleCombiningAlgId" type="xs:anyURI"
109
		              use="required"/>
110
	</xs:complexType>
111
	<!-- -->
112
	<xs:element name="Description" type="xs:string"/>
113
	<!-- -->
114
	<xs:element name="Rule" type="RuleType"/>
115
	<xs:complexType name="RuleType">
116
		<xs:sequence>
117
			<xs:element ref="Description" minOccurs="0"/>
118
			<xs:element ref="Target" minOccurs="0"/>
119
			<xs:element ref="Condition" minOccurs="0"/>
120
		</xs:sequence>
121
		<xs:attribute name="RuleId" type="xs:anyURI" use="required"/>
122
		<xs:attribute name="Effect" type="EffectType" use="required"/>
123
	</xs:complexType>
124
	<!-- -->
125
	<xs:simpleType name="EffectType">
126
		<xs:restriction base="xs:string">
127
			<xs:enumeration value="Permit"/>
128
			<xs:enumeration value="Deny"/>
129
		</xs:restriction>
130
	</xs:simpleType>
131
	<!-- -->
132
	<xs:element name="Target" type="TargetType"/>
133
	<xs:complexType name="TargetType">
134
		<xs:sequence>
135
			<xs:element ref="Subjects" minOccurs="0"/>
136
			<xs:element ref="Resources" minOccurs="0"/>
137
			<xs:element ref="Actions" minOccurs="0"/>
138
		</xs:sequence>
139
	</xs:complexType>
140
	<!-- -->
141
	<xs:element name="Subjects" type="SubjectsType"/>
142
	<xs:complexType name="SubjectsType">
143
		<xs:choice>
144
			<xs:element ref="Subject" maxOccurs="unbounded"/>
145
			<xs:element ref="AnySubject"/>
146
		</xs:choice>
147
	</xs:complexType>
148
	<!-- -->
149
	<xs:element name="Subject" type="SubjectType"/>
150
	<xs:complexType name="SubjectType">
151
		<xs:sequence>
152
			<xs:element ref="SubjectMatch" maxOccurs="unbounded"/>
153
		</xs:sequence>
154
	</xs:complexType>
155
	<!-- -->
156
	<xs:element name="AnySubject"/>
157
	<!-- -->
158
	<xs:element name="Resources" type="ResourcesType"/>
159
	<xs:complexType name="ResourcesType">
160
		<xs:choice>
161
			<xs:element ref="Resource" maxOccurs="unbounded"/>
162
			<xs:element ref="AnyResource"/>
163
		</xs:choice>
164
	</xs:complexType>
165
	<!-- -->
166
	<xs:element name="AnyResource"/>
167
	<!-- -->
168
	<xs:element name="Resource" type="ResourceType"/>
169
	<xs:complexType name="ResourceType">
170
		<xs:sequence>
171
			<xs:element ref="ResourceMatch" maxOccurs="unbounded"/>
172
		</xs:sequence>
173
	</xs:complexType>
174
	<!-- -->
175
	<xs:element name="Actions" type="ActionsType"/>
176
	<xs:complexType name="ActionsType">
177
		<xs:choice>
178
			<xs:element ref="Action" maxOccurs="unbounded"/>
179
			<xs:element ref="AnyAction"/>
180
		</xs:choice>
181
	</xs:complexType>
182
	<!-- -->
183
	<xs:element name="AnyAction"/>
184
	<!-- -->
185
	<xs:element name="Action" type="ActionType"/>
186
	<xs:complexType name="ActionType">
187
		<xs:sequence>
188
			<xs:element ref="ActionMatch" maxOccurs="unbounded"/>
189
		</xs:sequence>
190
	</xs:complexType>
191
	<!-- -->
192
	<xs:element name="SubjectMatch" type="SubjectMatchType"/>
193
	<xs:complexType name="SubjectMatchType">
194
		<xs:sequence>
195
			<xs:element ref="AttributeValue"/>
196
			<xs:choice>
197
				<xs:element ref="SubjectAttributeDesignator"/>
198
				<xs:element ref="AttributeSelector"/>
199
			</xs:choice>
200
		</xs:sequence>
201
		<xs:attribute name="MatchId" type="xs:anyURI" use="required"/>
202
	</xs:complexType>
203
	<!-- -->
204
	<xs:element name="ResourceMatch" type="ResourceMatchType"/>
205
	<xs:complexType name="ResourceMatchType">
206
		<xs:sequence>
207
			<xs:element ref="AttributeValue"/>
208
			<xs:choice>
209
				<xs:element ref="ResourceAttributeDesignator"/>
210
				<xs:element ref="AttributeSelector"/>
211
			</xs:choice>
212
		</xs:sequence>
213
		<xs:attribute name="MatchId" type="xs:anyURI" use="required"/>
214
	</xs:complexType>
215
	<!-- -->
216
	<xs:element name="ActionMatch" type="ActionMatchType"/>
217
	<xs:complexType name="ActionMatchType">
218
		<xs:sequence>
219
			<xs:element ref="AttributeValue"/>
220
			<xs:choice>
221
				<xs:element ref="ActionAttributeDesignator"/>
222
				<xs:element ref="AttributeSelector"/>
223
			</xs:choice>
224
		</xs:sequence>
225
		<xs:attribute name="MatchId" type="xs:anyURI" use="required"/>
226
	</xs:complexType>
227
	<!-- -->
228
	<xs:element name="AttributeSelector" type="AttributeSelectorType"/>
229
	<xs:complexType name="AttributeSelectorType">
230
		<xs:attribute name="RequestContextPath" type="xs:string"
231
		              use="required"/>
232
		<xs:attribute name="DataType" type="xs:anyURI" use="required"/>
233
		<xs:attribute name="MustBePresent" type="xs:boolean" use="optional"
234
		              default="false"/>
235
	</xs:complexType>
236
	<!-- -->
237
	<xs:element name="ResourceAttributeDesignator" type="AttributeDesignatorType"/>
238
	<xs:element name="ActionAttributeDesignator" type="AttributeDesignatorType"/>
239
	<xs:element name="EnvironmentAttributeDesignator" type="AttributeDesignatorType"/>
240
	<!-- -->
241
	<xs:complexType name="AttributeDesignatorType">
242
		<xs:attribute name="AttributeId" type="xs:anyURI" use="required"/>
243
		<xs:attribute name="DataType" type="xs:anyURI" use="required"/>
244
		<xs:attribute name="Issuer" type="xs:string" use="optional"/>
245
		<xs:attribute name="MustBePresent" type="xs:boolean" use="optional"
246
		              default="false"/>
247
	</xs:complexType>
248
	<!-- -->
249
	<xs:element name="SubjectAttributeDesignator" type="SubjectAttributeDesignatorType"/>
250
	<xs:complexType name="SubjectAttributeDesignatorType">
251
		<xs:complexContent>
252
			<xs:extension base="AttributeDesignatorType">
253
				<xs:attribute name="SubjectCategory" type="xs:anyURI"
254
				              use="optional" default="urn:oasis:names:tc:1.0:subject-category:access-subject"/>
255
			</xs:extension>
256
		</xs:complexContent>
257
	</xs:complexType>
258
	<!-- -->
259
	<xs:element name="AttributeValue" type="AttributeValueType"/>
260
	<xs:complexType name="AttributeValueType" mixed="true">
261
		<xs:sequence>
262
			<xs:any namespace="##any" processContents="lax" minOccurs="0"
263
			        maxOccurs="unbounded"/>
264
		</xs:sequence>
265
		<xs:attribute name="DataType" type="xs:anyURI" use="required"/>
266
		<xs:anyAttribute namespace="##any" processContents="lax"/>
267
	</xs:complexType>
268
	<!-- -->
269
	<xs:element name="Function" type="FunctionType"/>
270
	<xs:complexType name="FunctionType">
271
		<xs:attribute name="FunctionId" type="xs:anyURI" use="required"/>
272
	</xs:complexType>
273
	<!-- -->
274
	<xs:element name="Apply" type="ApplyType"/>
275
	<xs:element name="Condition" type="ApplyType"/>
276
	<!-- -->
277
	<xs:complexType name="ApplyType">
278
		<xs:choice minOccurs="0" maxOccurs="unbounded">
279
			<xs:element ref="Apply"/>
280
			<xs:element ref="Function"/>
281
			<xs:element ref="AttributeValue"/>
282
			<xs:element ref="SubjectAttributeDesignator"/>
283
			<xs:element ref="ResourceAttributeDesignator"/>
284
			<xs:element ref="ActionAttributeDesignator"/>
285
			<xs:element ref="EnvironmentAttributeDesignator"/>
286
			<xs:element ref="AttributeSelector"/>
287
		</xs:choice>
288
		<xs:attribute name="FunctionId" type="xs:anyURI" use="required"/>
289
		<!-- Legal types for the first and subsequent operands are defined in the 
290
			accompanying table -->
291
	</xs:complexType>
292
	<!-- -->
293
	<xs:element name="Obligations" type="ObligationsType"/>
294
	<xs:complexType name="ObligationsType">
295
		<xs:sequence>
296
			<xs:element ref="Obligation" maxOccurs="unbounded"/>
297
		</xs:sequence>
298
	</xs:complexType>
299
	<!-- -->
300
	<xs:element name="Obligation" type="ObligationType"/>
301
	<xs:complexType name="ObligationType">
302
		<xs:sequence>
303
			<xs:element ref="AttributeAssignment" minOccurs="0"
304
			            maxOccurs="unbounded"/>
305
		</xs:sequence>
306
		<xs:attribute name="ObligationId" type="xs:anyURI" use="required"/>
307
		<xs:attribute name="FulfillOn" type="EffectType" use="required"/>
308
	</xs:complexType>
309
	<!-- -->
310
	<xs:element name="AttributeAssignment" type="AttributeAssignmentType"/>
311
	<xs:complexType name="AttributeAssignmentType" mixed="true">
312
		<xs:complexContent mixed="true">
313
			<xs:extension base="AttributeValueType">
314
				<xs:attribute name="AttributeId" type="xs:anyURI" use="required"/>
315
			</xs:extension>
316
		</xs:complexContent>
317
	</xs:complexType>
318
	<!-- -->
319
</xs:schema>
(27-27/37)