<xs:schema targetNamespace="http://schemas.microsoft.com/bestpractices/models/FileServices/WorkFolders/2011/04"
    elementFormDefault="qualified"
    xmlns:tns="http://schemas.microsoft.com/bestpractices/models/FileServices/WorkFolders/2011/04"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
    <xs:element name="WorkFoldersComposite" type="tns:WorkFoldersCompositeType"></xs:element>

    <xs:complexType name="WorkFoldersCompositeType">
        <xs:sequence>
            <xs:element name="WorkFolders" type="tns:WorkFoldersType" minOccurs="0" maxOccurs="1"></xs:element>
	    <xs:element name="Sites" type="tns:SitesRule" minOccurs="0" maxOccurs="1"></xs:element>
	    <xs:element name="Certificates" type="tns:CertRule" minOccurs="0" maxOccurs="1"></xs:element>
	    <xs:element name="blockedPorts" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="WorkFoldersType">
        <xs:sequence>
            <xs:element name="ServiceRunning" type="xs:string"></xs:element>
            <xs:element name="Cluster" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ServiceInstallationOnClusterConsistent" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
                        <xs:element name="NotReachableNodes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="WFServerJoined" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
            <xs:element name="SyncShareACL" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
            <xs:element name="SyncShareStagingExists" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
            <xs:element name="SyncSharePathExists" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element> 
            <xs:element name="ServerSSLCertExists" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
            <xs:element name="FirewallRulesValid" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>

        </xs:sequence>
    </xs:complexType>   


    <xs:complexType name="SitesRule">
    <xs:sequence>
      <xs:element name="HTTPPorts" minOccurs="0" maxOccurs="1"  type="xs:string"></xs:element>
      <xs:element name="SSLPorts" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
      <xs:element name="AllPorts" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
      <xs:element name="HTTPBinding" minOccurs="0" maxOccurs="1"  type="xs:string"></xs:element>
      <xs:element name="SSLBinding" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
      <xs:element name="AllBinding" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
    </xs:sequence>
  </xs:complexType>


    <xs:complexType name="CertRule">
    <xs:sequence>
      <xs:element name="IP" minOccurs="0" maxOccurs="1"  type="xs:string"></xs:element>
      <xs:element name="Port" minOccurs="0" maxOccurs="1"  type="xs:string"></xs:element>
      <xs:element name="Store" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
      <xs:element name="Hash" minOccurs="0" maxOccurs="1" type="xs:string"></xs:element>
    </xs:sequence>
  </xs:complexType>

	
</xs:schema>