Factored out SiteType.
[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: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     <complexType name="OriginSiteType">
36         <annotation>Origin sites add at least one handle service (with a name and optional KeyInfo), plus optional domains trusted for attribute scoping.</annotation>
37         <complexContent>
38             <extension base="shib:SiteType">
39                 <sequence>
40                     <element name="HandleService" maxOccurs="unbounded">
41                         <complexType>
42                             <sequence>
43                                 <element ref="ds:KeyInfo" minOccurs="0"/>
44                             </sequence>
45                             <attribute name="Name" type="string" use="required"/>
46                         </complexType>
47                     </element>
48                     <element name="Domain" type="string" minOccurs="0" maxOccurs="unbounded"/>
49                 </sequence>
50             </extension>
51         </complexContent>
52     </complexType>
53     <element name="OriginSite" type="shib:OriginSiteType"/>
54     <element name="DestinationSite" type="shib:SiteType"/>
55     <element name="Sites">
56         <annotation> The registry of sites plus an optional enveloped signature. </annotation>
57         <complexType>
58             <sequence>
59                 <choice maxOccurs="unbounded">
60                     <element ref="shib:OriginSite"/>
61                     <element ref="shib:DestinationSite"/>
62                 </choice>
63                 <element ref="ds:Signature" minOccurs="0"/>
64             </sequence>
65         </complexType>
66     </element>
67 </schema>