SDSS WAYF patch for multi-federation support
[java-idp.git] / src / schemas / wayfconfig.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Schema for the Shibboleth WAYF Service configuration file - Walter Hoehn - 06/14/2002 -->
3 <xs:schema 
4     targetNamespace="urn:mace:shibboleth:wayf:config:1.0"
5     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
6     xmlns:wc="urn:mace:shibboleth:wayf:config:1.0"
7     elementFormDefault="qualified">
8
9     <xs:simpleType name="handleCookieType">
10         <xs:restriction base="xs:string">
11             <xs:enumeration value="AlwaysFollow"/>
12             <xs:enumeration value="FollowSingle"/>
13             <xs:enumeration value="NeverFollow"/>
14             <xs:enumeration value="ClearCookie"/>
15         </xs:restriction>
16     </xs:simpleType>
17
18     <xs:complexType name="configValues">
19         <xs:sequence>
20             <xs:element name="SearchIgnore" minOccurs="0" maxOccurs="1">
21                 <xs:complexType>
22                     <xs:sequence>
23                         <xs:element name="IgnoreText" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
24                     </xs:sequence>
25                 </xs:complexType>
26             </xs:element>
27              <xs:element name="Federation" minOccurs="0" maxOccurs="unbounded">
28                <xs:complexType>
29                   <xs:attribute name="identifier" use="required"/>
30                </xs:complexType>
31             </xs:element>
32         </xs:sequence>
33         <xs:attribute name="location" type="xs:string" use="optional" />
34         <xs:attribute name="default" type="xs:boolean" use="optional" />
35         <xs:attribute name="jspFile" type="xs:string" use="optional" />
36         <xs:attribute name="errorJspFile" type="xs:string" use="optional" />
37         <xs:attribute name="provideListOfList" type="xs:boolean" use="optional" />
38         <xs:attribute name="provideList" type="xs:boolean" use="optional" />
39         <xs:attribute name="handleCookie" type="wc:handleCookieType" use="optional" />
40         <xs:attribute name="showUnusableIdPs" type="xs:boolean" use="optional" />
41         <xs:attribute name="cacheDomain" type="xs:string" use="optional"/>
42         <xs:attribute name="cacheExpiration" type="xs:string" use="optional" />
43     </xs:complexType>
44
45     <xs:element name="WayfConfig" >
46         <xs:complexType>         
47             <xs:sequence>
48                 <xs:element name="Default" type="wc:configValues" minOccurs="0" maxOccurs="1" /> 
49                             
50                 <xs:element name="MetadataProvider"  minOccurs="0" maxOccurs="unbounded">
51                     <xs:complexType>
52                         <xs:sequence>
53                             <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
54                         </xs:sequence>
55                         <xs:attribute name="type" type="xs:string" use="required" />
56                         <xs:attribute name="displayName" type="xs:string" use="required" />
57                         <xs:attribute name="identifier" type="xs:string" use="required" />
58                         <xs:attribute name="uri" type="xs:string" use="required" />
59                         <xs:anyAttribute namespace="##other" processContents="lax" />
60                     </xs:complexType>
61                 </xs:element>
62
63                 <xs:element name="DiscoveryServiceHandler" type="wc:configValues"  minOccurs="1" maxOccurs="unbounded" />
64
65             </xs:sequence>
66         </xs:complexType>
67     </xs:element>
68 </xs:schema>