<?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="saml:IDType" 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="saml:IDType" 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>