Update README with bug fix list.
[shibboleth/cpp-opensaml.git] / schemas / cs-sstc-schema-protocol-01.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Phillip Hallam-Baker (Phillip Hallam-Baker) -->\r
3 <schema targetNamespace="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">\r
4         <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-01.xsd"/>\r
5         <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>\r
6         <annotation>\r
7                 <documentation>\r
8                 Document identifier: cs-sstc-schema-protocol-01\r
9                 Location: http://www.oasis-open.org/committees/security/docs/\r
10                 </documentation>\r
11         </annotation>\r
12         <complexType name="RequestAbstractType" abstract="true">\r
13                 <sequence>\r
14                         <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>\r
15                         <element ref="ds:Signature" minOccurs="0"/>\r
16                 </sequence>\r
17                 <attribute name="RequestID" type="saml:IDType" use="required"/>\r
18                 <attribute name="MajorVersion" type="integer" use="required"/>\r
19                 <attribute name="MinorVersion" type="integer" use="required"/>\r
20                 <attribute name="IssueInstant" type="dateTime" use="required"/>\r
21         </complexType>\r
22         <element name="RespondWith" type="QName"/>\r
23         <element name="Request" type="samlp:RequestType"/>\r
24         <complexType name="RequestType">\r
25                 <complexContent>\r
26                         <extension base="samlp:RequestAbstractType">\r
27                                 <choice>\r
28                                         <element ref="samlp:Query"/>\r
29                                         <element ref="samlp:SubjectQuery"/>\r
30                                         <element ref="samlp:AuthenticationQuery"/>\r
31                                         <element ref="samlp:AttributeQuery"/>\r
32                                         <element ref="samlp:AuthorizationDecisionQuery"/>\r
33                                         <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>\r
34                                         <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>\r
35                                 </choice>\r
36                         </extension>\r
37                 </complexContent>\r
38         </complexType>\r
39         <element name="AssertionArtifact" type="string"/>\r
40         <element name="Query" type="samlp:QueryAbstractType"/>\r
41         <complexType name="QueryAbstractType" abstract="true"/>\r
42         <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>\r
43         <complexType name="SubjectQueryAbstractType" abstract="true">\r
44                 <complexContent>\r
45                         <extension base="samlp:QueryAbstractType">\r
46                                 <sequence>\r
47                                         <element ref="saml:Subject"/>\r
48                                 </sequence>\r
49                         </extension>\r
50                 </complexContent>\r
51         </complexType>\r
52         <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>\r
53         <complexType name="AuthenticationQueryType">\r
54                 <complexContent>\r
55                         <extension base="samlp:SubjectQueryAbstractType">\r
56                                 <attribute name="AuthenticationMethod" type="anyURI"/>\r
57                         </extension>\r
58                 </complexContent>\r
59         </complexType>\r
60         <element name="AttributeQuery" type="samlp:AttributeQueryType"/>\r
61         <complexType name="AttributeQueryType">\r
62                 <complexContent>\r
63                         <extension base="samlp:SubjectQueryAbstractType">\r
64                                 <sequence>\r
65                                         <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>\r
66                                 </sequence>\r
67                                 <attribute name="Resource" type="anyURI" use="optional"/>\r
68                         </extension>\r
69                 </complexContent>\r
70         </complexType>\r
71         <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>\r
72         <complexType name="AuthorizationDecisionQueryType">\r
73                 <complexContent>\r
74                         <extension base="samlp:SubjectQueryAbstractType">\r
75                                 <sequence>\r
76                                         <element ref="saml:Action" maxOccurs="unbounded"/>\r
77                                         <element ref="saml:Evidence" minOccurs="0" maxOccurs="1"/>\r
78                                 </sequence>\r
79                                 <attribute name="Resource" type="anyURI" use="required"/>\r
80                         </extension>\r
81                 </complexContent>\r
82         </complexType>\r
83         <complexType name="ResponseAbstractType" abstract="true">\r
84                 <sequence>\r
85                         <element ref="ds:Signature" minOccurs="0"/>\r
86                 </sequence>\r
87                 <attribute name="ResponseID" type="saml:IDType" use="required"/>\r
88                 <attribute name="InResponseTo" type="saml:IDReferenceType" use="optional"/>\r
89                 <attribute name="MajorVersion" type="integer" use="required"/>\r
90                 <attribute name="MinorVersion" type="integer" use="required"/>\r
91                 <attribute name="IssueInstant" type="dateTime" use="required"/>\r
92                 <attribute name="Recipient" type="anyURI" use="optional"/>\r
93         </complexType>\r
94         <element name="Response" type="samlp:ResponseType"/>\r
95         <complexType name="ResponseType">\r
96                 <complexContent>\r
97                         <extension base="samlp:ResponseAbstractType">\r
98                                 <sequence>\r
99                                         <element ref="samlp:Status"/>\r
100                                         <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>\r
101                                 </sequence>\r
102                         </extension>\r
103                 </complexContent>\r
104         </complexType>\r
105         <element name="Status" type="samlp:StatusType"/>\r
106         <complexType name="StatusType">\r
107                 <sequence>\r
108                         <element ref="samlp:StatusCode"/>\r
109                         <element ref="samlp:StatusMessage" minOccurs="0" maxOccurs="1"/>\r
110                         <element ref="samlp:StatusDetail" minOccurs="0"/>\r
111                 </sequence>\r
112         </complexType>\r
113         <element name="StatusCode" type="samlp:StatusCodeType"/>\r
114         <complexType name="StatusCodeType">\r
115                 <sequence>\r
116                         <element ref="samlp:StatusCode" minOccurs="0"/>\r
117                 </sequence>\r
118                 <attribute name="Value" type="QName" use="required"/>\r
119         </complexType>\r
120         <element name="StatusMessage" type="string"/>\r
121         <element name="StatusDetail" type="samlp:StatusDetailType"/>\r
122         <complexType name="StatusDetailType">\r
123                 <sequence>\r
124                         <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
125                 </sequence>\r
126         </complexType>\r
127 </schema>\r