<?xml version="1.0" ?>
<xs:schema 
      targetNamespace="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1" 
      elementFormDefault="qualified" 
      xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"
      version="1.0"
   >
   <xs:import 
         namespace="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1" 
         schemaLocation="BaseEapConnectionPropertiesV1.xsd" 
   />

   <xs:element name="EapType" substitutionGroup="baseEap:EapType">
      <xs:complexType>
         <xs:complexContent>
            <xs:extension base="baseEap:BaseEapTypeParameters">
               <xs:sequence>
                  <xs:element 
                        name="ServerValidation" 
                        type="ServerValidationParameters" 
                        minOccurs="0"
                  />

                  <xs:element name="FastReconnect" type="xs:boolean" minOccurs="0"/>
                  <xs:element name="InnerEapOptional" type="xs:boolean" minOccurs="0"/>
                  <xs:element ref="baseEap:Eap" minOccurs="0" maxOccurs="unbounded" />

                  <xs:element name="EnableQuarantineChecks" type="xs:boolean" minOccurs="0" default="false"/>
                  <xs:element name="RequireCryptoBinding" type="xs:boolean" minOccurs="0" default="false" />

                  <xs:element name="PeapExtensions" type="PeapExtensionsType" minOccurs="0" />
               </xs:sequence>
            </xs:extension>
         </xs:complexContent>
      </xs:complexType>
   </xs:element>   
   
   <xs:complexType name="ServerValidationParameters">
      <xs:sequence>
         <xs:element 
               name="DisableUserPromptForServerValidation" 
               type="xs:boolean" 
               minOccurs="0" 
         />
         <!-- A set of server names delimited by semicolons -->
         <!-- each server name can be represented by regular -->
         <!-- expressions -->
         <xs:element name="ServerNames" type="xs:string" minOccurs="0" />
         <!-- The thumbprint of a trusted root CA is -->
         <!-- a hexadecimal string that contains -->
         <!-- the SHA-1 hash of the certificate. -->
         <xs:element 
               name="TrustedRootCA" 
               type="xs:hexBinary" 
               minOccurs="0" 
               maxOccurs="unbounded" 
         />
      </xs:sequence>
   </xs:complexType>

   <xs:complexType name="PeapExtensionsType">
      <xs:sequence>
         <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##other"/>
      </xs:sequence>
   </xs:complexType>
</xs:schema>

