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>
(28-28/37)