Update gitignore to account for subdirs / missing files.
[shibboleth/cpp-opensaml.git] / schemas / cs-sstc-schema-assertion-1.1.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <schema targetNamespace="urn:oasis:names:tc:SAML:1.0:assertion" xmlns="http://www.w3.org/2001/XMLSchema" 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="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
4         <annotation>
5                 <documentation>
6                 Document identifier: sstc-saml-schema-assertion-1.1-draft-02
7                 Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
8                 Revision history:
9                 draft-01 (Eve Maler):
10                   Note that V1.1 of this schema has the same namespace as V1.0.
11                   Minor cosmetic updates.
12                   Changed IDType to restrict from xsd:ID.
13                   Changed IDReferenceType to restrict from xsd:IDREF.
14                   Set version attribute on schema element to 1.1.
15                 draft-02 (Prateek Mishra, Rob Philpott):
16                   Added DoNotCacheCondition element and DoNotCacheConditionType
17                 draft-03 (Scott Cantor)
18                                   Rebased ID content directly on XML Schema types
19                 </documentation>
20         </annotation>
21         <simpleType name="DecisionType">
22                 <restriction base="string">
23                         <enumeration value="Permit"/>
24                         <enumeration value="Deny"/>
25                         <enumeration value="Indeterminate"/>
26                 </restriction>
27         </simpleType>
28         <element name="AssertionIDReference" type="NCName"/>
29         <element name="Assertion" type="saml:AssertionType"/>
30         <complexType name="AssertionType">
31                 <sequence>
32                         <element ref="saml:Conditions" minOccurs="0"/>
33                         <element ref="saml:Advice" minOccurs="0"/>
34                         <choice maxOccurs="unbounded">
35                                 <element ref="saml:Statement"/>
36                                 <element ref="saml:SubjectStatement"/>
37                                 <element ref="saml:AuthenticationStatement"/>
38                                 <element ref="saml:AuthorizationDecisionStatement"/>
39                                 <element ref="saml:AttributeStatement"/>
40                         </choice>
41                         <element ref="ds:Signature" minOccurs="0"/>
42                 </sequence>
43                 <attribute name="MajorVersion" type="integer" use="required"/>
44                 <attribute name="MinorVersion" type="integer" use="required"/>
45                 <attribute name="AssertionID" type="ID" use="required"/>
46                 <attribute name="Issuer" type="string" use="required"/>
47                 <attribute name="IssueInstant" type="dateTime" use="required"/>
48         </complexType>
49         <element name="Conditions" type="saml:ConditionsType"/>
50         <complexType name="ConditionsType">
51                 <choice minOccurs="0" maxOccurs="unbounded">
52                         <element ref="saml:AudienceRestrictionCondition"/>
53                         <element ref="saml:DoNotCacheCondition"/>
54                         <element ref="saml:Condition"/>
55                 </choice>
56                 <attribute name="NotBefore" type="dateTime" use="optional"/>
57                 <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
58         </complexType>
59         <element name="Condition" type="saml:ConditionAbstractType"/>
60         <complexType name="ConditionAbstractType" abstract="true"/>
61         <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>
62         <complexType name="AudienceRestrictionConditionType">
63                 <complexContent>
64                         <extension base="saml:ConditionAbstractType">
65                                 <sequence>
66                                         <element ref="saml:Audience" maxOccurs="unbounded"/>
67                                 </sequence>
68                         </extension>
69                 </complexContent>
70         </complexType>
71         <element name="Audience" type="anyURI"/>
72         <element name="DoNotCacheCondition" type="saml:DoNotCacheConditionType" />
73         <complexType name="DoNotCacheConditionType">
74                 <complexContent>
75                         <extension base="saml:ConditionAbstractType"/>
76                 </complexContent>
77         </complexType>
78         <element name="Advice" type="saml:AdviceType"/>
79         <complexType name="AdviceType">
80                 <choice minOccurs="0" maxOccurs="unbounded">
81                         <element ref="saml:AssertionIDReference"/>
82                         <element ref="saml:Assertion"/>
83                         <any namespace="##other" processContents="lax"/>
84                 </choice>
85         </complexType>
86         <element name="Statement" type="saml:StatementAbstractType"/>
87         <complexType name="StatementAbstractType" abstract="true"/>
88         <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>
89         <complexType name="SubjectStatementAbstractType" abstract="true">
90                 <complexContent>
91                         <extension base="saml:StatementAbstractType">
92                                 <sequence>
93                                         <element ref="saml:Subject"/>
94                                 </sequence>
95                         </extension>
96                 </complexContent>
97         </complexType>
98         <element name="Subject" type="saml:SubjectType"/>
99         <complexType name="SubjectType">
100                 <choice>
101                         <sequence>
102                                 <element ref="saml:NameIdentifier"/>
103                                 <element ref="saml:SubjectConfirmation" minOccurs="0"/>
104                         </sequence>
105                         <element ref="saml:SubjectConfirmation"/>
106                 </choice>
107         </complexType>
108         <element name="NameIdentifier" type="saml:NameIdentifierType"/>
109         <complexType name="NameIdentifierType">
110                 <simpleContent>
111                         <extension base="string">
112                                 <attribute name="NameQualifier" type="string" use="optional"/>
113                                 <attribute name="Format" type="anyURI" use="optional"/>
114                         </extension>
115                 </simpleContent>
116         </complexType>
117         <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
118         <complexType name="SubjectConfirmationType">
119                 <sequence>
120                         <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>
121                         <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
122                         <element ref="ds:KeyInfo" minOccurs="0"/>
123                 </sequence>
124         </complexType>
125         <element name="SubjectConfirmationData" type="anyType"/>
126         <element name="ConfirmationMethod" type="anyURI"/>
127         <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
128         <complexType name="AuthenticationStatementType">
129                 <complexContent>
130                         <extension base="saml:SubjectStatementAbstractType">
131                                 <sequence>
132                                         <element ref="saml:SubjectLocality" minOccurs="0"/>
133                                         <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
134                                 </sequence>
135                                 <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
136                                 <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
137                         </extension>
138                 </complexContent>
139         </complexType>
140         <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
141         <complexType name="SubjectLocalityType">
142                 <attribute name="IPAddress" type="string" use="optional"/>
143                 <attribute name="DNSAddress" type="string" use="optional"/>
144         </complexType>
145         <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>
146         <complexType name="AuthorityBindingType">
147                 <attribute name="AuthorityKind" type="QName" use="required"/>
148                 <attribute name="Location" type="anyURI" use="required"/>
149                 <attribute name="Binding" type="anyURI" use="required"/>
150         </complexType>
151         <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>
152         <complexType name="AuthorizationDecisionStatementType">
153                 <complexContent>
154                         <extension base="saml:SubjectStatementAbstractType">
155                                 <sequence>
156                                         <element ref="saml:Action" maxOccurs="unbounded"/>
157                                         <element ref="saml:Evidence" minOccurs="0"/>
158                                 </sequence>
159                                 <attribute name="Resource" type="anyURI" use="required"/>
160                                 <attribute name="Decision" type="saml:DecisionType" use="required"/>
161                         </extension>
162                 </complexContent>
163         </complexType>
164         <element name="Action" type="saml:ActionType"/>
165         <complexType name="ActionType">
166                 <simpleContent>
167                         <extension base="string">
168                                 <attribute name="Namespace" type="anyURI"/>
169                         </extension>
170                 </simpleContent>
171         </complexType>
172         <element name="Evidence" type="saml:EvidenceType"/>
173         <complexType name="EvidenceType">
174                 <choice maxOccurs="unbounded">
175                         <element ref="saml:AssertionIDReference"/>
176                         <element ref="saml:Assertion"/>
177                 </choice>
178         </complexType>
179         <element name="AttributeStatement" type="saml:AttributeStatementType"/>
180         <complexType name="AttributeStatementType">
181                 <complexContent>
182                         <extension base="saml:SubjectStatementAbstractType">
183                                 <sequence>
184                                         <element ref="saml:Attribute" maxOccurs="unbounded"/>
185                                 </sequence>
186                         </extension>
187                 </complexContent>
188         </complexType>
189         <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>
190         <complexType name="AttributeDesignatorType">
191                 <attribute name="AttributeName" type="string" use="required"/>
192                 <attribute name="AttributeNamespace" type="anyURI" use="required"/>
193         </complexType>
194         <element name="Attribute" type="saml:AttributeType"/>
195         <complexType name="AttributeType">
196                 <complexContent>
197                         <extension base="saml:AttributeDesignatorType">
198                                 <sequence>
199                                         <element ref="saml:AttributeValue" maxOccurs="unbounded"/>
200                                 </sequence>
201                         </extension>
202                 </complexContent>
203         </complexType>
204         <element name="AttributeValue" type="anyType"/>
205 </schema>