Updated drafts
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Wed, 14 May 2003 03:28:19 +0000 (03:28 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Wed, 14 May 2003 03:28:19 +0000 (03:28 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@425 cb58f699-b61c-0410-a6fe-9272a202ed29

schemas/cs-sstc-schema-assertion-1.1.xsd
schemas/cs-sstc-schema-protocol-1.1.xsd

index 2a877f6..ea8f7a4 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Phill Hallam-Baker (VeriSign Inc.) -->
-<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">
-        <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
-        <annotation>
-                <documentation>
-                Document identifier: cs-sstc-schema-assertion-01
-                Location: http://www.oasis-open.org/committees/security/docs/
+<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">
+       <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+       <annotation>
+               <documentation>
+                Document identifier: sstc-saml-schema-assertion-1.1-draft-02
+                Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
+                Revision history:
+                draft-01 (Eve Maler):
+                  Note that V1.1 of this schema has the same namespace as V1.0.
+                  Minor cosmetic updates.
+                  Changed IDType to restrict from xsd:ID.
+                  Changed IDReferenceType to restrict from xsd:IDREF.
+                  Set version attribute on schema element to 1.1.
+                draft-02 (Prateek Mishra, Rob Philpott):
+                  Added DoNotCacheCondition element and DoNotCacheConditionType
+                draft-03 (Scott Cantor)
+                                 Rebased ID content directly on XML Schema types
                 </documentation>
-        </annotation>
-        <simpleType name="IDType">
-                <restriction base="ID"/>
-        </simpleType>
-        <simpleType name="IDReferenceType">
-                <restriction base="NCName"/>
-        </simpleType>
-        <simpleType name="DecisionType">
-                <restriction base="string">
-                        <enumeration value="Permit"/>
-                        <enumeration value="Deny"/>
-                        <enumeration value="Indeterminate"/>
-                </restriction>
-        </simpleType>
-        <element name="AssertionIDReference" type="saml:IDReferenceType"/>
-        <element name="Assertion" type="saml:AssertionType"/>
-        <complexType name="AssertionType">
-                <sequence>
-                        <element ref="saml:Conditions" minOccurs="0"/>
-                        <element ref="saml:Advice" minOccurs="0"/>
-                        <choice maxOccurs="unbounded">
-                                <element ref="saml:Statement"/>
-                                <element ref="saml:SubjectStatement"/>
-                                <element ref="saml:AuthenticationStatement"/>
-                                <element ref="saml:AuthorizationDecisionStatement"/>
-                                <element ref="saml:AttributeStatement"/>
-                        </choice>
-                        <element ref="ds:Signature" minOccurs="0"/>
-                </sequence>
-                <attribute name="MajorVersion" type="integer" use="required"/>
-                <attribute name="MinorVersion" type="integer" use="required"/>
-                <attribute name="AssertionID" type="ID" use="required"/>
-                <attribute name="Issuer" type="string" use="required"/>
-                <attribute name="IssueInstant" type="dateTime" use="required"/>
-        </complexType>
-        <element name="Conditions" type="saml:ConditionsType"/>
-        <complexType name="ConditionsType">
-                <choice minOccurs="0" maxOccurs="unbounded">
-                        <element ref="saml:AudienceRestrictionCondition"/>
-                        <element ref="saml:Condition"/>
-                </choice>
-                <attribute name="NotBefore" type="dateTime" use="optional"/>
-                <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
-        </complexType>
-        <element name="Condition" type="saml:ConditionAbstractType"/>
-        <complexType name="ConditionAbstractType" abstract="true"/>
-        <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>
-        <complexType name="AudienceRestrictionConditionType">
-                <complexContent>
-                        <extension base="saml:ConditionAbstractType">
-                                <sequence>
-                                        <element ref="saml:Audience" maxOccurs="unbounded"/>
-                                </sequence>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="Audience" type="anyURI"/>
-        <element name="Advice" type="saml:AdviceType"/>
-        <complexType name="AdviceType">
-                <choice minOccurs="0" maxOccurs="unbounded">
-                        <element ref="saml:AssertionIDReference"/>
-                        <element ref="saml:Assertion"/>
-                        <any namespace="##other" processContents="lax"/>
-                </choice>
-        </complexType>
-        <element name="Statement" type="saml:StatementAbstractType"/>
-        <complexType name="StatementAbstractType" abstract="true"/>
-        <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>
-        <complexType name="SubjectStatementAbstractType" abstract="true">
-                <complexContent>
-                        <extension base="saml:StatementAbstractType">
-                                <sequence>
-                                        <element ref="saml:Subject"/>
-                                </sequence>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="Subject" type="saml:SubjectType"/>
-        <complexType name="SubjectType">
-                <choice>
-                        <sequence>
-                                <element ref="saml:NameIdentifier"/>
-                                <element ref="saml:SubjectConfirmation" minOccurs="0"/>
-                        </sequence>
-                        <element ref="saml:SubjectConfirmation"/>
-                </choice>
-        </complexType>
-        <element name="NameIdentifier" type="saml:NameIdentifierType"/>
-        <complexType name="NameIdentifierType">
-                <simpleContent>
-                        <extension base="string">
-                                <attribute name="NameQualifier" type="string" use="optional"/>
-                                <attribute name="Format" type="anyURI" use="optional"/>
-                        </extension>
-                </simpleContent>
-        </complexType>
-        <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
-        <complexType name="SubjectConfirmationType">
-                <sequence>
-                        <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>
-                        <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
-                        <element ref="ds:KeyInfo" minOccurs="0"/>
-                </sequence>
-        </complexType>
-        <element name="SubjectConfirmationData" type="anyType"/>
-        <element name="ConfirmationMethod" type="anyURI"/>
-        <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
-        <complexType name="AuthenticationStatementType">
-                <complexContent>
-                        <extension base="saml:SubjectStatementAbstractType">
-                                <sequence>
-                                        <element ref="saml:SubjectLocality" minOccurs="0"/>
-                                        <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
-                                </sequence>
-                                <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
-                                <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
-        <complexType name="SubjectLocalityType">
-                <attribute name="IPAddress" type="string" use="optional"/>
-                <attribute name="DNSAddress" type="string" use="optional"/>
-        </complexType>
-        <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>
-        <complexType name="AuthorityBindingType">
-                <attribute name="AuthorityKind" type="QName" use="required"/>
-                <attribute name="Location" type="anyURI" use="required"/>
-                <attribute name="Binding" type="anyURI" use="required"/>
-        </complexType>
-        <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>
-        <complexType name="AuthorizationDecisionStatementType">
-                <complexContent>
-                        <extension base="saml:SubjectStatementAbstractType">
-                                <sequence>
-                                        <element ref="saml:Action" maxOccurs="unbounded"/>
-                                        <element ref="saml:Evidence" minOccurs="0"/>
-                                </sequence>
-                                <attribute name="Resource" type="anyURI" use="required"/>
-                                <attribute name="Decision" type="saml:DecisionType" use="required"/>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="Action" type="saml:ActionType"/>
-        <complexType name="ActionType">
-                <simpleContent>
-                        <extension base="string">
-                                <attribute name="Namespace" type="anyURI"/>
-                        </extension>
-                </simpleContent>
-        </complexType>
-        <element name="Evidence" type="saml:EvidenceType"/>
-        <complexType name="EvidenceType">
-                <choice maxOccurs="unbounded">
-                        <element ref="saml:AssertionIDReference"/>
-                        <element ref="saml:Assertion"/>
-                </choice>
-        </complexType>
-        <element name="AttributeStatement" type="saml:AttributeStatementType"/>
-        <complexType name="AttributeStatementType">
-                <complexContent>
-                        <extension base="saml:SubjectStatementAbstractType">
-                                <sequence>
-                                        <element ref="saml:Attribute" maxOccurs="unbounded"/>
-                                </sequence>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>
-        <complexType name="AttributeDesignatorType">
-                <attribute name="AttributeName" type="string" use="required"/>
-                <attribute name="AttributeNamespace" type="anyURI" use="required"/>
-        </complexType>
-        <element name="Attribute" type="saml:AttributeType"/>
-        <complexType name="AttributeType">
-                <complexContent>
-                        <extension base="saml:AttributeDesignatorType">
-                                <sequence>
-                                        <element ref="saml:AttributeValue" maxOccurs="unbounded"/>
-                                </sequence>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="AttributeValue" type="anyType"/>
+       </annotation>
+       <simpleType name="DecisionType">
+               <restriction base="string">
+                       <enumeration value="Permit"/>
+                       <enumeration value="Deny"/>
+                       <enumeration value="Indeterminate"/>
+               </restriction>
+       </simpleType>
+       <element name="AssertionIDReference" type="NCName"/>
+       <element name="Assertion" type="saml:AssertionType"/>
+       <complexType name="AssertionType">
+               <sequence>
+                       <element ref="saml:Conditions" minOccurs="0"/>
+                       <element ref="saml:Advice" minOccurs="0"/>
+                       <choice maxOccurs="unbounded">
+                               <element ref="saml:Statement"/>
+                               <element ref="saml:SubjectStatement"/>
+                               <element ref="saml:AuthenticationStatement"/>
+                               <element ref="saml:AuthorizationDecisionStatement"/>
+                               <element ref="saml:AttributeStatement"/>
+                       </choice>
+                       <element ref="ds:Signature" minOccurs="0"/>
+               </sequence>
+               <attribute name="MajorVersion" type="integer" use="required"/>
+               <attribute name="MinorVersion" type="integer" use="required"/>
+               <attribute name="AssertionID" type="ID" use="required"/>
+               <attribute name="Issuer" type="string" use="required"/>
+               <attribute name="IssueInstant" type="dateTime" use="required"/>
+       </complexType>
+       <element name="Conditions" type="saml:ConditionsType"/>
+       <complexType name="ConditionsType">
+               <choice minOccurs="0" maxOccurs="unbounded">
+                       <element ref="saml:AudienceRestrictionCondition"/>
+                       <element ref="saml:DoNotCacheCondition"/>
+                       <element ref="saml:Condition"/>
+               </choice>
+               <attribute name="NotBefore" type="dateTime" use="optional"/>
+               <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+       </complexType>
+       <element name="Condition" type="saml:ConditionAbstractType"/>
+       <complexType name="ConditionAbstractType" abstract="true"/>
+       <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>
+       <complexType name="AudienceRestrictionConditionType">
+               <complexContent>
+                       <extension base="saml:ConditionAbstractType">
+                               <sequence>
+                                       <element ref="saml:Audience" maxOccurs="unbounded"/>
+                               </sequence>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="Audience" type="anyURI"/>
+       <element name="DoNotCacheCondition" type="saml:DoNotCacheConditionType" />
+       <complexType name="DoNotCacheConditionType">
+               <complexContent>
+                       <extension base="saml:ConditionAbstractType"/>
+               </complexContent>
+       </complexType>
+       <element name="Advice" type="saml:AdviceType"/>
+       <complexType name="AdviceType">
+               <choice minOccurs="0" maxOccurs="unbounded">
+                       <element ref="saml:AssertionIDReference"/>
+                       <element ref="saml:Assertion"/>
+                       <any namespace="##other" processContents="lax"/>
+               </choice>
+       </complexType>
+       <element name="Statement" type="saml:StatementAbstractType"/>
+       <complexType name="StatementAbstractType" abstract="true"/>
+       <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>
+       <complexType name="SubjectStatementAbstractType" abstract="true">
+               <complexContent>
+                       <extension base="saml:StatementAbstractType">
+                               <sequence>
+                                       <element ref="saml:Subject"/>
+                               </sequence>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="Subject" type="saml:SubjectType"/>
+       <complexType name="SubjectType">
+               <choice>
+                       <sequence>
+                               <element ref="saml:NameIdentifier"/>
+                               <element ref="saml:SubjectConfirmation" minOccurs="0"/>
+                       </sequence>
+                       <element ref="saml:SubjectConfirmation"/>
+               </choice>
+       </complexType>
+       <element name="NameIdentifier" type="saml:NameIdentifierType"/>
+       <complexType name="NameIdentifierType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute name="NameQualifier" type="string" use="optional"/>
+                               <attribute name="Format" type="anyURI" use="optional"/>
+                       </extension>
+               </simpleContent>
+       </complexType>
+       <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
+       <complexType name="SubjectConfirmationType">
+               <sequence>
+                       <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>
+                       <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
+                       <element ref="ds:KeyInfo" minOccurs="0"/>
+               </sequence>
+       </complexType>
+       <element name="SubjectConfirmationData" type="anyType"/>
+       <element name="ConfirmationMethod" type="anyURI"/>
+       <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
+       <complexType name="AuthenticationStatementType">
+               <complexContent>
+                       <extension base="saml:SubjectStatementAbstractType">
+                               <sequence>
+                                       <element ref="saml:SubjectLocality" minOccurs="0"/>
+                                       <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
+                               </sequence>
+                               <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
+                               <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
+       <complexType name="SubjectLocalityType">
+               <attribute name="IPAddress" type="string" use="optional"/>
+               <attribute name="DNSAddress" type="string" use="optional"/>
+       </complexType>
+       <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>
+       <complexType name="AuthorityBindingType">
+               <attribute name="AuthorityKind" type="QName" use="required"/>
+               <attribute name="Location" type="anyURI" use="required"/>
+               <attribute name="Binding" type="anyURI" use="required"/>
+       </complexType>
+       <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>
+       <complexType name="AuthorizationDecisionStatementType">
+               <complexContent>
+                       <extension base="saml:SubjectStatementAbstractType">
+                               <sequence>
+                                       <element ref="saml:Action" maxOccurs="unbounded"/>
+                                       <element ref="saml:Evidence" minOccurs="0"/>
+                               </sequence>
+                               <attribute name="Resource" type="anyURI" use="required"/>
+                               <attribute name="Decision" type="saml:DecisionType" use="required"/>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="Action" type="saml:ActionType"/>
+       <complexType name="ActionType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute name="Namespace" type="anyURI"/>
+                       </extension>
+               </simpleContent>
+       </complexType>
+       <element name="Evidence" type="saml:EvidenceType"/>
+       <complexType name="EvidenceType">
+               <choice maxOccurs="unbounded">
+                       <element ref="saml:AssertionIDReference"/>
+                       <element ref="saml:Assertion"/>
+               </choice>
+       </complexType>
+       <element name="AttributeStatement" type="saml:AttributeStatementType"/>
+       <complexType name="AttributeStatementType">
+               <complexContent>
+                       <extension base="saml:SubjectStatementAbstractType">
+                               <sequence>
+                                       <element ref="saml:Attribute" maxOccurs="unbounded"/>
+                               </sequence>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>
+       <complexType name="AttributeDesignatorType">
+               <attribute name="AttributeName" type="string" use="required"/>
+               <attribute name="AttributeNamespace" type="anyURI" use="required"/>
+       </complexType>
+       <element name="Attribute" type="saml:AttributeType"/>
+       <complexType name="AttributeType">
+               <complexContent>
+                       <extension base="saml:AttributeDesignatorType">
+                               <sequence>
+                                       <element ref="saml:AttributeValue" maxOccurs="unbounded"/>
+                               </sequence>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="AttributeValue" type="anyType"/>
 </schema>
index 31ce3f3..2c5cfd8 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Phillip Hallam-Baker (Phillip Hallam-Baker) -->
-<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">
-        <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-01.xsd"/>
-        <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
-        <annotation>
-                <documentation>
-                Document identifier: cs-sstc-schema-protocol-01
-                Location: http://www.oasis-open.org/committees/security/docs/
-                </documentation>
-        </annotation>
-        <complexType name="RequestAbstractType" abstract="true">
-                <sequence>
-                        <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>
-                        <element ref="ds:Signature" minOccurs="0"/>
-                </sequence>
-                <attribute name="RequestID" type="ID" use="required"/>
-                <attribute name="MajorVersion" type="integer" use="required"/>
-                <attribute name="MinorVersion" type="integer" use="required"/>
-                <attribute name="IssueInstant" type="dateTime" use="required"/>
-        </complexType>
-        <element name="RespondWith" type="QName"/>
-        <element name="Request" type="samlp:RequestType"/>
-        <complexType name="RequestType">
-                <complexContent>
-                        <extension base="samlp:RequestAbstractType">
-                                <choice>
-                                        <element ref="samlp:Query"/>
-                                        <element ref="samlp:SubjectQuery"/>
-                                        <element ref="samlp:AuthenticationQuery"/>
-                                        <element ref="samlp:AttributeQuery"/>
-                                        <element ref="samlp:AuthorizationDecisionQuery"/>
-                                        <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>
-                                        <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>
-                                </choice>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="AssertionArtifact" type="string"/>
-        <element name="Query" type="samlp:QueryAbstractType"/>
-        <complexType name="QueryAbstractType" abstract="true"/>
-        <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
-        <complexType name="SubjectQueryAbstractType" abstract="true">
-                <complexContent>
-                        <extension base="samlp:QueryAbstractType">
-                                <sequence>
-                                        <element ref="saml:Subject"/>
-                                </sequence>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>
-        <complexType name="AuthenticationQueryType">
-                <complexContent>
-                        <extension base="samlp:SubjectQueryAbstractType">
-                                <attribute name="AuthenticationMethod" type="anyURI"/>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
-        <complexType name="AttributeQueryType">
-                <complexContent>
-                        <extension base="samlp:SubjectQueryAbstractType">
-                                <sequence>
-                                        <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>
-                                </sequence>
-                                <attribute name="Resource" type="anyURI" use="optional"/>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>
-        <complexType name="AuthorizationDecisionQueryType">
-                <complexContent>
-                        <extension base="samlp:SubjectQueryAbstractType">
-                                <sequence>
-                                        <element ref="saml:Action" maxOccurs="unbounded"/>
-                                        <element ref="saml:Evidence" minOccurs="0" maxOccurs="1"/>
-                                </sequence>
-                                <attribute name="Resource" type="anyURI" use="required"/>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <complexType name="ResponseAbstractType" abstract="true">
-                <sequence>
-                        <element ref="ds:Signature" minOccurs="0"/>
-                </sequence>
-                <attribute name="ResponseID" type="ID" use="required"/>
-                <attribute name="InResponseTo" type="saml:IDReferenceType" use="optional"/>
-                <attribute name="MajorVersion" type="integer" use="required"/>
-                <attribute name="MinorVersion" type="integer" use="required"/>
-                <attribute name="IssueInstant" type="dateTime" use="required"/>
-                <attribute name="Recipient" type="anyURI" use="optional"/>
-        </complexType>
-        <element name="Response" type="samlp:ResponseType"/>
-        <complexType name="ResponseType">
-                <complexContent>
-                        <extension base="samlp:ResponseAbstractType">
-                                <sequence>
-                                        <element ref="samlp:Status"/>
-                                        <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
-                                </sequence>
-                        </extension>
-                </complexContent>
-        </complexType>
-        <element name="Status" type="samlp:StatusType"/>
-        <complexType name="StatusType">
-                <sequence>
-                        <element ref="samlp:StatusCode"/>
-                        <element ref="samlp:StatusMessage" minOccurs="0" maxOccurs="1"/>
-                        <element ref="samlp:StatusDetail" minOccurs="0"/>
-                </sequence>
-        </complexType>
-        <element name="StatusCode" type="samlp:StatusCodeType"/>
-        <complexType name="StatusCodeType">
-                <sequence>
-                        <element ref="samlp:StatusCode" minOccurs="0"/>
-                </sequence>
-                <attribute name="Value" type="QName" use="required"/>
-        </complexType>
-        <element name="StatusMessage" type="string"/>
-        <element name="StatusDetail" type="samlp:StatusDetailType"/>
-        <complexType name="StatusDetailType">
-                <sequence>
-                        <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
-                </sequence>
-        </complexType>
+<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">
+       <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="sstc-saml-schema-assertion-1.1-draft-02.xsd"/>
+       <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+       <annotation>
+               <documentation>
+                       Document identifier: sstc-saml-schema-protocol-1.1-draft-03
+                       Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
+                       Revision history:
+                          draft-01 (Eve Maler):
+                               Note that V1.1 of this schema has the same namespace as V1.0.
+                               Minor cosmetic updates.
+                               Set version attribute on schema element to 1.1.
+                          draft-01 (Eve Maler):
+                               Fix document Identifier.
+                          draft-02 (Prateek Mishra, Rob Philpott):
+                               Added DoNotCacheCondition.
+                          draft-04 (Scott Cantor):
+                               Rebased ID content directly on XML Schema types
+               </documentation>
+       </annotation>
+       <complexType name="RequestAbstractType" abstract="true">
+               <sequence>
+                       <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>
+                       <element ref="ds:Signature" minOccurs="0"/>
+               </sequence>
+               <attribute name="RequestID" type="ID" use="required"/>
+               <attribute name="MajorVersion" type="integer" use="required"/>
+               <attribute name="MinorVersion" type="integer" use="required"/>
+               <attribute name="IssueInstant" type="dateTime" use="required"/>
+       </complexType>
+       <element name="RespondWith" type="QName"/>
+       <element name="Request" type="samlp:RequestType"/>
+       <complexType name="RequestType">
+               <complexContent>
+                       <extension base="samlp:RequestAbstractType">
+                               <choice>
+                                       <element ref="samlp:Query"/>
+                                       <element ref="samlp:SubjectQuery"/>
+                                       <element ref="samlp:AuthenticationQuery"/>
+                                       <element ref="samlp:AttributeQuery"/>
+                                       <element ref="samlp:AuthorizationDecisionQuery"/>
+                                       <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>
+                                       <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>
+                               </choice>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="AssertionArtifact" type="string"/>
+       <element name="Query" type="samlp:QueryAbstractType"/>
+       <complexType name="QueryAbstractType" abstract="true"/>
+       <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
+       <complexType name="SubjectQueryAbstractType" abstract="true">
+               <complexContent>
+                       <extension base="samlp:QueryAbstractType">
+                               <sequence>
+                                       <element ref="saml:Subject"/>
+                               </sequence>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>
+       <complexType name="AuthenticationQueryType">
+               <complexContent>
+                       <extension base="samlp:SubjectQueryAbstractType">
+                               <attribute name="AuthenticationMethod" type="anyURI"/>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
+       <complexType name="AttributeQueryType">
+               <complexContent>
+                       <extension base="samlp:SubjectQueryAbstractType">
+                               <sequence>
+                                       <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>
+                               </sequence>
+                               <attribute name="Resource" type="anyURI" use="optional"/>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>
+       <complexType name="AuthorizationDecisionQueryType">
+               <complexContent>
+                       <extension base="samlp:SubjectQueryAbstractType">
+                               <sequence>
+                                       <element ref="saml:Action" maxOccurs="unbounded"/>
+                                       <element ref="saml:Evidence" minOccurs="0"/>
+                               </sequence>
+                               <attribute name="Resource" type="anyURI" use="required"/>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <complexType name="ResponseAbstractType" abstract="true">
+               <sequence>
+                       <element ref="ds:Signature" minOccurs="0"/>
+               </sequence>
+               <attribute name="ResponseID" type="ID" use="required"/>
+               <attribute name="InResponseTo" type="NCName" use="optional"/>
+               <attribute name="MajorVersion" type="integer" use="required"/>
+               <attribute name="MinorVersion" type="integer" use="required"/>
+               <attribute name="IssueInstant" type="dateTime" use="required"/>
+               <attribute name="Recipient" type="anyURI" use="optional"/>
+       </complexType>
+       <element name="Response" type="samlp:ResponseType"/>
+       <complexType name="ResponseType">
+               <complexContent>
+                       <extension base="samlp:ResponseAbstractType">
+                               <sequence>
+                                       <element ref="samlp:Status"/>
+                                       <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
+                               </sequence>
+                       </extension>
+               </complexContent>
+       </complexType>
+       <element name="Status" type="samlp:StatusType"/>
+       <complexType name="StatusType">
+               <sequence>
+                       <element ref="samlp:StatusCode"/>
+                       <element ref="samlp:StatusMessage" minOccurs="0"/>
+                       <element ref="samlp:StatusDetail" minOccurs="0"/>
+               </sequence>
+       </complexType>
+       <element name="StatusCode" type="samlp:StatusCodeType"/>
+       <complexType name="StatusCodeType">
+               <sequence>
+                       <element ref="samlp:StatusCode" minOccurs="0"/>
+               </sequence>
+               <attribute name="Value" type="QName" use="required"/>
+       </complexType>
+       <element name="StatusMessage" type="string"/>
+       <element name="StatusDetail" type="samlp:StatusDetailType"/>
+       <complexType name="StatusDetailType">
+               <sequence>
+                       <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+       </complexType>
 </schema>