<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2.0">
  <xs:element name="SiteInformation">
    <xs:annotation>
      <xs:documentation>Site Information</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="SiteInformationType">
          <xs:attribute name="version" type="xs:string" fixed="2.2.0"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
    <xs:complexType name="SiteInformationType">
      <xs:sequence>
        <xs:element name="Server">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="IpAddress" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The MapGuide server's Ip address.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="DisplayName" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The MapGuide server's display name.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Status" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The MapGuide server's status. Either Online or Offline</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Version" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The MapGuide server's version.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="OperatingSystem">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="AvailablePhysicalMemory" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The available physical memory for the operating system in bytes.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="TotalPhysicalMemory" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total physical memory for the operating system in bytes.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="AvailableVirtualMemory" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The available virtual memory for the operating system in bytes.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="TotalVirtualMemory" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total virtual memory for the operating system in bytes.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Version" type="xs:string">
                      <xs:annotation>
                          <xs:documentation>The operating system version.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Statistics">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="AdminOperationsQueueCount" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The number of operations in the Admin queue.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="ClientOperationsQueueCount" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The number of operations in the Client queue.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="SiteOperationsQueueCount" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The number of operations in the Site queue.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="AverageOperationTime" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The average time it takes to process an operation in milliseconds.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="CpuUtilization" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The cpu utilization as a percentage.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="WorkingSet" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The working set memory of the MapGuide server in bytes.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="VirtualMemory" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The virtual memory of the MapGuide server in bytes.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="TotalOperationTime" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total operation time of the MapGuide server in seconds.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="ActiveConnections" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The number of active connections to the MapGuide server.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="TotalConnections" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total number of connections that have been made to the MapGuide server.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="TotalOperationsProcessed" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total number of operations processed by the MapGuide server.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="TotalOperationsReceived" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total number of operations received by the MapGuide server.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Uptime" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total time the MapGuide server has been running in seconds.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="CacheSize" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The current number of entries in the MapGuide server cache.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="CacheDroppedEntries" type="xs:integer">
                      <xs:annotation>
                        <xs:documentation>The total number of entries in the MapGuide server cache that have been dropped.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
</xs:schema>