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