bug fix
[java-idp.git] / src / schemas / shibboleth.xsd
1 <?xml version="1.0" encoding="US-ASCII"?>
2 <schema targetNamespace="urn:mace:shibboleth:1.0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:shib="urn:mace:shibboleth:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
3     <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
4     <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
5     
6     <element name="RealTimeReleaseURL" type="anyURI">
7         <annotation>Used by AA in samlp:StatusDetail to signal user wants real-time attribute release.</annotation>
8     </element>
9     
10     <!--
11     The following SAML sub-status codes are defined in this namespace:
12     
13         "RealTimeRelease"
14             Used with samlp:Responder, signals user wants real-time attribute release
15         
16         "InvalidHandle"
17             Used with samlp:Requester, signals AA did not recognize handle as valid
18     -->
19     
20     <complexType name="SiteType">
21         <annotation> All sites have a Name attribute, plus optional i18n-ized aliases. </annotation>
22         <sequence>
23             <element name="Alias" minOccurs="0" maxOccurs="unbounded">
24                 <complexType>
25                     <simpleContent>
26                         <extension base="string">
27                             <attribute ref="xml:lang"/>
28                         </extension>
29                     </simpleContent>
30                 </complexType>
31             </element>
32         </sequence>
33         <attribute name="Name" type="string" use="required"/>
34     </complexType>
35     
36     <complexType name="OriginSiteType">
37         <annotation>Origin sites add at least one handle service (with a name and optional KeyInfo), plus optional domains trusted for attribute scoping.</annotation>
38         <complexContent>
39             <extension base="shib:SiteType">
40                 <sequence>
41                     <element name="HandleService" maxOccurs="unbounded">
42                         <complexType>
43                             <sequence>
44                                 <element ref="ds:KeyInfo" minOccurs="0"/>
45                             </sequence>
46                             <attribute name="Name" type="string" use="required"/>
47                             <attribute name="Location" type="anyURI" use="required"/>
48                         </complexType>
49                     </element>
50                     <element name="Domain" type="string" minOccurs="0" maxOccurs="unbounded"/>
51                 </sequence>
52             </extension>
53         </complexContent>
54     </complexType>
55
56     <complexType name="SiteGroupType">
57         <annotation>Used to logically group sites together.</annotation>
58         <sequence>
59             <choice maxOccurs="unbounded">
60                 <element ref="shib:OriginSite"/>
61                 <element ref="shib:DestinationSite"/>
62                 <element ref="shib:SiteGroup"/>
63             </choice>
64         </sequence>
65         <attribute name="Name" type="string" use="required"/>
66     </complexType>    
67
68     <element name="OriginSite" type="shib:OriginSiteType"/>
69     <element name="DestinationSite" type="shib:SiteType"/>
70     <element name="SiteGroup" type="shib:SiteGroupType"/>
71
72     <element name="Sites">
73         <annotation>The registry of sites plus an optional enveloped signature.</annotation>
74         <complexType>
75             <sequence>
76                 <choice maxOccurs="unbounded">
77                     <element ref="shib:OriginSite"/>
78                     <element ref="shib:DestinationSite"/>
79                     <element ref="shib:SiteGroup"/>
80                 </choice>
81                 <element ref="ds:Signature" minOccurs="0"/>
82             </sequence>
83         </complexType>
84     </element>
85 </schema>