source: aai/check-saml-metadata/saml-schema/shibboleth-2.0-native-sp-config.xsd @ 5962

Last change on this file since 5962 was 5962, checked in by Sander Maijers, 9 years ago
  • Add a schema relevant to SAML metadata.
  • Modify mime-type of schemas.
  • Refer to SAML metadata guidelines at

https://www.clarin.eu/content/guidelines-saml-metadata-about-your-sp in SAML metadata about
SPF SPs in document header.

  • Remove extraneous whitespace, erroneous newlines, reformat XML and improve punctuation and

spelling in SAML metadata about SPF SPs.

  • Remove signature from BAS EntityDescriptor? to allow modification and reduce technical issues

(the SAML metadata guidelines will be updated to reflect this measure).

  • Improve metadata about CMU SPs (ticket #732).
  • Property svn:mime-type set to text/xml
File size: 31.0 KB
Line 
1<?xml version="1.0" encoding="US-ASCII"?>
2<schema targetNamespace="urn:mace:shibboleth:2.0:native:sp:config"
3        xmlns="http://www.w3.org/2001/XMLSchema"
4        xmlns:conf="urn:mace:shibboleth:2.0:native:sp:config"
5  xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
6        xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
7        xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
8        xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
9        elementFormDefault="qualified"
10        attributeFormDefault="unqualified"
11        blockDefault="substitution"
12        version="2.4.2">
13
14  <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd" />
15  <import namespace="urn:oasis:names:tc:SAML:2.0:assertion" schemaLocation="saml-schema-assertion-2.0.xsd"/>
16  <import namespace="urn:oasis:names:tc:SAML:2.0:protocol" schemaLocation="saml-schema-protocol-2.0.xsd"/>
17  <import namespace="urn:oasis:names:tc:SAML:2.0:metadata" schemaLocation="saml-schema-metadata-2.0.xsd"/>
18
19  <annotation>
20    <documentation>
21      2.0 schema for XML-based configuration of Shibboleth Native SP instances.
22      First appearing in Shibboleth 2.0 release.
23    </documentation>
24  </annotation>
25
26  <simpleType name="string">
27    <restriction base="string">
28      <minLength value="1"/>
29    </restriction>
30  </simpleType>
31
32  <simpleType name="listOfStrings">
33    <list itemType="conf:string"/>
34  </simpleType>
35
36  <simpleType name="listOfURIs">
37    <list itemType="anyURI"/>
38  </simpleType>
39
40  <simpleType name="bindingBoolean">
41    <restriction base="string">
42      <enumeration value="true"/>
43      <enumeration value="false"/>
44      <enumeration value="front"/>
45      <enumeration value="back"/>
46    </restriction>
47  </simpleType>
48
49  <simpleType name="relayStateLimitType">
50    <restriction base="string">
51      <enumeration value="none"/>
52      <enumeration value="exact"/>
53      <enumeration value="host"/>
54      <enumeration value="whitelist"/>
55    </restriction>
56  </simpleType>
57
58  <complexType name="PluggableType">
59    <sequence>
60      <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
61    </sequence>
62    <attribute name="type" type="conf:string" use="required"/>
63    <anyAttribute namespace="##any" processContents="lax"/>
64  </complexType>
65
66  <complexType name="ExtensionsType">
67    <annotation>
68      <documentation>Container for extension libraries and custom configuration</documentation>
69    </annotation>
70    <sequence>
71      <element name="Library" minOccurs="0" maxOccurs="unbounded">
72        <complexType>
73          <sequence>
74            <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
75          </sequence>
76          <attribute name="path" type="anyURI" use="required"/>
77          <attribute name="fatal" type="boolean"/>
78          <anyAttribute namespace="##any" processContents="lax"/>
79        </complexType>
80      </element>
81      <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
82    </sequence>
83  </complexType>
84
85  <complexType name="StorageServiceType">
86    <annotation>
87      <documentation>References StorageService plugins</documentation>
88    </annotation>
89    <complexContent>
90      <restriction base="conf:PluggableType">
91        <sequence>
92          <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
93        </sequence>
94        <attribute name="id" type="ID" use="required"/>
95        <attribute name="cleanupInterval" type="unsignedInt"/>
96        <anyAttribute namespace="##any" processContents="lax"/>
97      </restriction>
98    </complexContent>
99  </complexType>
100
101  <complexType name="SessionCacheType">
102    <annotation>
103      <documentation>References SessionCache plugins</documentation>
104    </annotation>
105    <complexContent>
106      <restriction base="conf:PluggableType">
107        <sequence>
108          <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
109        </sequence>
110        <attribute name="StorageService" type="IDREF"/>
111        <attribute name="cacheAllowance" type="unsignedInt"/>
112        <attribute name="cacheTimeout" type="unsignedInt"/> <!-- deprecated -->
113        <anyAttribute namespace="##any" processContents="lax"/>
114      </restriction>
115    </complexContent>
116  </complexType>
117
118  <complexType name="ReplayCacheType">
119    <annotation>
120      <documentation>Ties ReplayCache to a custom StorageService</documentation>
121    </annotation>
122    <sequence/>
123    <attribute name="StorageService" type="IDREF"/>
124  </complexType>
125
126  <complexType name="ArtifactMapType">
127    <annotation>
128      <documentation>Customizes an ArtifactMap</documentation>
129    </annotation>
130    <sequence/>
131    <attribute name="StorageService" type="IDREF"/>
132    <attribute name="context" type="conf:string"/>
133    <attribute name="artifactTTL" type="unsignedInt"/>
134  </complexType>
135
136  <complexType name="OutOfProcessType">
137    <annotation>
138      <documentation>Container for out-of-process (shibd) configuration</documentation>
139    </annotation>
140    <sequence>
141      <element name="Extensions" type="conf:ExtensionsType" minOccurs="0"/>
142      <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
143    </sequence>
144    <attribute name="logger" type="anyURI"/>
145    <attribute name="catchAll" type="boolean"/>
146    <anyAttribute namespace="##other" processContents="lax"/>
147  </complexType>
148
149  <complexType name="InProcessType">
150    <annotation>
151      <documentation>
152        Container for configuration of locally integrated or platform-specific
153        features (e.g. web server filters)
154      </documentation>
155    </annotation>
156    <sequence>
157      <element name="Extensions" type="conf:ExtensionsType" minOccurs="0"/>
158      <element name="ISAPI" minOccurs="0">
159        <complexType>
160          <sequence>
161            <element name="Site" maxOccurs="unbounded">
162              <complexType>
163                <sequence>
164                  <element name="Alias" type="conf:string" minOccurs="0" maxOccurs="unbounded"/>
165                </sequence>
166                <attribute name="id" type="unsignedInt" use="required"/>
167                <attribute name="name" type="conf:string" use="required"/>
168                <attribute name="port" type="unsignedInt"/>
169                <attribute name="sslport" type="unsignedInt"/>
170                <attribute name="scheme" type="conf:string"/>
171              </complexType>
172            </element>
173            <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
174          </sequence>
175          <attribute name="normalizeRequest" type="boolean"/>
176          <attribute name="safeHeaderNames" type="boolean"/>
177          <anyAttribute namespace="##other" processContents="lax"/>
178        </complexType>
179      </element>
180      <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
181    </sequence>
182    <attribute name="logger" type="anyURI"/>
183    <attribute name="unsetHeaderValue" type="conf:string"/>
184    <attribute name="checkSpoofing" type="boolean"/>
185    <attribute name="spoofKey" type="conf:string"/>
186    <attribute name="catchAll" type="boolean"/>
187    <attribute name="extraAuthTypes" type="conf:listOfStrings"/>
188    <anyAttribute namespace="##other" processContents="lax"/>
189  </complexType>
190
191  <element name="AccessControl" type="conf:UniOperatorType">
192    <annotation>
193      <documentation>
194        A simple example access policy language extension that supersedes Apache .htaccess
195      </documentation>
196    </annotation>
197  </element>
198  <complexType name="UniOperatorType">
199    <choice>
200      <element name="AND" type="conf:MultiOperatorType"/>
201      <element name="OR" type="conf:MultiOperatorType"/>
202      <element name="NOT" type="conf:UniOperatorType"/>
203      <element name="Rule" type="conf:RuleType"/>
204      <element name="RuleRegex" type="conf:RuleRegexType"/>
205    </choice>
206  </complexType>
207  <complexType name="MultiOperatorType">
208    <choice minOccurs="2" maxOccurs="unbounded">
209      <element name="AND" type="conf:MultiOperatorType"/>
210      <element name="OR" type="conf:MultiOperatorType"/>
211      <element name="NOT" type="conf:UniOperatorType"/>
212      <element name="Rule" type="conf:RuleType"/>
213      <element name="RuleRegex" type="conf:RuleRegexType"/>
214    </choice>
215  </complexType>
216  <complexType name="RuleType">
217    <simpleContent>
218      <extension base="conf:listOfStrings">
219        <attribute name="require" type="conf:string" use="required"/>
220        <attribute name="list" type="boolean"/>
221      </extension>
222    </simpleContent>
223  </complexType>
224  <complexType name="RuleRegexType">
225    <simpleContent>
226      <extension base="conf:string">
227        <attribute name="require" type="conf:string" use="required"/>
228        <attribute name="ignoreCase" type="boolean"/>
229      </extension>
230    </simpleContent>
231  </complexType>
232
233  <attributeGroup name="ContentSettings">
234    <attribute name="applicationId" type="conf:string"/>
235    <attribute name="authType" type="conf:string"/>
236    <attribute name="requireSession" type="boolean"/>
237    <attribute name="requireSessionWith" type="conf:string"/>
238    <attribute name="exportAssertion" type="boolean"/>
239    <attribute name="redirectToSSL" type="unsignedInt"/>
240    <attribute name="entityID" type="anyURI"/>
241    <attribute name="discoveryURL" type="anyURI"/>
242    <attribute name="isPassive" type="boolean"/>
243    <attribute name="returnOnError" type="boolean"/>
244    <attribute name="forceAuthn" type="boolean"/>
245    <attribute name="authnContextClassRef" type="anyURI"/>
246    <attribute name="authnContextComparison" type="samlp:AuthnContextComparisonType"/>
247    <attribute name="NameIDFormat" type="anyURI"/>
248    <attribute name="SPNameQualifier" type="conf:string"/>
249    <attribute name="redirectErrors" type="anyURI"/>
250    <attribute name="sessionError" type="anyURI"/>
251    <attribute name="metadataError" type="anyURI"/>
252    <attribute name="accessError" type="anyURI"/>
253    <attribute name="sslError" type="anyURI"/>
254    <attribute name="target" type="anyURI"/>
255    <attribute name="acsIndex" type="unsignedShort"/>
256    <attribute name="REMOTE_ADDR" type="conf:string"/>
257    <attribute name="encoding" type="conf:string"/>
258    <anyAttribute namespace="##other" processContents="lax"/>
259  </attributeGroup>
260
261  <element name="RequestMap">
262    <annotation>
263      <documentation>
264        Built-in request mapping syntax, decomposes URLs into Host/Path/Path/...
265      </documentation>
266    </annotation>
267    <complexType>
268      <sequence>
269        <choice minOccurs="0">
270          <element name="htaccess" type="conf:PluggableType"/>
271          <element ref="conf:AccessControl"/>
272          <element name="AccessControlProvider" type="conf:PluggableType"/>
273        </choice>
274        <choice minOccurs="0" maxOccurs="unbounded">
275          <element name="Host" type="conf:HostType"/>
276          <element name="HostRegex" type="conf:HostRegexType"/>
277        </choice>
278        <element ref="ds:Signature" minOccurs="0"/>
279      </sequence>
280      <attribute name="unicodeAware" type="boolean"/>
281      <attributeGroup ref="conf:ContentSettings"/>
282    </complexType>
283  </element>
284
285  <complexType name="HostType">
286    <sequence>
287      <choice minOccurs="0">
288        <element name="htaccess" type="conf:PluggableType"/>
289        <element ref="conf:AccessControl"/>
290        <element name="AccessControlProvider" type="conf:PluggableType"/>
291      </choice>
292      <choice minOccurs="0" maxOccurs="unbounded">
293        <element name="Path" type="conf:PathType"/>
294        <element name="PathRegex" type="conf:PathRegexType"/>
295        <element name="Query" type="conf:QueryType"/>
296      </choice>
297    </sequence>
298    <attribute name="scheme">
299      <simpleType>
300        <restriction base="conf:string">
301          <enumeration value="http"/>
302          <enumeration value="https"/>
303          <enumeration value="ftp"/>
304          <enumeration value="ldap"/>
305          <enumeration value="ldaps"/>
306        </restriction>
307      </simpleType>
308    </attribute>
309    <attribute name="name" type="conf:string" use="required"/>
310    <attribute name="port" type="unsignedInt"/>
311    <attributeGroup ref="conf:ContentSettings"/>
312  </complexType>
313
314  <complexType name="HostRegexType">
315    <sequence>
316      <choice minOccurs="0">
317        <element name="htaccess" type="conf:PluggableType"/>
318        <element ref="conf:AccessControl"/>
319        <element name="AccessControlProvider" type="conf:PluggableType"/>
320      </choice>
321      <choice minOccurs="0" maxOccurs="unbounded">
322        <element name="Path" type="conf:PathType"/>
323        <element name="PathRegex" type="conf:PathRegexType"/>
324        <element name="Query" type="conf:QueryType"/>
325      </choice>
326    </sequence>
327    <attribute name="regex" type="conf:string" use="required"/>
328    <attribute name="ignoreCase" type="boolean"/>
329    <attributeGroup ref="conf:ContentSettings"/>
330  </complexType>
331
332  <complexType name="PathType">
333    <sequence>
334      <choice minOccurs="0">
335        <element name="htaccess" type="conf:PluggableType"/>
336        <element ref="conf:AccessControl"/>
337        <element name="AccessControlProvider" type="conf:PluggableType"/>
338      </choice>
339      <choice minOccurs="0" maxOccurs="unbounded">
340        <element name="Path" type="conf:PathType"/>
341        <element name="PathRegex" type="conf:PathRegexType"/>
342        <element name="Query" type="conf:QueryType"/>
343      </choice>
344    </sequence>
345    <attribute name="name" type="conf:string" use="required"/>
346    <attributeGroup ref="conf:ContentSettings"/>
347  </complexType>
348
349  <complexType name="PathRegexType">
350    <sequence>
351      <choice minOccurs="0">
352        <element name="htaccess" type="conf:PluggableType"/>
353        <element ref="conf:AccessControl"/>
354        <element name="AccessControlProvider" type="conf:PluggableType"/>
355      </choice>
356      <element name="Query" type="conf:QueryType" minOccurs="0" maxOccurs="unbounded"/>
357    </sequence>
358    <attribute name="regex" type="conf:string" use="required"/>
359    <attribute name="ignoreCase" type="boolean"/>
360    <attributeGroup ref="conf:ContentSettings"/>
361  </complexType>
362
363  <complexType name="QueryType">
364    <sequence>
365      <choice minOccurs="0">
366        <element name="htaccess" type="conf:PluggableType"/>
367        <element ref="conf:AccessControl"/>
368        <element name="AccessControlProvider" type="conf:PluggableType"/>
369      </choice>
370      <element name="Query" type="conf:QueryType" minOccurs="0" maxOccurs="unbounded"/>
371    </sequence>
372    <attribute name="name" type="conf:string" use="required"/>
373    <attribute name="regex" type="conf:string"/>
374    <attributeGroup ref="conf:ContentSettings"/>
375  </complexType>
376
377  <complexType name="ApplicationDefaultsType">
378    <annotation>
379      <documentation>Container for default settings and application-specific overrides</documentation>
380    </annotation>
381    <sequence>
382      <element name="Sessions" type="conf:SessionsType"/>
383      <element name="Errors" type="conf:ErrorsType" minOccurs="0"/>
384      <choice minOccurs="0" maxOccurs="unbounded">
385        <element name="RelyingParty" type="conf:RelyingPartyType"/>
386        <element name="Notify" type="conf:NotifyType"/>
387        <element ref="saml:Audience"/>
388        <element name="MetadataProvider" type="conf:PluggableType"/>
389        <element name="TrustEngine" type="conf:PluggableType"/>
390        <element name="AttributeExtractor" type="conf:PluggableType"/>
391        <element name="AttributeResolver" type="conf:PluggableType"/>
392        <element name="AttributeFilter" type="conf:PluggableType"/>
393        <element name="CredentialResolver" type="conf:PluggableType"/>
394        <element name="ApplicationOverride" type="conf:ApplicationOverrideType"/>
395      </choice>
396    </sequence>
397    <attribute name="id" type="conf:string" fixed="default"/>
398    <attribute name="entityID" type="anyURI" use="required"/>
399    <attribute name="policyId" type="conf:string"/>
400    <attributeGroup ref="conf:ApplicationGroup"/>
401    <attributeGroup ref="conf:RelyingPartyGroup"/>
402    <anyAttribute namespace="##other" processContents="lax"/>
403  </complexType>
404
405  <complexType name="ApplicationOverrideType">
406    <annotation>
407      <documentation>Container for application-specific overrides</documentation>
408    </annotation>
409    <sequence>
410      <element name="Sessions" type="conf:SessionsType" minOccurs="0"/>
411      <element name="Errors" type="conf:ErrorsType" minOccurs="0"/>
412      <choice minOccurs="0" maxOccurs="unbounded">
413        <element name="RelyingParty" type="conf:RelyingPartyType"/>
414        <element name="Notify" type="conf:NotifyType"/>
415        <element ref="saml:Audience"/>
416        <element name="MetadataProvider" type="conf:PluggableType"/>
417        <element name="TrustEngine" type="conf:PluggableType"/>
418        <element name="AttributeExtractor" type="conf:PluggableType"/>
419        <element name="AttributeResolver" type="conf:PluggableType"/>
420        <element name="AttributeFilter" type="conf:PluggableType"/>
421        <element name="CredentialResolver" type="conf:PluggableType"/>
422      </choice>
423    </sequence>
424    <attribute name="id" type="conf:string" use="required"/>
425    <attribute name="entityID" type="anyURI"/>
426    <attribute name="policyId" type="conf:string"/>
427    <attributeGroup ref="conf:ApplicationGroup"/>
428    <attributeGroup ref="conf:RelyingPartyGroup"/>
429    <anyAttribute namespace="##other" processContents="lax"/>
430  </complexType>
431
432  <attributeGroup name="ApplicationGroup">
433    <attribute name="homeURL" type="anyURI"/>
434    <attribute name="REMOTE_USER" type="conf:listOfStrings"/>
435    <attribute name="unsetHeaders" type="conf:listOfStrings"/>
436    <attribute name="metadataAttributePrefix" type="conf:string"/>
437    <attribute name="attributePrefix" type="conf:string"/>
438  </attributeGroup>
439
440  <attributeGroup name="RelyingPartyGroup">
441    <attribute name="authType" type="conf:string"/>
442    <attribute name="authUsername" type="conf:string"/>
443    <attribute name="authPassword" type="conf:string"/>
444    <attribute name="signing" type="conf:bindingBoolean"/>
445    <attribute name="signingAlg" type="anyURI"/>
446    <attribute name="digestAlg" type="anyURI"/>
447    <attribute name="encryption" type="conf:bindingBoolean"/>
448    <attribute name="encryptionAlg" type="anyURI"/>
449    <attribute name="keyName" type="conf:string"/>
450    <attribute name="artifactEndpointIndex" type="unsignedShort"/>
451    <attribute name="chunkedEncoding" type="boolean"/>
452    <attribute name="connectTimeout" type="unsignedShort"/>
453    <attribute name="timeout" type="unsignedShort"/>
454    <attribute name="requireConfidentiality" type="boolean"/>
455    <attribute name="requireTransportAuth" type="boolean"/>
456    <attribute name="requireSignedAssertions" type="boolean"/>
457  </attributeGroup>
458   
459  <complexType name="SessionsType">
460    <annotation>
461      <documentation>Container for specifying protocol handlers and session policy</documentation>
462    </annotation>
463    <sequence>
464      <element name="SSO" minOccurs="0">
465        <complexType>
466          <annotation>
467            <documentation>Implicitly configures SessionInitiator and AssertionConsumerService handlers</documentation>
468          </annotation>
469          <simpleContent>
470            <extension base="conf:listOfStrings">
471              <attribute name="discoveryProtocol" type="conf:string"/>
472              <attribute name="discoveryURL" type="anyURI"/>
473              <attributeGroup ref="conf:SessionInitiatorGroup"/>
474            </extension>
475          </simpleContent>
476        </complexType>
477      </element>
478      <element name="Logout" minOccurs="0">
479        <complexType>
480          <annotation>
481            <documentation>Implicitly configures LogoutInitiator and SingleLogoutService handlers</documentation>
482          </annotation>
483          <simpleContent>
484            <extension base="conf:listOfStrings">
485              <attributeGroup ref="conf:LogoutInitiatorGroup"/>
486            </extension>
487          </simpleContent>
488        </complexType>
489      </element>
490      <element name="NameIDMgmt" type="conf:listOfStrings" minOccurs="0">
491        <annotation>
492          <documentation>Implicitly configures ManageNameIDService handlers</documentation>
493        </annotation>
494      </element>
495      <choice minOccurs="0" maxOccurs="unbounded">
496        <element ref="conf:SessionInitiator"/>
497        <element ref="conf:LogoutInitiator"/>
498        <element ref="md:AssertionConsumerService"/>
499        <element ref="md:ArtifactResolutionService"/>
500        <element ref="md:SingleLogoutService"/>
501        <element ref="md:ManageNameIDService"/>
502        <element ref="conf:Handler"/>
503      </choice>
504    </sequence>
505    <attribute name="handlerURL" type="anyURI"/>
506    <attribute name="handlerSSL" type="boolean"/>
507    <attribute name="exportLocation" type="conf:string"/>
508    <attribute name="exportACL" type="conf:listOfStrings"/>
509    <attribute name="cookieName" type="conf:string"/>
510    <attribute name="cookieProps" type="conf:string"/>
511    <attribute name="cookieLifetime" type="unsignedInt"/>
512    <attribute name="idpHistory" type="boolean"/>
513    <attribute name="idpHistoryDays" type="unsignedInt"/>
514    <attribute name="lifetime" type="unsignedInt"/>
515    <attribute name="timeout" type="unsignedInt"/>
516    <attribute name="maxTimeSinceAuthn" type="unsignedInt"/>
517    <attribute name="checkAddress" type="boolean"/>
518    <attribute name="consistentAddress" type="boolean"/>
519    <attribute name="postData" type="conf:string"/>
520    <attribute name="postLimit" type="positiveInteger"/>
521    <attribute name="postTemplate" type="conf:string"/>
522    <attribute name="postExpire" type="boolean"/>
523    <attribute name="relayState" type="conf:string"/>
524    <attribute name="relayStateLimit" type="conf:relayStateLimitType"/>
525    <attribute name="relayStateWhitelist" type="conf:listOfURIs"/>
526    <anyAttribute namespace="##other" processContents="lax"/>
527  </complexType>
528
529  <attribute name="policyId" type="conf:string">
530    <annotation>
531      <documentation>Used to override Policy from profile endpoints</documentation>
532    </annotation>
533  </attribute>
534
535  <attributeGroup name="SessionInitiatorGroup">
536    <annotation>
537      <documentation>Options common to explicit and implicit SessionInitiators</documentation>
538    </annotation>
539    <attribute name="relayState" type="conf:string"/>
540    <attribute name="entityIDParam" type="conf:string"/>
541    <attribute name="entityID" type="anyURI"/>
542    <attribute name="outgoingBindings" type="conf:listOfURIs"/>
543    <attribute name="preservedOptions" type="conf:listOfStrings"/>
544    <attribute name="template" type="anyURI"/>
545    <attribute name="postArtifact" type="boolean"/>
546    <attribute name="acsByIndex" type="boolean"/>
547    <attribute name="isPassive" type="boolean"/>
548    <attribute name="returnOnError" type="boolean"/>
549    <attribute name="forceAuthn" type="boolean"/>
550    <attribute name="authnContextClassRef" type="anyURI"/>
551    <attribute name="authnContextComparison" type="samlp:AuthnContextComparisonType"/>
552    <attribute name="NameIDFormat" type="anyURI"/>
553    <attribute name="SPNameQualifier" type="conf:string"/>
554    <attribute name="requestDelegation" type="boolean"/>
555    <attribute name="target" type="anyURI"/>
556    <anyAttribute namespace="##any" processContents="lax"/>
557  </attributeGroup>
558
559  <element name="SessionInitiator">
560    <annotation>
561      <documentation>Used to specify handlers that can issue AuthnRequests or perform discovery</documentation>
562    </annotation>
563    <complexType>
564      <complexContent>
565        <restriction base="conf:PluggableType">
566          <sequence>
567            <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
568          </sequence>
569          <attribute name="Location" type="anyURI"/>
570          <attribute name="id" type="conf:string"/>
571          <attribute name="isDefault" type="boolean"/>
572          <attribute name="URL" type="anyURI"/>
573          <attribute name="acsIndex" type="unsignedShort"/>
574          <attribute name="defaultACSIndex" type="unsignedShort"/>  <!-- deprecated -->
575          <attributeGroup ref="conf:SessionInitiatorGroup"/>
576        </restriction>
577      </complexContent>
578    </complexType>
579  </element>
580
581  <attributeGroup name="LogoutInitiatorGroup">
582    <annotation>
583      <documentation>Options common to explicit and implicit LogoutInitiators</documentation>
584    </annotation>
585    <attribute name="relayState" type="conf:string"/>
586    <attribute name="outgoingBindings" type="conf:listOfURIs"/>
587    <attribute name="template" type="anyURI"/>
588    <attribute name="postArtifact" type="boolean"/>
589    <anyAttribute namespace="##any" processContents="lax"/>
590  </attributeGroup>
591
592  <element name="LogoutInitiator">
593    <annotation>
594      <documentation>Used to specify handlers that can issue LogoutRequests</documentation>
595    </annotation>
596    <complexType>
597      <complexContent>
598        <restriction base="conf:PluggableType">
599          <sequence>
600            <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
601          </sequence>
602          <attribute name="Location" type="anyURI"/>
603          <attributeGroup ref="conf:LogoutInitiatorGroup"/>
604        </restriction>
605      </complexContent>
606    </complexType>
607  </element>
608
609  <element name="Handler">
610    <annotation>
611      <documentation>Used to specify custom handlers</documentation>
612    </annotation>
613    <complexType>
614      <complexContent>
615        <restriction base="conf:PluggableType">
616          <sequence>
617            <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
618          </sequence>
619          <attribute name="Location" type="anyURI" use="required"/>
620          <attribute name="acl" type="conf:listOfStrings"/>
621          <anyAttribute namespace="##any" processContents="lax"/>
622        </restriction>
623      </complexContent>
624    </complexType>
625  </element>
626
627  <complexType name="ErrorsType">
628    <annotation>
629      <documentation>Container for error templates and associated details</documentation>
630    </annotation>
631    <sequence>
632      <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
633    </sequence>
634    <attribute name="redirectErrors" type="anyURI"/>
635    <attribute name="session" type="anyURI"/>
636    <attribute name="metadata" type="anyURI"/>
637    <attribute name="access" type="anyURI"/>
638    <attribute name="ssl" type="anyURI"/>
639    <attribute name="localLogout" type="anyURI"/>
640    <attribute name="globalLogout" type="anyURI"/>
641    <attribute name="partialLogout" type="anyURI"/>
642    <attribute name="supportContact" type="conf:string"/>
643    <attribute name="logoLocation" type="anyURI"/>
644    <attribute name="styleSheet" type="anyURI"/>
645    <anyAttribute namespace="##any" processContents="lax"/>
646  </complexType>
647
648  <complexType name="RelyingPartyType">
649    <annotation>
650      <documentation>Container for specifying settings to use with particular peers</documentation>
651    </annotation>
652    <sequence/>
653    <attribute name="Name" type="conf:string" use="required"/>
654    <attributeGroup ref="conf:RelyingPartyGroup"/>
655    <attribute name="entityID" type="anyURI"/>
656    <anyAttribute namespace="##other" processContents="lax"/>
657  </complexType>
658
659  <complexType name="NotifyType">
660    <annotation>
661      <documentation>Used to specify locations to receive application notifications</documentation>
662    </annotation>
663    <sequence/>
664    <attribute name="Channel" use="required">
665      <simpleType>
666        <restriction base="string">
667          <enumeration value="front"/>
668          <enumeration value="back"/>
669        </restriction>
670      </simpleType>
671    </attribute>
672    <attribute name="Location" type="anyURI" use="required"/>
673    <anyAttribute namespace="##any" processContents="lax"/>
674  </complexType>
675
676  <element name="SecurityPolicies">
677    <complexType>
678      <annotation>
679        <documentation>Container for specifying sets of policy rules to apply to incoming messages</documentation>
680      </annotation>
681      <sequence>
682        <element name="Policy" minOccurs="1" maxOccurs="unbounded">
683          <annotation>
684            <documentation>Specifies a set of SecurityPolicyRule plugins</documentation>
685          </annotation>
686          <complexType>
687            <choice>
688              <element name="Rule" type="conf:PluggableType" minOccurs="1" maxOccurs="unbounded"/>
689              <element name="PolicyRule" type="conf:PluggableType" minOccurs="1" maxOccurs="unbounded"/>
690            </choice>
691            <attribute name="id" type="conf:string" use="required"/>
692            <attribute name="validate" type="boolean"/>
693            <anyAttribute namespace="##any" processContents="lax"/>
694          </complexType>
695        </element>
696        <choice minOccurs="0">
697          <element name="AlgorithmWhitelist" type="conf:listOfURIs"/>
698          <element name="AlgorithmBlacklist" type="conf:listOfURIs"/>
699        </choice>
700      </sequence>
701    </complexType>
702  </element>
703
704  <element name="TransportOption">
705    <annotation>
706      <documentation>Implementation-specific option to pass to SOAPTransport provider.</documentation>
707    </annotation>
708    <complexType>
709      <simpleContent>
710        <extension base="anySimpleType">
711          <attribute name="provider" type="conf:string" use="required"/>
712          <attribute name="option" type="conf:string" use="required"/>
713        </extension>
714      </simpleContent>
715    </complexType>
716  </element>
717
718  <element name="SPConfig">
719    <complexType>
720      <annotation>
721        <documentation>Root of configuration</documentation>
722      </annotation>
723      <sequence>
724        <element name="Extensions" type="conf:ExtensionsType" minOccurs="0"/>
725        <element name="OutOfProcess" type="conf:OutOfProcessType" minOccurs="0"/>
726        <element name="InProcess" type="conf:InProcessType" minOccurs="0"/>
727        <choice minOccurs="0">
728          <element name="UnixListener">
729            <complexType>
730              <attribute name="address" type="conf:string" use="required"/>
731              <attribute name="stackSize" type="unsignedInt"/>
732            </complexType>
733          </element>
734          <element name="TCPListener">
735            <complexType>
736              <attribute name="address" type="conf:string" use="required"/>
737              <attribute name="port" type="unsignedInt" use="required"/>
738              <attribute name="acl" type="conf:listOfStrings"/>
739              <attribute name="stackSize" type="unsignedInt"/>
740            </complexType>
741          </element>
742          <element name="Listener" type="conf:PluggableType"/>
743        </choice>
744        <element name="StorageService" type="conf:StorageServiceType" minOccurs="0" maxOccurs="unbounded"/>
745        <element name="SessionCache" type="conf:SessionCacheType" minOccurs="0"/>
746        <element name="ReplayCache" type="conf:ReplayCacheType" minOccurs="0"/>
747        <element name="ArtifactMap" type="conf:ArtifactMapType" minOccurs="0"/>
748        <element name="RequestMapper" type="conf:PluggableType" minOccurs="0"/>
749        <element name="ApplicationDefaults" type="conf:ApplicationDefaultsType"/>
750        <choice>
751          <element name="SecurityPolicyProvider" type="conf:PluggableType"/>
752          <element ref="conf:SecurityPolicies"/> <!-- deprecated -->
753        </choice>
754        <element name="ProtocolProvider" type="conf:PluggableType" minOccurs="0"/>
755        <element ref="conf:TransportOption" minOccurs="0" maxOccurs="unbounded"/>
756        <element ref="ds:Signature" minOccurs="0"/>
757      </sequence>
758      <attribute name="logger" type="anyURI"/>
759      <attribute name="clockSkew" type="unsignedInt"/>
760      <attribute name="unsafeChars" type="conf:string"/>
761      <attribute name="allowedSchemes" type="conf:listOfStrings"/>
762      <anyAttribute namespace="##other" processContents="lax"/>
763    </complexType>
764  </element>
765
766</schema>
Note: See TracBrowser for help on using the repository browser.