<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:include schemaLocation="BaseSchema.xsd"/>

  <!--<xs:complexType name="AppRiskRatingType">
    <xs:attribute name="AppId" type="xs:string" />
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="Provider" type="xs:string" />
    <xs:attribute name="SubProvider" type="xs:string" />
    <xs:attribute name="Rating" type="xs:int" />
  </xs:complexType>-->

  <xs:complexType name="Category">
    <xs:all>
      <xs:element name="SubCategories" type="Collection"/>
    </xs:all>

    <xs:attribute name="CategoryId" type="xs:int"/>
    <xs:attribute name="CategoryName" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="SubCategory">
    <xs:all>
      <xs:element name="Category" type="ObjectRef"/>

      <!-- Associations to other objects -->
      <xs:element name="Applications" type="Collection"/>
      <xs:element name="Computers" type="Collection"/>
      <xs:element name="Devices" type="Collection"/>
      <xs:element name="Updates" type="Collection"/>
      <xs:element name="Websites" type="Collection"/>
    </xs:all>

    <xs:attribute name="SubCategoryId" type="xs:int"/>
    <xs:attribute name="SubCategoryName" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="LpsStatusType">
    <xs:attribute name="LogType" type="xs:string" />
    <xs:attribute name="TotalSuccess" type="xs:int" />
    <xs:attribute name="LastSuccessTime" type="xs:dateTime" />
    <xs:attribute name="TotalFailures" type="xs:int" />
    <xs:attribute name="LastFailureTime" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="DeploymentEnabledOSType">
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="Enabled" type="xs:boolean" />
    <xs:attribute name="LastSyncTime" type="xs:dateTime" />
  </xs:complexType>

  <!-- Application - Subcategory relationship linker -->
  <xs:complexType name="ApplicationCategory">
    <xs:all>
      <xs:element name="SubCategory" type="ObjectRef"/>
      <xs:element name="Application" type="ObjectRef"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="ApplicationTag">
    <xs:all>
      <xs:element name="Application" type="ObjectRef"/>
    </xs:all>
    <xs:attribute name="Tag" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="MachineTag">
    <xs:all>
      <xs:element name="Machine" type="ObjectRef"/>
    </xs:all>
    <xs:attribute name="Tag" type="xs:string"/>
  </xs:complexType>

  <!-- Computer - Subcategory relationship linker -->
  <xs:complexType name="ComputerCategory">
    <xs:all>
      <xs:element name="SubCategory" type="ObjectRef"/>
      <xs:element name="Computer" type="ObjectRef"/>
    </xs:all>
  </xs:complexType>

  <!-- Device - Subcategory relationship linker -->
  <xs:complexType name="DeviceCategory">
    <xs:all>
      <xs:element name="SubCategory" type="ObjectRef"/>
      <xs:element name="Device" type="ObjectRef"/>
    </xs:all>
  </xs:complexType>

  <!-- Update - Subcategory relationship linker -->
  <xs:complexType name="UpdateCategory">
    <xs:all>
      <xs:element name="SubCategory" type="ObjectRef"/>
      <xs:element name="Update" type="ObjectRef"/>
    </xs:all>
  </xs:complexType>

  <!-- Website - Subcategory relationship linker -->
  <xs:complexType name="WebsiteCategory">
    <xs:all>
      <xs:element name="SubCategory" type="ObjectRef"/>
      <xs:element name="Url" type="ObjectRef"/>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="ApplicationComputer">
    <xs:all>
      <xs:element name="Computer" type="ObjectRef" />
      <xs:element name="Application" type="ObjectRef" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="ReportIssuesQueryType">
    <xs:all>
      <xs:element name="Report" type="ObjectRef"/>
      <xs:element name="Solutions" type="Collection"/>
    </xs:all>
    <xs:attribute name="IssueID" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
    <xs:attribute name="IsResolved" type="xs:int" />
    <xs:attribute name="Cause" type="xs:int" />
    <xs:attribute name="Priority" type="xs:int" />
    <xs:attribute name="Provider" type="xs:string" />
    <xs:attribute name="SubProvider" type="xs:string" />
    <xs:attribute name="Severity" type="xs:int" />
    <xs:attribute name="Symptom" type="xs:int" />
    <xs:attribute name="PublishedDate" type="xs:dateTime" />
    <xs:attribute name="DateCreated" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="IssueSolutionsQueryType">
    <xs:attribute name="IssueID" type="xs:string" />
    <xs:attribute name="SolutionID" type="xs:string" />
    <xs:attribute name="SolutionType" type="xs:int"/>
    <xs:attribute name="Provider" type="xs:string" />
    <xs:attribute name="SubProvider" type="xs:string" />
    <xs:attribute name="PublishedDate" type="xs:dateTime" />
    <xs:attribute name="DateModified" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="AppComputersQueryType">
    <xs:all>
      <xs:element name="ParentObject" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="MacAddress" type="xs:string" />
    <xs:attribute name="ServicePackMinor" type="xs:string" />
    <xs:attribute name="MachineName" type="xs:string" />
    <xs:attribute name="DomainName" type="xs:string" />
    <xs:attribute name="WindowsDirectory" type="xs:string" />
    <xs:attribute name="SystemDirectory" type="xs:string" />
    <xs:attribute name="RootPath" type="xs:string" />
    <xs:attribute name="Priority" type="xs:string" />
    <xs:attribute name="Ram" type="xs:string" />
    <xs:attribute name="AssetTag" type="xs:string" />
    <xs:attribute name="ChassisSerialNumber" type="xs:string" />
    <xs:attribute name="ChassisVendorName" type="xs:string" />
    <xs:attribute name="ProcessorVendorName" type="xs:string" />
    <xs:attribute name="ProcessorName" type="xs:string" />
    <xs:attribute name="ClockSpeed" type="xs:string" />
    <xs:attribute name="ProcessorArchitecture" type="xs:string" />
    <xs:attribute name="ProcessorFamily" type="xs:string" />
  </xs:complexType>

  <!-- THE type for queries on categories -->
  <xs:complexType name="CategorizedQueryType">
    <xs:all>
      <xs:element name="ParentObject" type="ObjectRef"/>
    </xs:all>
    <xs:attribute name="CategoryName" type="xs:string"/>
    <xs:attribute name="SubCategoryName" type="xs:string"/>
  </xs:complexType>


  <xs:complexType name="DeploymentOS">
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="DisplayName" type="xs:string" />
    <xs:attribute name="Enabled" type="xs:boolean" />
  </xs:complexType>

  <xs:complexType name="OperatingSystem">
    <xs:attribute name="OsId" type="xs:string"/>
    <xs:attribute name="Name" type="xs:string"/>
    <xs:attribute name="MajorVersion" type="xs:int"/>
    <xs:attribute name="MinorVersion" type="xs:int"/>
    <xs:attribute name="BuildNumber" type="xs:int"/>
    <xs:attribute name="ServicePackMinor" type="xs:int"/>
    <xs:attribute name="ServicePackMajor" type="xs:int"/>
    <xs:attribute name="CsdVersion" type="xs:string"/>
    <xs:attribute name="ProductType" type="xs:int"/>
    <xs:attribute name="Suite" type="xs:int"/>
    <xs:attribute name="ServicePackName" type="xs:string" />
    <xs:attribute name="PublishedDate" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="ApplicationGroupType">
    <xs:attribute name="GroupID" type="xs:string" />
    <xs:attribute name="HeaderApp" type="xs:int" />
    <xs:attribute name="ComputerCount" type="xs:int" />
    <xs:attribute name="AppCount" type="xs:int" />
    <xs:attribute name="SendMyIssues" type="xs:int" />
  </xs:complexType>
  
  <xs:complexType name="ApplicationType">
    <xs:all>
      <xs:element name="ApplicationInstances" type="Collection"/>
      <xs:element name="AssociatedIssues" type="Collection"/>
      <xs:element name="Categories" type="Collection"/>
      <xs:element name="Computers" type="Collection" />
      <xs:element name="CategoriesQuery" type="Collection"/>
      <xs:element name="AppComputersQuery" type="Collection" />
      <xs:element name="Tags" type="Collection" />
    </xs:all>
    <xs:attribute name="AppIdentity" type="xs:int" />
    <xs:attribute name="ProgramID" type="xs:string" />
    <xs:attribute name="AppID" type="xs:string" />
    <xs:attribute name="MemberOf" type="xs:string" />
    <xs:attribute name="PartialKeyHash" type="xs:string" />
    <xs:attribute name="AttribMatchString" type="xs:string" />
    <xs:attribute name="AppType" type="xs:string" use="required"/>
    <xs:attribute name="AppName" type="xs:string" />
    <xs:attribute name="VendorName" type="xs:string" />
    <xs:attribute name="Version" type="xs:string" />
    <xs:attribute name="Language" type="xs:int" />
    <xs:attribute name="IsOsComponent" type="xs:string" />
    <xs:attribute name="Priority" type="xs:int" />
    <xs:attribute name="TimeFirstFound" type="xs:dateTime" />
    <xs:attribute name="LastSyncTime" type="xs:dateTime" />
    <xs:attribute name="Checksum" type="xs:string" />
    <xs:attribute name="ComputerCount" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="ApplicationInstanceType">
    <xs:all>
      <xs:element name="Application" type="ObjectRef" />
      <xs:element name="AppInstanceFiles" type="Collection"/>
    </xs:all>
    <xs:attribute name="InstanceId" type="xs:string" />
    <xs:attribute name="RootDirPath" type="xs:string" />
    <xs:attribute name="InstallDate" type="xs:dateTime" />
    <xs:attribute name="Count" type="xs:int" />
    <xs:attribute name="TimeFirstFound" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="AppInstanceFileType">
    <xs:all>
      <xs:element name="ApplicationInstance" type="ObjectRef"/>
      <xs:element name="StaticAppProperties" type="ObjectRef"/>
    </xs:all>
    <xs:attribute name="PropertyType" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="IssueAffectsOs">
    <xs:all>
      <xs:element name="Issue">
        <xs:complexType>
          <xs:complexContent>
            <xs:restriction base="ObjectRef">
              <xs:sequence>
                <xs:element name="Object" type="IssueType" minOccurs="0"/>
              </xs:sequence>
            </xs:restriction>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="DeploymentOs">
        <xs:complexType>
          <xs:complexContent>
            <xs:restriction base="ObjectRef">
              <xs:sequence>
                <xs:element name="Object" type="DeploymentOsType" minOccurs="0"/>
              </xs:sequence>
            </xs:restriction>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="IssueSolutionOs">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
      <xs:element name="Solution" type="ObjectRef" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="IssueType">
    <xs:all>
      <xs:element name="LinkedStaticProperties" type="Collection" />
      <xs:element name="AffectedOsList" type="Collection"/>
      <xs:element name="Solutions" type="Collection" />
      <xs:element name="Applications" type="Collection" />
      <xs:element name="Websites" type="Collection" />
    </xs:all>
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
    <xs:attribute name="AppIdentity" type="xs:int" />
    <xs:attribute name="PartialKeyHash" type="xs:string" />
    <xs:attribute name="AttribMatchString" type="xs:string" />
    <xs:attribute name="Provider" type="xs:string" />
    <xs:attribute name="SubProvider" type="xs:string" />
    <xs:attribute name="Priority" type="xs:int" />
    <xs:attribute name="Severity" type="xs:int" />
    <xs:attribute name="Symptom" type="xs:int" />
    <xs:attribute name="Cause" type="xs:int" />
    <xs:attribute name="PublishedDate" type="xs:dateTime" />
    <xs:attribute name="IsDeleted" type="xs:int" />
    <xs:attribute name="IsStateDependent" type="xs:int" />
    <xs:attribute name="DateCreated" type="xs:dateTime" />
    <xs:attribute name="MyIssue" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="LocalizedIssueType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
    <xs:attribute name="LocaleId" type="xs:int" />
    <xs:attribute name="Title" type="xs:string" />
    <xs:attribute name="Details" type="xs:string" />
    <xs:attribute name="LinkHref" type="xs:string" />
    <xs:attribute name="LinkTitle" type="xs:string" />
    <xs:attribute name="ReproSteps" type="xs:string" />
    <xs:attribute name="ExpectedResult" type="xs:string" />
    <xs:attribute name="Timestamp" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="IssueAffectsOSType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="IssueAssociatedWithAppType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
      <xs:element name="Application" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
    <xs:attribute name="AppIdentity" type="xs:int" />
    <xs:attribute name="IsResolved" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="IssueLinkedStaticPropsType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
      <xs:element name="StaticAppProperty" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="PropertyType" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="IssueLinkedDynamicPropsType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
      <xs:element name="DynamicAppProperty" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="PropertyType" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="LogicalMachine"> 
    <xs:all>
      <xs:element name="IPAddresses" type="Collection" />
      <xs:element name="Devices" type="Collection" />
      <xs:element name="Categories" type="Collection" />
      <xs:element name="Applications" type="Collection" />
      <xs:element name="CategoriesQuery" type="Collection" />
      <xs:element name="Tags" type="Collection" />
    </xs:all>
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="MachineID" type="xs:string" />
    <xs:attribute name="MacAddress" type="xs:string" />
    <xs:attribute name="SevicePackMinor" type="xs:string" />
    <xs:attribute name="MachineName" type="xs:string" />
    <xs:attribute name="DomainName" type="xs:string" />
    <xs:attribute name="WindowsDirectory" type="xs:string" />
    <xs:attribute name="SystemDirectory" type="xs:string" />
    <xs:attribute name="RootPath" type="xs:string" />
    <xs:attribute name="Priority" type="xs:int"/>
    <xs:attribute name="DeviceCount" type="xs:int"/>
    <xs:attribute name="AppCount" type="xs:int"/>
    <xs:attribute name="ChassisVendorName" type="xs:string" />
    <xs:attribute name="AssetTag" type="xs:string" />
    <xs:attribute name="SerialNumber" type="xs:string" />
    <xs:attribute name="HwId" type="xs:string" />
    <xs:attribute name="Ram" type="xs:long" />
    <xs:attribute name="RamMB" type="xs:string" />
    <xs:attribute name="ProcessorSpeed" type="xs:string" />
    <xs:attribute name="ProcessorVendorName" type="xs:string" />
    <xs:attribute name="ProcessorName" type="xs:string" />
    <xs:attribute name="ProcessorArchitecture" type="xs:string" />
    <xs:attribute name="ProcessorFamily" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="AppInstalledOnMachineType">
    <xs:attribute name="AppIdentity" type="xs:int" />
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="MachineID" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="UserMachineType">
    <xs:attribute name="UserMachineID" type="xs:int" />
    <xs:attribute name="UserID" type="xs:int" />
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="MachineID" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="UserType">
    <xs:attribute name="UserID" type="xs:int" />
    <xs:attribute name="UserName" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="PhysicalMachineDevice">
    <xs:all>
      <xs:element name="Device" minOccurs="0">
        <xs:complexType>
          <xs:complexContent>
            <xs:restriction base="ObjectRef">
              <xs:sequence>
                <xs:element name="Object" type="Device" minOccurs="0"/>
              </xs:sequence>
            </xs:restriction>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:all>
    <xs:attribute name="MachineID" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="Device">
    <xs:attribute name="DeviceId" type="xs:string" />
    <xs:attribute name="DeviceType" type="xs:string" />
    <xs:attribute name="DeviceName" type="xs:string" />
    <xs:attribute name="VendorName" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="PnPDevice">
    <xs:attribute name="DeviceId" type="xs:string" />
    <xs:attribute name="MachineID" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="DisplayType">
    <xs:complexContent>
      <xs:extension base="Device">
        <xs:attribute name="ChipType" type="xs:string" use="optional"/>
        <xs:attribute name="VideoRAM" type="xs:long" use="optional"/>
        <xs:attribute name="VideoRAMMB" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="DiskType">
    <xs:complexContent>
      <xs:extension base="Device">
        <xs:attribute name="DriveLetter" type="xs:string" use="optional"/>
        <xs:attribute name="SpaceAvailable" type="xs:long" use="optional"/>
        <xs:attribute name="FileSystemType" type="xs:string" use="optional"/>
        <xs:attribute name="Capacity" type="xs:long" use="optional"/>
        <xs:attribute name="SpaceAvailableGB" type="xs:string" use="optional"/>
        <xs:attribute name="CapacityGB" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AppSummaryReportType">
    <xs:attribute name="NotWorking" type="xs:int" />
    <xs:attribute name="MinorIssue" type="xs:int" />
    <xs:attribute name="NoData" type="xs:int" />
    <xs:attribute name="NoKnownIssue" type="xs:int" />
    <xs:attribute name="Type" type="xs:string" />
    <xs:attribute name="Total" type="xs:int" />
    <xs:attribute name="Os" type="xs:string" />
  </xs:complexType>


  <xs:complexType name="IPAddress">
    <xs:attribute name="IPAddress" type="xs:string" />
    <xs:attribute name="MachineID" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="ComputerReportType">
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="DeploymentOsId" type="xs:string" />
    <xs:attribute name="MachineID" type="xs:string" />
    <xs:attribute name="AppIssueCount" type="xs:int" />
    <xs:attribute name="DeviceIssueCount" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="UrlType">
    <xs:all>
      <xs:element name="Categories" type="Collection" />
      <xs:element name="CategoriesQuery" type="Collection" />
    </xs:all>
    <xs:attribute name="UrlId" type="xs:int" />
    <xs:attribute name="Url" type="xs:string" />
    <xs:attribute name="Priority" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="IssueAssociatedWithUrlType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
      <xs:element name="UrlRef" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
    <xs:attribute name="UrlId" type="xs:int" />
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="IsResolved" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="AppGroupReportType">
    <xs:attribute name="GroupID" type="xs:string"/>
    <xs:attribute name="OsId" type="xs:string"/>
    <xs:attribute name="CompatibilityRating32" type="xs:int"/>
    <xs:attribute name="CompatibilityRating64" type="xs:int"/>
    <xs:attribute name="Works32" type="xs:int"/>
    <xs:attribute name="PartiallyWorks32" type="xs:int"/>
    <xs:attribute name="DoesNotWork32" type="xs:int"/>
    <xs:attribute name="Works64" type="xs:int"/>
    <xs:attribute name="PartiallyWorks64" type="xs:int"/>
    <xs:attribute name="DoesNotWork64" type="xs:int"/>
    <xs:attribute name="UAWorks32" type="xs:int"/>
    <xs:attribute name="UAPartiallyWorks32" type="xs:int"/>
    <xs:attribute name="UADoesNotWork32" type="xs:int"/>
    <xs:attribute name="UAWorks64" type="xs:int"/>
    <xs:attribute name="UAPartiallyWorks64" type="xs:int"/>
    <xs:attribute name="UADoesNotWork64" type="xs:int"/>
    <xs:attribute name="ActiveIssueCount" type="xs:int"/>
    <xs:attribute name="ResolvedIssueCount" type="xs:int"/>
  </xs:complexType>

  <xs:complexType name="AppReportType">
    <xs:all>
      <!-- required for query control -->
      <xs:element name="IssuesQuery" type="Collection"/>
    </xs:all>
    <xs:attribute name="AppIdentity" type="xs:int"/>
    <xs:attribute name="OsId" type="xs:string"/>
    <xs:attribute name="Version" type="xs:int"/>
    <xs:attribute name="MyRating32" type="xs:int"/>
    <xs:attribute name="MyRating64" type="xs:int"/>
    <xs:attribute name="CompatibilityRating32" type="xs:int"/>
    <xs:attribute name="SolutionType32" type="xs:int"/>
    <xs:attribute name="CompatibilityRating64" type="xs:int"/>
    <xs:attribute name="SolutionType64" type="xs:int"/>
    <xs:attribute name="Works32" type="xs:int"/>
    <xs:attribute name="PartiallyWorks32" type="xs:int"/>
    <xs:attribute name="DoesNotWork32" type="xs:int"/>
    <xs:attribute name="Works64" type="xs:int"/>
    <xs:attribute name="PartiallyWorks64" type="xs:int"/>
    <xs:attribute name="DoesNotWork64" type="xs:int"/>
    <xs:attribute name="UAWorks32" type="xs:int"/>
    <xs:attribute name="UAPartiallyWorks32" type="xs:int"/>
    <xs:attribute name="UADoesNotWork32" type="xs:int"/>
    <xs:attribute name="UAWorks64" type="xs:int"/>
    <xs:attribute name="UAPartiallyWorks64" type="xs:int"/>
    <xs:attribute name="UADoesNotWork64" type="xs:int"/>
    <xs:attribute name="ActiveIssueCount" type="xs:int"/>
    <xs:attribute name="ResolvedIssueCount" type="xs:int"/>
    <xs:attribute name="DeploymentStatus" type="xs:int"/>
    <xs:attribute name="SolutionCount" type="xs:int"/>
  </xs:complexType>

  <xs:complexType name="UrlReportType">
    <xs:all>
      <!-- required for query control -->
      <xs:element name="IssuesQuery" type="Collection"/>
    </xs:all>
    <xs:attribute name="UrlId" type="xs:int"/>
    <xs:attribute name="OsId" type="xs:string"/>
    <xs:attribute name="Version" type="xs:int"/>
    <xs:attribute name="MyRating" type="xs:int"/>
    <xs:attribute name="ActiveIssueCount" type="xs:int"/>
    <xs:attribute name="ResolvedIssueCount" type="xs:int"/>
    <xs:attribute name="DeploymentStatus" type="xs:int"/>
  </xs:complexType>

  <xs:complexType name="StaticAppPropertiesType">
    <xs:attribute name="IdentityHash" type="xs:string" />
    <xs:attribute name="PropertyType" type="xs:string" />
    <xs:attribute name="PartialKeyHash" type="xs:string" />
    <xs:attribute name="AttribMatchString" type="xs:string" />
    <xs:attribute name="IsPropertyOsComponent" type="xs:string" />
    <xs:attribute name="PropertyDateModified" type="xs:dateTime" />
    <xs:attribute name="FileName" type="xs:string" />
    <xs:attribute name="FileVersionSignature" type="xs:string" />
    <xs:attribute name="FileBinarySignature" type="xs:string" />
    <xs:attribute name="FileChecksum" type="xs:string" />
    <xs:attribute name="FileProductName" type="xs:string" />
    <xs:attribute name="FileCompanyName" type="xs:string" />
    <xs:attribute name="FileProductVersion" type="xs:string" />
    <xs:attribute name="FileVersion" type="xs:string" />
    <xs:attribute name="FileBinProductVersion" type="xs:string" />
    <xs:attribute name="FileBinFileVersion" type="xs:string" />
    <xs:attribute name="FileVersionLanguage" type="xs:string" />
    <xs:attribute name="FileDescription" type="xs:string" />
    <xs:attribute name="FileLinkDate" type="xs:dateTime" />
    <xs:attribute name="Timestamp" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="IndicatorType">
    <xs:sequence>
      <xs:element name="ApplicationType" minOccurs="0">
        <xs:complexType>
          <xs:complexContent>
            <xs:restriction base="ObjectRef">
              <xs:sequence>
                <xs:element name="Object" type="ApplicationType" minOccurs="0"/>
              </xs:sequence>
            </xs:restriction>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="GUID" type="xs:string" use="optional"/>
    <xs:attribute name="OsComponent" type="xs:string" use="optional"/>
    <xs:attribute name="UniqueId" type="xs:int" use="required"/>
    <xs:attribute name="TypeOfIndicator" type="xs:string" />
    <xs:attribute name="RNP" type="xs:string" use="optional"/>
    <xs:attribute name="DNP" type="xs:string" use="optional"/>
    <xs:attribute name="Timestamp" type="xs:dateTime"/>
  </xs:complexType>
  <!-- Support for MSI -->
  <xs:complexType name="MsiIndicatorsType">
    <xs:sequence>
      <xs:element name="Msi" type="MsiType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="MsiType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="optional"/>
        <xs:attribute name="ProductName" type="xs:string" use="optional"/>
        <xs:attribute name="CompanyName" type="xs:string" use="optional"/>
        <xs:attribute name="ProductVersion" type="xs:string" use="optional"/>
        <xs:attribute name="InstallDate" type="MMDDYYoptionalHHMMSS" use="optional"/>
        <xs:attribute name="FileName" type="xs:string" use="optional"/>
        <xs:attribute name="Language" type="xs:int" use="optional"/>
        <xs:attribute name="ProductId" type="xs:string" use="required"/>
        <xs:attribute name="PackageId" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Support for Manifest -->
  <xs:complexType name="ManifestIndicatorsType">
    <xs:sequence>
      <xs:element name="Manifest" type="ManifestType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ManifestType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="optional"/>
        <xs:attribute name="ProductName" type="xs:string" use="optional"/>
        <xs:attribute name="CompanyName" type="xs:string" use="optional"/>
        <xs:attribute name="ProductVersion" type="xs:string" use="optional"/>
        <xs:attribute name="Description" type="xs:string" use="optional"/>
        <xs:attribute name="FileName" type="xs:string" use="optional"/>
        <xs:attribute name="PublicKeyToken" type="xs:string" use="optional"/>
        <xs:attribute name="MnftType" type="xs:string" use="optional"/>
        <xs:attribute name="ProcessorArchitecture" type="xs:string" use="optional"/>
        <xs:attribute name="FusionType" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Support for WindowsComponent -->
  <xs:complexType name="WindowsComponentIndicatorsType">
    <xs:sequence>
      <xs:element name="WindowsComponent" type="WindowsComponentType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WindowsComponentType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="optional"/>
        <xs:attribute name="ProductName" type="xs:string" use="required"/>
        <xs:attribute name="Description" type="xs:string" use="optional"/>
        <xs:attribute name="Inf" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Support for Service Control Manager -->
  <xs:complexType name="ServiceControlManagerIndicatorsType">
    <xs:sequence>
      <xs:element name="ServiceControlManager" type="ServiceControlManagerType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ServiceControlManagerType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Directory" type="xs:string" use="optional"/>
        <xs:attribute name="DisplayName" type="xs:string" use="optional"/>
        <xs:attribute name="Path" type="xs:string" use="required"/>
        <xs:attribute name="Dll" type="xs:string" use="optional"/>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
        <xs:attribute name="CommandLine" type="xs:string" use="optional"/>
        <xs:attribute name="StartType" type="xs:int" use="optional"/>
        <xs:attribute name="ServiceType" type="xs:int" use="optional"/>
        <xs:attribute name="SvcHost" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Support for Directory -->
  <xs:complexType name="DirectoryIndicatorsType">
    <xs:sequence>
      <xs:element name="Directory" type="DirectoryType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DirectoryType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="optional"/>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Suppport for Add Remove Programs -->
  <xs:complexType name="AddRemoveProgramIIndicatorsType">
    <xs:sequence>
      <xs:element name="AddRemoveProgram" type="AddRemoveProgramType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AddRemoveProgramType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="optional"/>
        <xs:attribute name="RegistrySubKey" type="xs:string" use="optional"/>
        <xs:attribute name="RegistryPath" type="xs:string" use="required"/>
        <xs:attribute name="DisplayName" type="xs:string" use="optional"/>
        <xs:attribute name="CompanyName" type="xs:string" use="optional"/>
        <xs:attribute name="ProductVersion" type="xs:string" use="optional"/>
        <xs:attribute name="UninstallString" type="xs:string" use="optional"/>
        <xs:attribute name="LastUsed" type="xs:string" use="optional"/>
        <xs:attribute name="TimesUsed" type="xs:int" use="optional"/>
        <xs:attribute name="Hotfix" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Suppport for Shell -->
  <xs:complexType name="ShellIndicatorsType">
    <xs:sequence>
      <xs:element name="Shell" type="ShellType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ShellType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="optional"/>
        <xs:attribute name="ShellName" type="xs:string" use="required"/>
        <xs:attribute name="ParentName" type="xs:string" use="required"/>
        <xs:attribute name="LinkPath" type="xs:string" use="optional"/>
        <xs:attribute name="LinkDirectory" type="xs:string" use="optional"/>
        <xs:attribute name="TargetPath" type="xs:string" use="required"/>
        <xs:attribute name="TargetArg" type="xs:string" use="optional"/>
        <xs:attribute name="FileName" type="xs:string" use="optional"/>
        <xs:attribute name="HasFolderSibling" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Suppport for Add Path -->
  <xs:complexType name="AppPathIndicatorsType">
    <xs:sequence>
      <xs:element name="AppPath" type="AppPathType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AppPathType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="required"/>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
        <xs:attribute name="FilePath" type="xs:string" use="required"/>
        <xs:attribute name="RegistryPath" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Suppport for Registry -->
  <xs:complexType name="RegistryIndicatorsType">
    <xs:sequence>
      <xs:element name="Registry" type="RegistryType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="RegistryType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="required"/>
        <xs:attribute name="RegistryPath" type="xs:string" use="required"/>
        <xs:attribute name="File" type="xs:string" use="required"/>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
        <xs:attribute name="CommandLine" type="xs:string" use="optional"/>
        <xs:attribute name="RegistryRun" type="RegistryRunType" use="required"/>
        <xs:attribute name="RegistryKeyValue" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Suppport for Path Env Var -->
  <xs:complexType name="PathEnvVarIndicatorsType">
    <xs:sequence>
      <xs:element name="PathEnvironmentVariable" type="PathEnvVarType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PathEnvVarType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="required"/>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
        <xs:attribute name="RegistryPath" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Suppport for File Ext -->
  <xs:complexType name="FileExtIndicatorsType">
    <xs:sequence>
      <xs:element name="FileExtensionHandler" type="FileExtType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FileExtType">
    <xs:complexContent>
      <xs:extension base="IndicatorType">
        <xs:attribute name="Path" type="xs:string" use="required"/>
        <xs:attribute name="RegistryPath" type="xs:string" use="required"/>
        <xs:attribute name="File" type="xs:string" use="required"/>
        <xs:attribute name="Name" type="xs:string" use="optional"/>
        <xs:attribute name="Extension" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MMDDYYoptionalHHMMSS">
    <xs:annotation>
      <xs:documentation>Date in this form: mm/dd/yyyy hh:mm:ss [AM/PM]</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-1][0-9][/][0-3][0-9][/][0-2][0-9][0-9][0-9]( +[0-2]\d:[0-5]\d:[0-5]\d( [AP]M)?)?"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RegistryRunType">
    <xs:annotation>
      <xs:documentation>Different values of Registry Run variable. </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Run"/>
      <xs:enumeration value="RunOnce"/>
      <xs:enumeration value="RunOnceEx"/>
      <xs:enumeration value="RunServices"/>
      <xs:enumeration value="RunServicesOnce"/>
      <xs:enumeration value="RunOnceSetup"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ProvidersType">
    <xs:attribute name="Provider" type="xs:string" />
    <xs:attribute name="SubProvider" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="ArchitecturePreferences">
    <xs:attribute name="Identity" type="xs:int" />
    <xs:attribute name="X86Enabled" type="xs:int" />
    <xs:attribute name="X64Enabled" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="ClientState">
    <xs:attribute name="Identity" type="xs:string" />
    <xs:attribute name="LastNewIssueMatch" type="xs:dateTime" />
    <xs:attribute name="LastStateMatch" type="xs:dateTime" />
    <xs:attribute name="LastServerSync" type="xs:dateTime" />
    <xs:attribute name="LastNewPropIssueMatch" type="xs:dateTime" />
    <xs:attribute name="LastClientSync" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="DeploymentOsType">
    <xs:all>
      <xs:element name="Issues" type="Collection" />
    </xs:all>
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="PublishedDate" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="SolutionType">
    <xs:all>
      <xs:element name="Issues" type="Collection" />
    </xs:all>
    <xs:attribute name="SolutionId" type="xs:string" />
    <xs:attribute name="SolutionType" type="xs:int" />
    <xs:attribute name="Provider" type="xs:string" />
    <xs:attribute name="SubProvider" type="xs:string" />
    <xs:attribute name="PublishedDate" type="xs:dateTime" />
    <xs:attribute name="DateModified" type="xs:dateTime" />
    <xs:attribute name="IsDeleted" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="LocalizedSolutionType">
    <xs:all>
      <xs:element name="Solution" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="SolutionId" type="xs:string" />
    <xs:attribute name="LocaleId" type="xs:int" />
    <xs:attribute name="Title" type="xs:string" />
    <xs:attribute name="Details" type="xs:string" />
    <xs:attribute name="LinkHref" type="xs:string" />
    <xs:attribute name="LinkTitle" type="xs:string" />
    <xs:attribute name="Timestamp" type="xs:dateTime" />
  </xs:complexType>

  <xs:complexType name="IssueSolutionType">
    <xs:all>
      <xs:element name="Issue" type="ObjectRef" />
      <xs:element name="Solution" type="ObjectRef" />
    </xs:all>
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
    <xs:attribute name="SolutionId" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="ReportDeviceListType">
    <xs:all>
      <xs:element name="Categories" type="Collection" />
      <xs:element name="CategoriesQuery" type="Collection" />
    </xs:all>
    <xs:attribute name="OsId" type="xs:string" />
    <xs:attribute name="DeviceId" type="xs:string" />
    <xs:attribute name="Model" type="xs:string" />
    <xs:attribute name="Manufacturer" type="xs:string" />
    <xs:attribute name="Class" type="xs:string" />
    <xs:attribute name="CompatibilityRating32" type="xs:int"/>
    <xs:attribute name="CompatibilityRating64" type="xs:int"/>
    <xs:attribute name="Status" type="xs:int" />
    <xs:attribute name="NumOfComputers" type="xs:int" />
    <xs:attribute name="Priority" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="IeceIssueDataType">

    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="FileId" type="xs:string" use="required"/>

    <xs:attribute name="PropertyType" type="xs:string" />
    <xs:attribute name="AppIdentity" type="xs:int" />
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />

    <xs:attribute name="AXKill" type="xs:string" />
    <xs:attribute name="APIName" type="xs:string" />
    <xs:attribute name="APIResult" type="xs:string" />

    <xs:attribute name="BhvrUrl" type="xs:string" />
    <xs:attribute name="BlockReason" type="xs:string" />
    <xs:attribute name="BlockedURL" type="xs:string" />

    <xs:attribute name="CacheFileName" type="xs:string" />
    <xs:attribute name="CategoryID" type="xs:string" />
    <xs:attribute name="CalcMimeType" type="xs:string" />
    <xs:attribute name="CFExtProgID" type="xs:string" />
    <xs:attribute name="CLSIDMimeH" type="xs:string" />
    <xs:attribute name="CLSIDExtH" type="xs:string" />
    <xs:attribute name="ControlURL" type="xs:string" />
    <xs:attribute name="CLSID" type="xs:string" />
    <xs:attribute name="ControlUpgrade" type="xs:string" />
    <xs:attribute name="ControlUpgradePath" type="xs:string" />
    <xs:attribute name="ControlUpgradePublisher" type="xs:string" />
    <xs:attribute name="ControlUpgradeSignature" type="xs:string" />
    <xs:attribute name="ControlZone" type="xs:string" />
    <xs:attribute name="ControlGuid" type="xs:string" />
    <xs:attribute name="ControlPublisher" type="xs:string" />
    <xs:attribute name="ControlName" type="xs:string" />
    <xs:attribute name="CSSFix" type="xs:string" />
    <xs:attribute name="CSSInformation" type="xs:string" />

    <xs:attribute name="DLFile" type="xs:string" />

    <xs:attribute name="Error" type="xs:string" />
    <xs:attribute name="ExtensionType" type="xs:string" />

    <xs:attribute name="FileName" type="xs:string" />
    <xs:attribute name="FailureMode" type="xs:string" />

    <xs:attribute name="HttpHeadCT" type="xs:string" />
    <xs:attribute name="HttpHeadCD" type="xs:string" />

    <xs:attribute name="Info" type="xs:string" />

    <xs:attribute name="LastError" type="xs:string" />
    <xs:attribute name="LoadingUrl" type="xs:string" />
    <xs:attribute name="Local_Control_Path" type="xs:string" />
    <xs:attribute name="Local_Control_Signature" type="xs:string" />

    <xs:attribute name="MitigationCode" type="xs:string" />
    <xs:attribute name="MHProgID" type="xs:string" />
    <xs:attribute name="ModuleName" type="xs:string" />

    <xs:attribute name="NewObjectPath" type="xs:string" />
    <xs:attribute name="NewURI" type="xs:string" />

    <xs:attribute name="ObjectType" type="xs:string" />
    <xs:attribute name="OldURI" type="xs:string" />

    <xs:attribute name="PopupURL" type="xs:string" />
    <xs:attribute name="PopupFlags" type="xs:string" />
    <xs:attribute name="Publisher" type="xs:string" />
    <xs:attribute name="PunyCodeHost" type="xs:string" />

    <xs:attribute name="RestrictBeh" type="xs:string" />
    <xs:attribute name="RestrictedAction" type="xs:string" />
    <xs:attribute name="Reason" type="xs:string" />
    <xs:attribute name="ReqObjectPath" type="xs:string" />

    <xs:attribute name="Signature" type="xs:string" />
    <xs:attribute name="SignedBy" type="xs:string" />
    <xs:attribute name="Signature_Error" type="xs:string" />
    <xs:attribute name="SecurityProblem" type="xs:string" />
    <xs:attribute name="ScriptURL" type="xs:string" />

    <xs:attribute name="TimeStamp" type="xs:dateTime" />
    <xs:attribute name="TargetURL" type="xs:string" />
    <xs:attribute name="TargetZone" type="xs:string" />
    <xs:attribute name="TargetFrameName" type="xs:string" />

    <xs:attribute name="UrlPath" type="xs:string" />
    <xs:attribute name="UrlZone" type="xs:string" />

    <xs:attribute name="VirtualizationAction" type="xs:string" />

    <xs:attribute name="WindowCommand" type="xs:string" />
    <xs:attribute name="WindowsParam" type="xs:string" />

  </xs:complexType>

  <xs:complexType name ="GeneralFeedbackReportType">
    <xs:sequence>
      <xs:element name="AttachedFileObject" type="ObjectRef" />
    </xs:sequence>
    <xs:attribute name="TimeLineEventId" type="xs:int" use="required"/>
    <xs:attribute name="EventTimeStamp" type="xs:dateTime"/>
    <xs:attribute name="UserMachineId" type="xs:int"/>
    <xs:attribute name="UserName" type="xs:string"/>
    <xs:attribute name="MachineName" type="xs:string"/>
    <xs:attribute name="OsId" type="xs:string"/>
    <xs:attribute name="Title" type="xs:string"/>
    <xs:attribute name="Detail" type="xs:string"/>
    <xs:attribute name="AttachedFile" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="TimeLineEventType">
    <xs:sequence>
      <xs:element name="LinkedTimeLineEvents" type="Collection" />
      <xs:element name="AttachedFileObject" type="ObjectRef" />
    </xs:sequence>
    <xs:attribute name="TimeLineEventId" type="xs:int" use="required"/>
    <xs:attribute name="EventTimeStamp" type="xs:dateTime"/>
    <xs:attribute name="PropertyType" type="xs:string"/>
    <xs:attribute name="EventDescription" type="xs:string"/>
    <xs:attribute name="UserMachineId" type="xs:int"/>
    <xs:attribute name="AppIdentity" type="xs:int"/>
    <xs:attribute name="FeedbackAttachedFile" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="PCAEventBaseType">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="PcaExePath" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaHelpedUserEvent">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaDeprecatedComponent">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaInstallFailure">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaDWM">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaLaunch16BitApp">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaFaultTolerantHeap">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaPinDLL">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaQuarantine">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaLegacyControlPanelApplet">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaDllLoadFailure">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaQuickAppTermination">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaUnhandledException">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaWRPAccessError">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaElevateCreateProcess">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PcaRegSvr32Failure">
    <xs:complexContent>
      <xs:extension base="PCAEventBaseType">
        <xs:attribute name="PcaUserAction" type="xs:string" use="required"/>
        <xs:attribute name="PcaCompatibilityLayer" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="WerApplicationCrash">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="WerExePath" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="WerApplicationHang">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="WerExePath" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaFileIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaRegistryIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaIniIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaTokenIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaPrivilegeIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaNameSpaceIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaOtherObjectIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaProcessIssue">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaApiName" type="xs:string" use="required"/>
        <xs:attribute name="SuaMessage" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SuaMitigation">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="SuaExePath" type="xs:string" use="required"/>
        <xs:attribute name="SuaShimName" type="xs:string" use="required"/>
        <xs:attribute name="SuaShimParam" type="xs:string"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:complexType name="ShimCompatibilityFixEvent">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="ShimExePath" type="xs:string" use="required"/>
        <xs:attribute name="ShimFixName" type="xs:string" use="required"/>
        <xs:attribute name="ShimFixId" type="xs:string" use="required"/>
        <xs:attribute name="ShimFlags" type="xs:string" use="required"/>
        <xs:attribute name="ShimParams" type="xs:string"/>
        <xs:attribute name="ShimFileVersion" type="xs:string"/>
        <xs:attribute name="ShimProductVersion" type="xs:string"/>
        <xs:attribute name="ShimCompanyName" type="xs:string"/>
        <xs:attribute name="ShimProductName" type="xs:string"/>
        <xs:attribute name="ShimLanguage" type="xs:string"/>
        <xs:attribute name="ShimExeBitness" type="xs:string"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:complexType name="GeneralFeedback">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="FeedbackTitle" type="xs:string" use="required"/>
        <xs:attribute name="FeedbackDetail" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  
  <xs:complexType name="ApplicationFeedback">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="FeedbackTitle" type="xs:string" use="required"/>
        <xs:attribute name="FeedbackDetail" type="xs:string" use="required"/>
        <xs:attribute name="FeedbackRating" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AttachedFile">
    <xs:attribute name="AttachedFileID" type="xs:string" use="required"/>
    <xs:attribute name="AttachedFileBlob" type="xs:base64Binary" use="required"/>
  </xs:complexType>
  
  
  <xs:complexType name="PsrEvent">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="PsrExePath" type="xs:string" use="required"/>
        <xs:attribute name="PsrDescription" type="xs:string" use="required"/>
     </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceEventType">
    <xs:complexContent>
      <xs:extension base="TimeLineEventType">
        <xs:attribute name="UrlPath" type="xs:string" use="required"/>
        <xs:attribute name="UrlZone" type="xs:string" use="required"/>
        <xs:attribute name="MitigationCode" type="xs:string" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="IeceMimeHandling01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102101"/>
        <xs:attribute name="FileName" type="xs:string" use="optional"/>
        <xs:attribute name="CacheFileName" type="xs:string" use="optional"/>
        <xs:attribute name="HttpHeadCT" type="xs:string" use="optional"/>
        <xs:attribute name="HttpHeadCD" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceMimeHandling02">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102102"/>
        <xs:attribute name="CalcMimeType" type="xs:string" use="optional"/>
        <xs:attribute name="CFExtProgID" type="xs:string" use="optional"/>
        <xs:attribute name="CLSIDMimeH" type="xs:string" use="optional"/>
        <xs:attribute name="CLSIDExtH" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceMimeHandling03">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102103"/>
        <xs:attribute name="MHProgID" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceWindowRestrictions01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102201"/>
        <xs:attribute name="WindowCommand" type="xs:string" use="optional"/>
        <xs:attribute name="WindowsParam" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceZoneElev01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102301"/>
        <xs:attribute name="TargetURL" type="xs:string" use="optional"/>
        <xs:attribute name="TargetZone" type="xs:string" use="optional"/>
        <xs:attribute name="FailureMode" type="xs:string" use="optional"/>
        <xs:attribute name="LoadingUrl" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceBinaryBhvr01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102401"/>
        <xs:attribute name="BhvrUrl" type="xs:string" use="optional"/>
        <xs:attribute name="RestrictBeh" type="xs:string" use="optional"/>
        <xs:attribute name="FailureMode" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceObjCache01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102501"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceControlBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102601"/>
        <xs:attribute name="Publisher" type="xs:string" use="optional"/>
        <xs:attribute name="ControlURL" type="xs:string" use="optional"/>
        <xs:attribute name="BlockReason" type="xs:string" use="optional"/>
        <xs:attribute name="CLSID" type="xs:string" use="optional"/>
        <xs:attribute name="Error" type="xs:string" use="optional"/>
        <xs:attribute name="AXKill" type="xs:string" use="optional"/>
        <xs:attribute name="Signature" type="xs:string" use="optional"/>
        <xs:attribute name="ControlUpgrade" type="xs:string" use="optional"/>
        <xs:attribute name="ControlUpgradePath" type="xs:string" use="optional"/>
        <xs:attribute name="ControlUpgradePublisher" type="xs:string" use="optional"/>
        <xs:attribute name="ControlUpgradeSignature" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceControlBlock02">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102602"/>
        <xs:attribute name="SignedBy" type="xs:string" use="optional"/>
        <xs:attribute name="Signature_Error" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceControlBlock03">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102603"/>
        <xs:attribute name="Local_Control_Path" type="xs:string" use="optional"/>
        <xs:attribute name="Local_Control_Signature" type="xs:string" use="optional"/>
        <xs:attribute name="ControlZone" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IecePUBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102701"/>
        <xs:attribute name="PopupURL" type="xs:string" use="optional"/>
        <xs:attribute name="PopupFlags" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceDownloadBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="102801"/>
        <xs:attribute name="DLFile" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceLMZL01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103001"/>
        <xs:attribute name="RestrictedAction" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceURLCreationFailure01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103101"/>
        <xs:attribute name="Reason" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceIDNNavigation01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103201"/>
        <xs:attribute name="PunyCodeHost" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceSSLNavBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103301"/>
        <xs:attribute name="BlockedURL" type="xs:string" use="optional"/>
        <xs:attribute name="SecurityProblem" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceScriptUrlBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103401"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceScriptUrlBlock02">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103402"/>
        <xs:attribute name="ScriptURL" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceAntiphishingBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103501"/>
        <xs:attribute name="Reason" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceManageAddOns01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103601"/>
        <xs:attribute name="ControlGuid" type="xs:string" use="optional"/>
        <xs:attribute name="ControlPublisher" type="xs:string" use="optional"/>
        <xs:attribute name="ControlName" type="xs:string" use="optional"/>
        <xs:attribute name="Reason" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceProtectedMode01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103701"/>
        <xs:attribute name="ModuleName" type="xs:string" use="optional"/>
        <xs:attribute name="VirtualizationAction" type="xs:string" use="optional"/>
        <xs:attribute name="ObjectType" type="xs:string" use="optional"/>
        <xs:attribute name="APIName" type="xs:string" use="optional"/>
        <xs:attribute name="ReqObjectPath" type="xs:string" use="optional"/>
        <xs:attribute name="NewObjectPath" type="xs:string" use="optional"/>
        <xs:attribute name="APIResult" type="xs:string" use="optional"/>
        <xs:attribute name="LastError" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceSubframeNavigateBlock01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103801"/>
        <xs:attribute name="TargetURL" type="xs:string" use="optional"/>
        <xs:attribute name="TargetFrameName" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceCreateURLMonikerDifference01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="103901"/>
        <xs:attribute name="NewURI" type="xs:string" use="optional"/>
        <xs:attribute name="OldURI" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceCSSFixes01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104001"/>
        <xs:attribute name="CSSFix" type="xs:string" use="optional"/>
        <xs:attribute name="CSSInformation" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="IeceUIPIExtensionBlocked01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104101"/>
        <xs:attribute name="ExtensionType" type="xs:string" use="optional"/>
        <xs:attribute name="CLSID" type="xs:string" use="optional"/>
        <xs:attribute name="Info" type="xs:string" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="IeceXSSFilterPageSanitize01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104601" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceDEPNX01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104801" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceStandardsMode01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104901" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceFileUploadNoPath01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="105601" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceCodepageDisabled01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="105801" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceAjaxNavigation01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="105901" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceApplicationProtocolDialog01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="106101" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceFrameNavigationRestricted01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="106201" />
        <xs:attribute name="TargetURL" type="xs:string" use="optional" />
        <xs:attribute name="TargetFrameName" type="xs:string" use="optional" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <!-- the name of this class is trimmed by 1 char to fit the partial_key_hash column size (32); fix it if the column size gets upgraded -->

  <xs:complexType name="IeceImageNotUpgradedToXMLorHTM01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="106401" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="IeceContentFromProxyDiscarded01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="106501" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <!-- the name of this class is trimmed by 1 char to fit the partial_key_hash column size (32); fix it if the column size gets upgraded -->
  <xs:complexType name="IeceCertFilteringDefaultChange01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="107301"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="IeceCrossMIC01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104701"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="IeceUIPICrossProcessWM01">
    <xs:complexContent>
      <xs:extension base="IeceEventType">
        <xs:attribute name="CategoryID" type="xs:string" use="required" fixed="104201"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="UpdateModuleLoadType">
    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="AppIdentity" type="xs:int" use="required"/>
    <xs:attribute name="PropertyType" type="xs:string" use="optional"/>
    <xs:attribute name="ModuleName" type="xs:string" use="required"/>
    <xs:attribute name="ModulePath" type="xs:string" use="required"/>
    <xs:attribute name="Version" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="UpdateFileOpenType">
    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="AppIdentity" type="xs:int" use="required"/>
    <xs:attribute name="PropertyType" type="xs:string" use="optional"/>
    <xs:attribute name="FileName" type="xs:string" use="required"/>
    <xs:attribute name="FilePath" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:complexType name="UpdateRegistryType">
    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="AppIdentity" type="xs:int" use="required"/>
    <xs:attribute name="PropertyType" type="xs:string" use="optional"/>
    <xs:attribute name="RegistryValueName" type="xs:string" use="required"/>
    <xs:attribute name="RegistryPath" type="xs:string" use="required"/>
  </xs:complexType>
  <!--===================================================-->
  <!-- Relates an Update to a particular OS              -->
  <!--===================================================-->
  <xs:complexType name="OsUpdateLink">
    <xs:all>
      <xs:element name="Update" type="ObjectRef" />
      <xs:element name="Os" type="ObjectRef" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="IssueAppTimeLineEventType">
    <xs:all>
      <xs:element name="TimeLineEvent" type="ObjectRef"/>
    </xs:all>

    <xs:attribute name="AppIdentity" type="xs:int" />
    <xs:attribute name="IssueId" type="xs:string" />
    <xs:attribute name="IssueType" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="WSClientStateDetailsType">
      <xs:attribute name="Id">
          <xs:simpleType>
              <xs:restriction base="xs:string">
                  <xs:maxLength value="1"/>
              </xs:restriction>
          </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="LastServerSync" type="xs:dateTime"/>
      <xs:attribute name="LastClientSync" type="xs:dateTime"/>
  </xs:complexType>
</xs:schema>
