Draft SAML 2 SSO impl.
[shibboleth/sp.git] / schemas / shibboleth-spconfig-2.0.xsd
1 <?xml version="1.0" encoding="US-ASCII"?>\r
2 <schema targetNamespace="urn:mace:shibboleth:sp:config:2.0"\r
3         xmlns="http://www.w3.org/2001/XMLSchema"\r
4         xmlns:conf="urn:mace:shibboleth:sp:config:2.0"\r
5         xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"\r
6         xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"\r
7         elementFormDefault="qualified"\r
8         attributeFormDefault="unqualified"\r
9         blockDefault="substitution"\r
10         version="2.0">\r
11 \r
12         <import namespace="urn:oasis:names:tc:SAML:2.0:assertion" schemaLocation="saml-schema-assertion-2.0.xsd"/>\r
13         <import namespace="urn:oasis:names:tc:SAML:2.0:metadata" schemaLocation="saml-schema-metadata-2.0.xsd"/>\r
14 \r
15         <annotation>\r
16                 <documentation>\r
17         2.0 schema for XML-based configuration of Shibboleth SP instances.\r
18         First appearing in Shibboleth 2.0 release.\r
19         </documentation>\r
20     </annotation>\r
21 \r
22         <simpleType name="string">
23                 <restriction base="string">
24                         <minLength value="1"/>\r
25                 </restriction>
26         </simpleType>\r
27 \r
28         <simpleType name="listOfStrings">\r
29                 <list itemType="conf:string"/>\r
30         </simpleType>\r
31         \r
32         <complexType name="PluggableType">\r
33                 <sequence>\r
34                         <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
35                 </sequence>\r
36                 <attribute name="type" type="conf:string" use="required"/>\r
37                 <anyAttribute namespace="##any" processContents="lax"/>\r
38         </complexType>\r
39 \r
40         <element name="SPConfig">\r
41                 <complexType>
42                         <annotation>
43                                 <documentation>Root of configuration</documentation>
44                         </annotation>
45                         <sequence>
46                                 <element ref="conf:Extensions" minOccurs="0"/>
47                                 <element ref="conf:OutOfProcess"/>
48                                 <element ref="conf:InProcess"/>
49                                 <element ref="conf:Applications"/>
50                                 <element ref="conf:Credentials" minOccurs="0"/>
51                                 <element ref="conf:SecurityPolicies"/>
52                         </sequence>
53                         <attribute name="logger" type="anyURI"/>
54                         <attribute name="clockSkew" type="unsignedInt"/>
55                         <anyAttribute namespace="##other" processContents="lax"/>
56                 </complexType>\r
57         </element>\r
58 \r
59         <element name="Extensions">\r
60                 <annotation>\r
61                         <documentation>Container for extension libraries and custom configuration</documentation>\r
62                 </annotation>\r
63                 <complexType>\r
64                         <sequence>\r
65                                 <element name="Library" minOccurs="0" maxOccurs="unbounded">\r
66                                         <complexType>\r
67                                                 <complexContent>\r
68                                                         <restriction base="conf:PluggableType">\r
69                                                                 <sequence>\r
70                                                                         <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
71                                                                 </sequence>\r
72                                                                 <attribute name="path" type="anyURI" use="required"/>\r
73                                                                 <attribute name="fatal" type="boolean" default="true"/>\r
74                                                         </restriction>\r
75                                                 </complexContent>\r
76                                         </complexType>\r
77                                 </element>\r
78                                 <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
79                         </sequence>\r
80                 </complexType>\r
81         </element>\r
82 \r
83         <element name="StorageService">\r
84                 <annotation>\r
85                         <documentation>References StorageService plugins</documentation>\r
86                 </annotation>\r
87                 <complexType>\r
88                         <complexContent>\r
89                                 <restriction base="conf:PluggableType">\r
90                                         <sequence>\r
91                                                 <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
92                                         </sequence>\r
93                                         <attribute name="id" type="ID" use="required"/>\r
94                                         <attribute name="cleanupInterval" type="unsignedInt" default="900"/>\r
95                                         <anyAttribute namespace="##any" processContents="lax"/>\r
96                                 </restriction>\r
97                         </complexContent>\r
98                 </complexType>\r
99         </element>\r
100 \r
101         <element name="SessionCache">\r
102                 <annotation>\r
103                         <documentation>References SessionCache plugins</documentation>\r
104                 </annotation>\r
105                 <complexType>\r
106                         <complexContent>\r
107                                 <restriction base="conf:PluggableType">\r
108                                         <sequence>\r
109                                                 <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
110                                         </sequence>\r
111                                         <attribute name="StorageService" type="IDREF"/>\r
112                                         <attribute name="cacheTimeout" type="unsignedInt" default="28800"/>\r
113                                         <anyAttribute namespace="##any" processContents="lax"/>\r
114                                 </restriction>\r
115                         </complexContent>\r
116                 </complexType>\r
117         </element>\r
118         \r
119         <element name="ReplayCache">
120                 <annotation>\r
121                         <documentation>Ties ReplayCache to a custom StorageService</documentation>\r
122                 </annotation>\r
123                 <complexType>\r
124                         <sequence/>
125                         <attribute name="StorageService" type="IDREF" use="required"/>\r
126                 </complexType>\r
127         </element>
128         \r
129         <element name="ArtifactMap">
130                 <annotation>\r
131                         <documentation>Customizes an ArtifactMap</documentation>\r
132                 </annotation>\r
133                 <complexType>\r
134                         <sequence/>
135                         <attribute name="StorageService" type="IDREF"/>
136                         <attribute name="context" type="conf:string"/>
137                         <attribute name="artifactTTL" type="unsignedInt" default="180"/>\r
138                 </complexType>
139         </element>\r
140         \r
141         <element name="OutOfProcess">\r
142                 <annotation>\r
143                         <documentation>Container for shibd out-of-process configuration</documentation>\r
144                 </annotation>\r
145                 <complexType>\r
146                         <sequence>
147                                 <element ref="conf:Extensions" minOccurs="0"/>
148                                 <choice>
149                                         <element name="UnixListener">
150                                                 <complexType>
151                                                         <attribute name="address" type="conf:string" use="required"/>
152                                                 </complexType>
153                                         </element>
154                                         <element name="TCPListener">
155                                                 <complexType>
156                                                         <attribute name="address" type="conf:string" use="required"/>
157                                                         <attribute name="port" type="unsignedInt" use="required"/>
158                                                         <attribute name="acl" type="conf:listOfStrings" default="127.0.0.1"/>
159                                                 </complexType>
160                                         </element>
161                                         <element name="Listener" type="conf:PluggableType"/>
162                                 </choice>
163                                 <element ref="conf:StorageService" minOccurs="0" maxOccurs="unbounded"/>
164                                 <element ref="conf:SessionCache" minOccurs="0"/>
165                                 <element ref="conf:ReplayCache" minOccurs="0"/>\r
166                                 <element ref="conf:ArtifactMap" minOccurs="0"/>
167                                 <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
168                         </sequence>
169                         <attribute name="logger" type="anyURI"/>
170                         <anyAttribute namespace="##other" processContents="lax"/>\r
171                 </complexType>\r
172         </element>\r
173 \r
174         <element name="InProcess">\r
175                 <annotation>\r
176                         <documentation>\r
177                         Container for configuration of locally integrated or platform-specific\r
178                         features (e.g. web server filters)\r
179                         </documentation>\r
180                 </annotation>\r
181                 <complexType>\r
182                         <sequence>
183                                 <element ref="conf:Extensions" minOccurs="0"/>
184                                 <element ref="conf:SessionCache" minOccurs="0"/>\r
185                                 <element name="RequestMapper" type="conf:PluggableType"/>
186                                 <element name="Implementation" minOccurs="0">
187                                         <complexType>
188                                                 <sequence>
189                                                         <element ref="conf:ISAPI" minOccurs="0"/>
190                                                         <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
191                                                 </sequence>
192                                         </complexType>
193                                 </element>
194                                 <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
195                         </sequence>
196                         <attribute name="logger" type="anyURI"/>
197                         <anyAttribute namespace="##other" processContents="lax"/>\r
198                 </complexType>\r
199         </element>\r
200         \r
201         <element name="ISAPI">\r
202                 <complexType>\r
203                         <sequence>\r
204                                 <element name="Site" maxOccurs="unbounded">\r
205                                         <complexType>\r
206                                                 <sequence>\r
207                                                         <element name="Alias" type="string" minOccurs="0" maxOccurs="unbounded"/>\r
208                                                 </sequence>\r
209                                                 <attribute name="id" type="unsignedInt" use="required"/>\r
210                                                 <attribute name="name" type="conf:string" use="required"/>\r
211                                                 <attribute name="port" type="unsignedInt"/>\r
212                                                 <attribute name="sslport" type="unsignedInt"/>\r
213                                                 <attribute name="scheme" type="conf:string"/>\r
214                                         </complexType>\r
215                                 </element>\r
216                                 <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
217                         </sequence>\r
218                         <attribute name="normalizeRequest" type="boolean" default="true"/>\r
219                         <anyAttribute namespace="##other" processContents="lax"/>\r
220                 </complexType>\r
221         </element>\r
222 \r
223         <element name="AccessControl" type="conf:UniOperatorType">\r
224                 <annotation>\r
225                         <documentation>\r
226                         A simple example access policy language extension that supersedes Apache .htaccess\r
227                         </documentation>\r
228                 </annotation>\r
229         </element>\r
230         <element name="OR" type="conf:MultiOperatorType"/>\r
231         <element name="AND" type="conf:MultiOperatorType"/>\r
232         <element name="NOT" type="conf:UniOperatorType"/>\r
233         <complexType name="UniOperatorType">\r
234                 <choice>\r
235                         <element ref="conf:AND"/>\r
236                         <element ref="conf:OR"/>\r
237                         <element ref="conf:NOT"/>\r
238                         <element ref="conf:Rule"/>\r
239                 </choice>\r
240         </complexType>\r
241         <complexType name="MultiOperatorType">\r
242                 <choice minOccurs="2" maxOccurs="unbounded">\r
243                         <element ref="conf:AND"/>\r
244                         <element ref="conf:OR"/>\r
245                         <element ref="conf:NOT"/>\r
246                         <element ref="conf:Rule"/>\r
247                 </choice>\r
248         </complexType>\r
249         <element name="Rule">\r
250                 <complexType>\r
251                         <simpleContent>\r
252                                 <extension base="conf:listOfStrings">\r
253                                         <attribute name="require" type="conf:string" use="required"/>\r
254                                 </extension>\r
255                         </simpleContent>\r
256                 </complexType>\r
257         </element>\r
258         \r
259         <attributeGroup name="ContentSettings">\r
260                 <attribute name="authType" type="conf:string"/>\r
261                 <attribute name="requireSession" type="boolean"/>\r
262                 <attribute name="requireSessionWith" type="conf:string"/>\r
263                 <attribute name="exportAssertion" type="boolean"/>\r
264                 <attribute name="redirectToSSL" type="unsignedInt"/>\r
265                 <anyAttribute namespace="##other" processContents="lax"/>\r
266         </attributeGroup>\r
267         <element name="AccessControlProvider" type="conf:PluggableType"/>\r
268         <element name="htaccess" type="conf:PluggableType"/>\r
269 \r
270     <element name="RequestMap">\r
271                 <annotation>\r
272                         <documentation>\r
273                         Built-in request mapping syntax, decomposes URLs into Host/Path/Path/...\r
274                         </documentation>\r
275                 </annotation>\r
276         <complexType>\r
277             <sequence>\r
278                 <choice minOccurs="0">\r
279                         <element ref="conf:htaccess"/>\r
280                                         <element ref="conf:AccessControl"/>\r
281                         <element ref="conf:AccessControlProvider"/>\r
282                     </choice>\r
283                 <element ref="conf:Host" minOccurs="0" maxOccurs="unbounded"/>\r
284             </sequence>\r
285             <attribute name="applicationId" type="conf:string" fixed="default"/>\r
286                 <attributeGroup ref="conf:ContentSettings"/>\r
287         </complexType>\r
288     </element>\r
289 \r
290     <element name="Host">\r
291         <complexType>\r
292                 <sequence>\r
293                 <choice minOccurs="0">\r
294                         <element ref="conf:htaccess"/>\r
295                                         <element ref="conf:AccessControl"/>\r
296                         <element ref="conf:AccessControlProvider"/>\r
297                     </choice>\r
298                         <element ref="conf:Path" minOccurs="0" maxOccurs="unbounded"/>\r
299                 </sequence>\r
300                 <attribute name="scheme">\r
301                             <simpleType>\r
302                                 <restriction base="conf:string">\r
303                                     <enumeration value="http"/>\r
304                                     <enumeration value="https"/>\r
305                                     <enumeration value="ftp"/>\r
306                                     <enumeration value="ldap"/>\r
307                                     <enumeration value="ldaps"/>\r
308                                 </restriction>\r
309                             </simpleType>\r
310                 </attribute>\r
311                 <attribute name="name" type="conf:string" use="required"/>\r
312                 <attribute name="port" type="unsignedInt"/>\r
313                 <attribute name="applicationId" type="conf:string"/>\r
314                 <attributeGroup ref="conf:ContentSettings"/>\r
315         </complexType>\r
316     </element>\r
317 \r
318     <element name="Path">\r
319         <complexType>\r
320                 <sequence>\r
321                 <choice minOccurs="0">\r
322                         <element ref="conf:htaccess"/>\r
323                                         <element ref="conf:AccessControl"/>\r
324                         <element ref="conf:AccessControlProvider"/>\r
325                     </choice>\r
326                         <element ref="conf:Path" minOccurs="0" maxOccurs="unbounded"/>\r
327                 </sequence>\r
328                 <attribute name="name" type="conf:string" use="required"/>\r
329                 <attribute name="applicationId" type="conf:string"/>\r
330                 <attributeGroup ref="conf:ContentSettings"/>\r
331         </complexType>\r
332     </element>\r
333 \r
334         <element name="Applications">\r
335                 <annotation>\r
336                         <documentation>Container for global settings and application-specific overrides</documentation>\r
337                 </annotation>\r
338                 <complexType>\r
339                         <sequence>\r
340                                 <element ref="conf:Sessions"/>\r
341                                 <element ref="conf:Errors"/>\r
342                                 <element ref="conf:CredentialUse" minOccurs="0"/>\r
343                                 <element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>
344                 <element name="MetadataProvider" type="conf:PluggableType"/>
345                                 <element name="TrustEngine" type="conf:PluggableType"/>\r
346                                 <element name="AttributeResolver" type="conf:PluggableType"/>\r
347                                 <element ref="conf:Application" minOccurs="0" maxOccurs="unbounded"/>\r
348                         </sequence>\r
349                         <attribute name="id" type="conf:string" fixed="default"/>\r
350                         <attribute name="providerId" type="anyURI" use="required"/>\r
351                         <attribute name="policyId" type="conf:string" use="required"/>\r
352                         <attribute name="homeURL" type="anyURI"/>\r
353                 <anyAttribute namespace="##other" processContents="lax"/>\r
354                 </complexType>\r
355         </element>\r
356         \r
357         <element name="Application">\r
358                 <annotation>\r
359                         <documentation>Container for application-specific overrides</documentation>\r
360                 </annotation>\r
361                 <complexType>\r
362                         <sequence>\r
363                                 <element ref="conf:Sessions" minOccurs="0"/>\r
364                                 <element ref="conf:Errors" minOccurs="0"/>\r
365                                 <element ref="conf:CredentialUse" minOccurs="0"/>\r
366                                 <element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>\r
367                                 <element name="MetadataProvider" type="conf:PluggableType" minOccurs="0"/>\r
368                                 <element name="TrustEngine" type="conf:PluggableType" minOccurs="0"/>\r
369                                 <element name="AttributeResolver" type="conf:PluggableType" minOccurs="0"/>\r
370                         </sequence>\r
371                         <attribute name="id" type="conf:string" use="required"/>\r
372                         <attribute name="providerId" type="anyURI"/>\r
373                         <attribute name="policyId" type="conf:string"/>\r
374                         <attribute name="homeURL" type="anyURI"/>\r
375                 <anyAttribute namespace="##other" processContents="lax"/>\r
376                 </complexType>\r
377         </element>\r
378 \r
379         <element name="Sessions">\r
380                 <annotation>\r
381                         <documentation>Container for specifying protocol handlers and session policy</documentation>\r
382                 </annotation>\r
383                 <complexType>\r
384                         <choice maxOccurs="unbounded">\r
385                                 <element ref="conf:SessionInitiator"/>\r
386                                 <element ref="md:AssertionConsumerService"/>\r
387                                 <element ref="md:SingleLogoutService"/>\r
388                                 <element ref="md:ManageNameIDService"/>\r
389                                 <element name="Handler">
390                                         <complexType>\r
391                                                 <complexContent>\r
392                                                         <restriction base="conf:PluggableType">\r
393                                                                 <sequence>\r
394                                                                         <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
395                                                                 </sequence>\r
396                                                                 <attribute name="Location" type="anyURI" use="required"/>\r
397                                                         </restriction>\r
398                                                 </complexContent>\r
399                                         </complexType>\r
400                                 </element>\r
401                         </choice>\r
402                         <attribute name="handlerURL" type="anyURI"/>\r
403                         <attribute name="handlerSSL" type="boolean" default="true"/>\r
404                         <attribute name="redirectErrors" type="anyURI"/>\r
405                         <attribute name="cookieName" type="conf:string"/>\r
406                         <attribute name="cookieProps" type="conf:string"/>\r
407                         <attribute name="idpHistory" type="boolean" default="true"/>\r
408                         <attribute name="idpHistoryDays" type="unsignedInt"/>\r
409                         <attribute name="lifetime" type="unsignedInt" default="28800"/>\r
410                         <attribute name="timeout" type="unsignedInt" default="3600"/>\r
411                         <attribute name="checkAddress" type="boolean" default="true"/>\r
412                         <attribute name="consistentAddress" type="boolean" default="true"/>\r
413                         <anyAttribute namespace="##other" processContents="lax"/>\r
414                 </complexType>\r
415         </element>\r
416         \r
417         <attribute name="policyId" type="conf:string">
418                 <annotation>
419                         <documentation>Used to reference Policy elements from profile endpoints.</documentation>
420                 </annotation>
421         </attribute>\r
422 \r
423         <element name="SessionInitiator">\r
424                 <annotation>\r
425                         <documentation>Used to specify handlers that can issue AuthnRequests</documentation>\r
426                 </annotation>\r
427                 <complexType>\r
428                         <sequence>\r
429                                 <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
430                         </sequence>\r
431                         <attribute name="Location" type="anyURI" use="required"/>\r
432                         <attribute name="Binding" type="anyURI" use="required"/>\r
433                         <attribute name="id" type="conf:string"/>\r
434                         <attribute name="isDefault" type="boolean"/>\r
435                         <attribute name="wayfURL" type="anyURI"/>\r
436                         <attribute name="wayfBinding" type="anyURI"/>\r
437                         <attribute name="relayState" type="conf:string"/>\r
438                         <anyAttribute namespace="##any" processContents="lax"/>\r
439                 </complexType>\r
440         </element>\r
441 \r
442         <element name="Errors">\r
443                 <annotation>\r
444                         <documentation>Container for error templates and associated details</documentation>\r
445                 </annotation>\r
446                 <complexType>\r
447                         <sequence>\r
448                                 <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
449                         </sequence>\r
450                         <attribute name="session" type="anyURI" use="required"/>\r
451                         <attribute name="metadata" type="anyURI"/>\r
452                         <attribute name="rm" type="anyURI"/>\r
453                         <attribute name="access" type="anyURI"/>\r
454                         <attribute name="ssl" type="anyURI"/>\r
455                         <attribute name="supportContact" type="conf:string"/>\r
456                         <attribute name="logoLocation" type="anyURI"/>\r
457                         <attribute name="styleSheet" type="anyURI"/>\r
458                         <anyAttribute namespace="##any" processContents="lax"/>\r
459                 </complexType>\r
460         </element>\r
461 \r
462         <attributeGroup name="CredentialUseGroup">\r
463                 <attribute name="TLS" type="conf:string"/>\r
464                 <attribute name="Signing" type="conf:string"/>\r
465                 <attribute name="Encryption" type="conf:string"/>\r
466                 <attribute name="signRequests" type="boolean" default="false"/>\r
467                 <attribute name="signatureAlg" type="anyURI"/>\r
468                 <attribute name="authType">\r
469                         <simpleType>\r
470                                 <restriction base="conf:string">\r
471                                         <enumeration value="basic"/>\r
472                                         <enumeration value="digest"/>\r
473                                         <enumeration value="ntlm"/>\r
474                                         <enumeration value="gss"/>\r
475                                 </restriction>\r
476                         </simpleType>\r
477                 </attribute>\r
478                 <attribute name="authUsername"/>\r
479                 <attribute name="authPassword"/>\r
480         </attributeGroup>\r
481 \r
482         <element name="CredentialUse">\r
483                 <annotation>\r
484                         <documentation>Container for specifying security methods to use with particular peers</documentation>\r
485                 </annotation>\r
486                 <complexType>\r
487                         <sequence>\r
488                                 <element name="RelyingParty" minOccurs="0" maxOccurs="unbounded">\r
489                                         <complexType>\r
490                                                 <sequence>\r
491                                                         <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
492                                                 </sequence>\r
493                                                 <attribute name="Name" type="conf:string" use="required"/>\r
494                                                 <attributeGroup ref="conf:CredentialUseGroup"/>\r
495                                                 <anyAttribute namespace="##other" processContents="lax"/>\r
496                                         </complexType>\r
497                                 </element>\r
498                                 <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
499                         </sequence>\r
500                         <attributeGroup ref="conf:CredentialUseGroup"/>\r
501                 <anyAttribute namespace="##other" processContents="lax"/>\r
502                 </complexType>\r
503         </element>\r
504         \r
505         <element name="Credentials">
506                 <annotation>\r
507                         <documentation>Container for specifying sources of credentials</documentation>\r
508                 </annotation>\r
509                 <complexType>\r
510                         <sequence>\r
511                                 <element name="CredentialResolver" minOccurs="1" maxOccurs="unbounded">
512                                         <annotation>\r
513                                                 <documentation>References CredentialResolver plugins</documentation>\r
514                                         </annotation>\r
515                                         <complexType>
516                                                 <complexContent>
517                                                         <restriction base="conf:PluggableType">
518                                                                 <sequence>
519                                                                         <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
520                                                                 </sequence>
521                                                                 <attribute name="id" type="conf:string" use="required"/>\r
522                                                                 <anyAttribute namespace="##any" processContents="lax"/>
523                                                         </restriction>
524                                                 </complexContent>
525                                         </complexType>
526                                 </element>\r
527                         </sequence>
528                 </complexType>
529         </element>\r
530         \r
531         <element name="SecurityPolicies">
532                 <annotation>\r
533                         <documentation>Container for specifying sets of policy rules to apply to incoming messages</documentation>\r
534                 </annotation>\r
535                 <complexType>\r
536                         <sequence>\r
537                                 <element name="Policy" minOccurs="1" maxOccurs="unbounded">\r
538                                         <annotation>\r
539                                                 <documentation>Specifies a set of SecurityPolicyRule plugins</documentation>\r
540                                         </annotation>\r
541                                         <complexType>\r
542                                                 <sequence>
543                                                         <element name="Rule" type="conf:PluggableType" minOccurs="1" maxOccurs="unbounded"/>
544                                                 </sequence>
545                                                 <attribute name="id" type="conf:string" use="required"/>\r
546                                                 <attribute name="validate" type="boolean" default="false"/>\r
547                                                 <attribute name="signedAssertions" type="boolean" default="false"/>\r
548                                                 <attribute name="requireConfidentiality" type="boolean" default="true"/>\r
549                                                 <attribute name="requireTransportAuth" type="boolean" default="true"/>\r
550                                                 <attribute name="chunkedEncoding" type="boolean" default="true"/>\r
551                                                 <attribute name="connectTimeout" type="unsignedShort" default="15"/>\r
552                                                 <attribute name="timeout" type="unsignedShort" default="30"/>\r
553                                                 <anyAttribute namespace="##any" processContents="lax"/>\r
554                                         </complexType>\r
555                                 </element>\r
556                         </sequence>\r
557                 </complexType>\r
558         </element>\r
559         \r
560 </schema>\r