Schema check-in.
[shibboleth/cpp-opensaml.git] / schemas / cs-sstc-schema-assertion-01.xsd
diff --git a/schemas/cs-sstc-schema-assertion-01.xsd b/schemas/cs-sstc-schema-assertion-01.xsd
new file mode 100644 (file)
index 0000000..8bc5af1
--- /dev/null
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Phill Hallam-Baker (VeriSign Inc.) -->\r
+<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">\r
+        <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>\r
+        <annotation>\r
+                <documentation>\r
+                Document identifier: cs-sstc-schema-assertion-01\r
+                Location: http://www.oasis-open.org/committees/security/docs/\r
+                </documentation>\r
+        </annotation>\r
+        <simpleType name="IDType">\r
+                <restriction base="string"/>\r
+        </simpleType>\r
+        <simpleType name="IDReferenceType">\r
+                <restriction base="string"/>\r
+        </simpleType>\r
+        <simpleType name="DecisionType">\r
+                <restriction base="string">\r
+                        <enumeration value="Permit"/>\r
+                        <enumeration value="Deny"/>\r
+                        <enumeration value="Indeterminate"/>\r
+                </restriction>\r
+        </simpleType>\r
+        <element name="AssertionIDReference" type="saml:IDReferenceType"/>\r
+        <element name="Assertion" type="saml:AssertionType"/>\r
+        <complexType name="AssertionType">\r
+                <sequence>\r
+                        <element ref="saml:Conditions" minOccurs="0"/>\r
+                        <element ref="saml:Advice" minOccurs="0"/>\r
+                        <choice maxOccurs="unbounded">\r
+                                <element ref="saml:Statement"/>\r
+                                <element ref="saml:SubjectStatement"/>\r
+                                <element ref="saml:AuthenticationStatement"/>\r
+                                <element ref="saml:AuthorizationDecisionStatement"/>\r
+                                <element ref="saml:AttributeStatement"/>\r
+                        </choice>\r
+                        <element ref="ds:Signature" minOccurs="0"/>\r
+                </sequence>\r
+                <attribute name="MajorVersion" type="integer" use="required"/>\r
+                <attribute name="MinorVersion" type="integer" use="required"/>\r
+                <attribute name="AssertionID" type="saml:IDType" use="required"/>\r
+                <attribute name="Issuer" type="string" use="required"/>\r
+                <attribute name="IssueInstant" type="dateTime" use="required"/>\r
+        </complexType>\r
+        <element name="Conditions" type="saml:ConditionsType"/>\r
+        <complexType name="ConditionsType">\r
+                <choice minOccurs="0" maxOccurs="unbounded">\r
+                        <element ref="saml:AudienceRestrictionCondition"/>\r
+                        <element ref="saml:Condition"/>\r
+                </choice>\r
+                <attribute name="NotBefore" type="dateTime" use="optional"/>\r
+                <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>\r
+        </complexType>\r
+        <element name="Condition" type="saml:ConditionAbstractType"/>\r
+        <complexType name="ConditionAbstractType" abstract="true"/>\r
+        <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>\r
+        <complexType name="AudienceRestrictionConditionType">\r
+                <complexContent>\r
+                        <extension base="saml:ConditionAbstractType">\r
+                                <sequence>\r
+                                        <element ref="saml:Audience" maxOccurs="unbounded"/>\r
+                                </sequence>\r
+                        </extension>\r
+                </complexContent>\r
+        </complexType>\r
+        <element name="Audience" type="anyURI"/>\r
+        <element name="Advice" type="saml:AdviceType"/>\r
+        <complexType name="AdviceType">\r
+                <choice minOccurs="0" maxOccurs="unbounded">\r
+                        <element ref="saml:AssertionIDReference"/>\r
+                        <element ref="saml:Assertion"/>\r
+                        <any namespace="##other" processContents="lax"/>\r
+                </choice>\r
+        </complexType>\r
+        <element name="Statement" type="saml:StatementAbstractType"/>\r
+        <complexType name="StatementAbstractType" abstract="true"/>\r
+        <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>\r
+        <complexType name="SubjectStatementAbstractType" abstract="true">\r
+                <complexContent>\r
+                        <extension base="saml:StatementAbstractType">\r
+                                <sequence>\r
+                                        <element ref="saml:Subject"/>\r
+                                </sequence>\r
+                        </extension>\r
+                </complexContent>\r
+        </complexType>\r
+        <element name="Subject" type="saml:SubjectType"/>\r
+        <complexType name="SubjectType">\r
+                <choice>\r
+                        <sequence>\r
+                                <element ref="saml:NameIdentifier"/>\r
+                                <element ref="saml:SubjectConfirmation" minOccurs="0"/>\r
+                        </sequence>\r
+                        <element ref="saml:SubjectConfirmation"/>\r
+                </choice>\r
+        </complexType>\r
+        <element name="NameIdentifier" type="saml:NameIdentifierType"/>\r
+        <complexType name="NameIdentifierType">\r
+                <simpleContent>\r
+                        <extension base="string">\r
+                                <attribute name="NameQualifier" type="string" use="optional"/>\r
+                                <attribute name="Format" type="anyURI" use="optional"/>\r
+                        </extension>\r
+                </simpleContent>\r
+        </complexType>\r
+        <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>\r
+        <complexType name="SubjectConfirmationType">\r
+                <sequence>\r
+                        <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>\r
+                        <element ref="saml:SubjectConfirmationData" minOccurs="0"/>\r
+                        <element ref="ds:KeyInfo" minOccurs="0"/>\r
+                </sequence>\r
+        </complexType>\r
+        <element name="SubjectConfirmationData" type="anyType"/>\r
+        <element name="ConfirmationMethod" type="anyURI"/>\r
+        <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>\r
+        <complexType name="AuthenticationStatementType">\r
+                <complexContent>\r
+                        <extension base="saml:SubjectStatementAbstractType">\r
+                                <sequence>\r
+                                        <element ref="saml:SubjectLocality" minOccurs="0"/>\r
+                                        <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>\r
+                                </sequence>\r
+                                <attribute name="AuthenticationMethod" type="anyURI" use="required"/>\r
+                                <attribute name="AuthenticationInstant" type="dateTime" use="required"/>\r
+                        </extension>\r
+                </complexContent>\r
+        </complexType>\r
+        <element name="SubjectLocality" type="saml:SubjectLocalityType"/>\r
+        <complexType name="SubjectLocalityType">\r
+                <attribute name="IPAddress" type="string" use="optional"/>\r
+                <attribute name="DNSAddress" type="string" use="optional"/>\r
+        </complexType>\r
+        <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>\r
+        <complexType name="AuthorityBindingType">\r
+                <attribute name="AuthorityKind" type="QName" use="required"/>\r
+                <attribute name="Location" type="anyURI" use="required"/>\r
+                <attribute name="Binding" type="anyURI" use="required"/>\r
+        </complexType>\r
+        <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>\r
+        <complexType name="AuthorizationDecisionStatementType">\r
+                <complexContent>\r
+                        <extension base="saml:SubjectStatementAbstractType">\r
+                                <sequence>\r
+                                        <element ref="saml:Action" maxOccurs="unbounded"/>\r
+                                        <element ref="saml:Evidence" minOccurs="0"/>\r
+                                </sequence>\r
+                                <attribute name="Resource" type="anyURI" use="required"/>\r
+                                <attribute name="Decision" type="saml:DecisionType" use="required"/>\r
+                        </extension>\r
+                </complexContent>\r
+        </complexType>\r
+        <element name="Action" type="saml:ActionType"/>\r
+        <complexType name="ActionType">\r
+                <simpleContent>\r
+                        <extension base="string">\r
+                                <attribute name="Namespace" type="anyURI"/>\r
+                        </extension>\r
+                </simpleContent>\r
+        </complexType>\r
+        <element name="Evidence" type="saml:EvidenceType"/>\r
+        <complexType name="EvidenceType">\r
+                <choice maxOccurs="unbounded">\r
+                        <element ref="saml:AssertionIDReference"/>\r
+                        <element ref="saml:Assertion"/>\r
+                </choice>\r
+        </complexType>\r
+        <element name="AttributeStatement" type="saml:AttributeStatementType"/>\r
+        <complexType name="AttributeStatementType">\r
+                <complexContent>\r
+                        <extension base="saml:SubjectStatementAbstractType">\r
+                                <sequence>\r
+                                        <element ref="saml:Attribute" maxOccurs="unbounded"/>\r
+                                </sequence>\r
+                        </extension>\r
+                </complexContent>\r
+        </complexType>\r
+        <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>\r
+        <complexType name="AttributeDesignatorType">\r
+                <attribute name="AttributeName" type="string" use="required"/>\r
+                <attribute name="AttributeNamespace" type="anyURI" use="required"/>\r
+        </complexType>\r
+        <element name="Attribute" type="saml:AttributeType"/>\r
+        <complexType name="AttributeType">\r
+                <complexContent>\r
+                        <extension base="saml:AttributeDesignatorType">\r
+                                <sequence>\r
+                                        <element ref="saml:AttributeValue" maxOccurs="unbounded"/>\r
+                                </sequence>\r
+                        </extension>\r
+                </complexContent>\r
+        </complexType>\r
+        <element name="AttributeValue" type="anyType"/>\r
+</schema>\r