Update README with bug fix list.
[shibboleth/cpp-opensaml.git] / schemas / cs-sstc-schema-protocol-1.1.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <schema targetNamespace="urn:oasis:names:tc:SAML:1.0:protocol" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.1">
3         <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-1.1.xsd"/>
4         <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
5         <annotation>
6                 <documentation>
7                         Document identifier: sstc-saml-schema-protocol-1.1-draft-03
8                         Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
9                         Revision history:
10                            draft-01 (Eve Maler):
11                                 Note that V1.1 of this schema has the same namespace as V1.0.
12                                 Minor cosmetic updates.
13                                 Set version attribute on schema element to 1.1.
14                            draft-01 (Eve Maler):
15                                 Fix document Identifier.
16                            draft-02 (Prateek Mishra, Rob Philpott):
17                                 Added DoNotCacheCondition.
18                            draft-04 (Scott Cantor):
19                                 Rebased ID content directly on XML Schema types
20                 </documentation>
21         </annotation>
22         <complexType name="RequestAbstractType" abstract="true">
23                 <sequence>
24                         <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>
25                         <element ref="ds:Signature" minOccurs="0"/>
26                 </sequence>
27                 <attribute name="RequestID" type="ID" use="required"/>
28                 <attribute name="MajorVersion" type="integer" use="required"/>
29                 <attribute name="MinorVersion" type="integer" use="required"/>
30                 <attribute name="IssueInstant" type="dateTime" use="required"/>
31         </complexType>
32         <element name="RespondWith" type="QName"/>
33         <element name="Request" type="samlp:RequestType"/>
34         <complexType name="RequestType">
35                 <complexContent>
36                         <extension base="samlp:RequestAbstractType">
37                                 <choice>
38                                         <element ref="samlp:Query"/>
39                                         <element ref="samlp:SubjectQuery"/>
40                                         <element ref="samlp:AuthenticationQuery"/>
41                                         <element ref="samlp:AttributeQuery"/>
42                                         <element ref="samlp:AuthorizationDecisionQuery"/>
43                                         <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>
44                                         <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>
45                                 </choice>
46                         </extension>
47                 </complexContent>
48         </complexType>
49         <element name="AssertionArtifact" type="string"/>
50         <element name="Query" type="samlp:QueryAbstractType"/>
51         <complexType name="QueryAbstractType" abstract="true"/>
52         <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
53         <complexType name="SubjectQueryAbstractType" abstract="true">
54                 <complexContent>
55                         <extension base="samlp:QueryAbstractType">
56                                 <sequence>
57                                         <element ref="saml:Subject"/>
58                                 </sequence>
59                         </extension>
60                 </complexContent>
61         </complexType>
62         <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>
63         <complexType name="AuthenticationQueryType">
64                 <complexContent>
65                         <extension base="samlp:SubjectQueryAbstractType">
66                                 <attribute name="AuthenticationMethod" type="anyURI"/>
67                         </extension>
68                 </complexContent>
69         </complexType>
70         <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
71         <complexType name="AttributeQueryType">
72                 <complexContent>
73                         <extension base="samlp:SubjectQueryAbstractType">
74                                 <sequence>
75                                         <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>
76                                 </sequence>
77                                 <attribute name="Resource" type="anyURI" use="optional"/>
78                         </extension>
79                 </complexContent>
80         </complexType>
81         <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>
82         <complexType name="AuthorizationDecisionQueryType">
83                 <complexContent>
84                         <extension base="samlp:SubjectQueryAbstractType">
85                                 <sequence>
86                                         <element ref="saml:Action" maxOccurs="unbounded"/>
87                                         <element ref="saml:Evidence" minOccurs="0"/>
88                                 </sequence>
89                                 <attribute name="Resource" type="anyURI" use="required"/>
90                         </extension>
91                 </complexContent>
92         </complexType>
93         <complexType name="ResponseAbstractType" abstract="true">
94                 <sequence>
95                         <element ref="ds:Signature" minOccurs="0"/>
96                 </sequence>
97                 <attribute name="ResponseID" type="ID" use="required"/>
98                 <attribute name="InResponseTo" type="NCName" use="optional"/>
99                 <attribute name="MajorVersion" type="integer" use="required"/>
100                 <attribute name="MinorVersion" type="integer" use="required"/>
101                 <attribute name="IssueInstant" type="dateTime" use="required"/>
102                 <attribute name="Recipient" type="anyURI" use="optional"/>
103         </complexType>
104         <element name="Response" type="samlp:ResponseType"/>
105         <complexType name="ResponseType">
106                 <complexContent>
107                         <extension base="samlp:ResponseAbstractType">
108                                 <sequence>
109                                         <element ref="samlp:Status"/>
110                                         <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
111                                 </sequence>
112                         </extension>
113                 </complexContent>
114         </complexType>
115         <element name="Status" type="samlp:StatusType"/>
116         <complexType name="StatusType">
117                 <sequence>
118                         <element ref="samlp:StatusCode"/>
119                         <element ref="samlp:StatusMessage" minOccurs="0"/>
120                         <element ref="samlp:StatusDetail" minOccurs="0"/>
121                 </sequence>
122         </complexType>
123         <element name="StatusCode" type="samlp:StatusCodeType"/>
124         <complexType name="StatusCodeType">
125                 <sequence>
126                         <element ref="samlp:StatusCode" minOccurs="0"/>
127                 </sequence>
128                 <attribute name="Value" type="QName" use="required"/>
129         </complexType>
130         <element name="StatusMessage" type="string"/>
131         <element name="StatusDetail" type="samlp:StatusDetailType"/>
132         <complexType name="StatusDetailType">
133                 <sequence>
134                         <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
135                 </sequence>
136         </complexType>
137 </schema>