<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Phill Hallam-Baker (VeriSign Inc.) -->
<xsd:schema targetNamespace="http://www.oasis-open.org/committees/security/docs/draft-sstc-schema-protocol-15.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema" xmlns:samlp="http://www.oasis-open.org/committees/security/docs/draft-sstc-schema-protocol-15.xsd" xmlns:saml="http://www.oasis-open.org/committees/security/docs/draft-sstc-schema-assertion-15.xsd" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="unqualified">
	<xsd:import namespace="http://www.oasis-open.org/committees/security/docs/draft-sstc-schema-assertion-15.xsd" schemaLocation="draft-sstc-schema-assertion-15.xsd"/>
	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
	<xsd:annotation>
		<xsd:documentation>draft-sstc-schema-protocol-15.xsd</xsd:documentation>
	</xsd:annotation>
	<xsd:simpleType name="CompletenessSpecifierType">
		<xsd:restriction base="string">
			<xsd:enumeration value="Any"/>
			<xsd:enumeration value="All"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="StatusCodeType">
		<xsd:restriction base="string">
			<xsd:enumeration value="Success"/>
			<xsd:enumeration value="Failure"/>
			<xsd:enumeration value="Error"/>
			<xsd:enumeration value="Unknown"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="RequestAbstractType" abstract="true">
		<xsd:attribute name="RequestID" type="saml:IDType" use="required"/>
		<xsd:attribute name="Version" type="string" use="required"/>
	</xsd:complexType>
	<xsd:element name="Request" type="samlp:RequestType"/>
	<xsd:complexType name="RequestType">
		<xsd:complexContent>
			<xsd:extension base="samlp:RequestAbstractType">
				<xsd:choice>
					<xsd:element name="Query" type="samlp:QueryAbstractType"/>
					<xsd:element ref="saml:AssertionID" maxOccurs="unbounded"/>
				</xsd:choice>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="QueryAbstractType" abstract="true"/>
	<xsd:complexType name="SubjectQueryAbstractType" abstract="true">
		<xsd:complexContent>
			<xsd:extension base="samlp:QueryAbstractType">
				<xsd:sequence>
					<xsd:element ref="saml:Subject"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AuthenticationQueryType">
		<xsd:complexContent>
			<xsd:extension base="samlp:SubjectQueryAbstractType">
				<xsd:sequence>
					<xsd:element ref="saml:AuthenticationMethod" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AttributeQueryType">
		<xsd:complexContent>
			<xsd:extension base="samlp:SubjectQueryAbstractType">
				<xsd:sequence>
					<xsd:element ref="saml:AttributeNamespaceName" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element name="CompletenessSpecifier" type="samlp:CompletenessSpecifierType" default="All"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AuthorizationQueryType">
		<xsd:complexContent>
			<xsd:extension base="samlp:SubjectQueryAbstractType">
				<xsd:sequence>
					<xsd:element name="Resource" type="uriReference"/>
					<xsd:element name="Namespace" type="uriReference" minOccurs="0"/>
					<xsd:element name="Action" type="string" maxOccurs="unbounded"/>
					<xsd:element ref="saml:Evidence" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="ResponseAbstractType" abstract="true">
		<xsd:attribute name="ResponseID" type="saml:IDType" use="required"/>
		<xsd:attribute name="InResponseTo" type="saml:IDType" use="required"/>
		<xsd:attribute name="Version" type="string" use="required"/>
	</xsd:complexType>
	<xsd:element name="Response" type="samlp:ResponseType"/>
	<xsd:complexType name="ResponseType">
		<xsd:complexContent>
			<xsd:extension base="samlp:ResponseAbstractType">
				<xsd:sequence>
					<xsd:element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
				<xsd:attribute name="StatusCode" type="samlp:StatusCodeType" use="required"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
</xsd:schema>

