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