<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright OASIS Open 2006-2010. All Rights Reserved. -->
<schema
    targetNamespace="urn:oasis:names:tc:xacml:1.1:profile:saml2.0:v2:schema:protocol:wd-13"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:xacml="urn:oasis:names:tc:xacml:1.0:policy"
    xmlns:xacml-context="urn:oasis:names:tc:xacml:1.0:context"
    xmlns:xacml-saml="urn:oasis:names:tc:xacml:1.1:profile:saml2.0:v2:schema:assertion:wd-13"
    xmlns:xacml-samlp="urn:oasis:names:tc:xacml:1.1:profile:saml2.0:v2:schema:protocol:wd-13"
    elementFormDefault="unqualified"
    attributeFormDefault="unqualified"
    blockDefault="substitution"
    version="wd 12">
    <import namespace="urn:oasis:names:tc:SAML:2.0:protocol"
        schemaLocation="http://docs.oasis-open.org/security/saml/v2.0/saml-schema-protocol-2.0.xsd" />
    <import namespace="urn:oasis:names:tc:xacml:1.0:context"
        schemaLocation="http://www.oasis-open.org/committees/download.php/919/cs-xacml-schema-context-01.xsd"/>
    <import namespace="urn:oasis:names:tc:xacml:1.0:policy"
        schemaLocation="http://www.oasis-open.org/committees/download.php/915/cs-xacml-schema-policy-01.xsd"/>
    <import namespace="urn:oasis:names:tc:xacml:1.1:profile:saml2.0:v2:schema:assertion:wd-13"
        schemaLocation="http://docs.oasis-open.org/xacml/3.0/xacml-1.1-profile-saml2.0-v2-schema-assertion-wd-13.xsd" />
    <annotation>
      <documentation>
          Document identifier: xacml-1.1-profile-saml2.0-v2-schema-protocol-wd-13
          Location: TBD
      </documentation>
    </annotation>
    <!--    -->
    <element name="XACMLAuthzDecisionQuery" xsi:type="xacml-samlp:XACMLAuthzDecisionQueryType" />
    <complexType name="XACMLAuthzDecisionQueryType">
        <complexContent>
            <extension base="samlp:RequestAbstractType">
                <sequence>
                    <element ref="xacml-context:Request" />
                    <element ref="xacml:Policy" minOccurs="0" maxOccurs="unbounded" />
                    <element ref="xacml:PolicySet" minOccurs="0" maxOccurs="unbounded" />
                    <element ref="xacml-saml:ReferencedPolicies" minOccurs="0" maxOccurs="1" />
                    <element ref="xacml-samlp:Extensions" minOccurs="0" />
                </sequence>
                <attribute name="InputContextOnly"
                           type="boolean"
                           use="optional"
                           default="false" />
                <attribute name="ReturnContext"
                           type="boolean"
                           use="optional"
                           default="false" />
                <attribute name="CombinePolicies"
                           type="boolean"
                           use="optional"
                           default="true" />
            </extension>
        </complexContent>
    </complexType>
    <!--    -->

    <element name="Extensions" xsi:type="xacml-samlp:ExtensionsType" />
    <complexType name="ExtensionsType">
        <sequence>
			<any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>

    <element name="XACMLPolicyQuery" xsi:type="xacml-samlp:XACMLPolicyQueryType" />
    <complexType name="XACMLPolicyQueryType">
        <complexContent>
            <extension base="samlp:RequestAbstractType">
                <choice minOccurs="1" maxOccurs="unbounded">
                    <element ref="xacml-context:Request" />
                    <element ref="xacml:PolicySetIdReference" />
                    <element ref="xacml:PolicyIdReference" />
                </choice>
            </extension>
        </complexContent>
    </complexType>
</schema>
