<?xml version="1.0" encoding="US-ASCII"?>
<schema targetNamespace="urn:mace:shibboleth:2.0:native:sp:protocols"
        xmlns:prot="urn:mace:shibboleth:2.0:native:sp:protocols"
        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
        xmlns="http://www.w3.org/2001/XMLSchema"
        attributeFormDefault="unqualified"
        elementFormDefault="qualified"
        blockDefault="substitution"
        version="2.4">

  <annotation>
    <documentation>
      Schema for specifying protocols, services, and bindings, and defaults for the locations of handlers.
      First appearing in Shibboleth 2.4 release.
    </documentation>
  </annotation>
  
  <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd" />

  <simpleType name="string">
    <restriction base="string">
      <minLength value="1"/>
    </restriction>
  </simpleType>

  <element name="Protocols">
    <complexType>
      <sequence>
        <element name="Protocol" maxOccurs="unbounded">
          <complexType>
            <sequence>
              <element name="Service" maxOccurs="unbounded">
                <complexType>
                  <sequence>
                    <element name="Initiator" minOccurs="0">
                      <complexType>
                        <attribute name="id" type="prot:string" use="required" />
                      </complexType>
                    </element>
                    <element name="Binding" minOccurs="0" maxOccurs="unbounded">
                      <complexType>
                        <attribute name="id" type="prot:string" use="required" />
                        <attribute name="path" type="prot:string" use="required" />
                      </complexType>
                    </element>
                  </sequence>
                  <attribute name="id" type="prot:string" use="required" />
                </complexType>
              </element>
            </sequence>
            <attribute name="id" type="prot:string" use="required" />
          </complexType>
        </element>
        <element ref="ds:Signature" minOccurs="0"/>
      </sequence>
    </complexType>
  </element>

</schema>
