AXE XSD Schema

This is the AXE XSD schema.

<?xml version="1.0" encoding="utf-8"?>  
  
  
<xs:schema  
  version="1.1"  
  targetNamespace="https://www.microsoft.com/axe/assessment/manifest"  
  elementFormDefault="qualified"  
  xmlns="https://www.microsoft.com/axe/assessment/manifest"  
  xmlns:xs="http://www.w3.org/2001/XMLSchema"  
>  
    
  
  <xs:element name="AxeAssessmentManifest" type="AxeAssessmentManifest"/>  
  <xs:element name="AxeJobManifest" type="AxeJobManifest"/>  
  <xs:element name="AssessmentResult" type="AssessmentResult"/>  
  <xs:element name="AxeJobResults" type="AxeJobResults"/>  
  
  
  <xs:complexType name="Version">  
    <xs:all>  
      <xs:element name="Major" type="xs:unsignedInt"/>  
      <xs:element name="Minor" type="xs:unsignedInt"/>  
      <xs:element name="Build" type="xs:unsignedInt"/>  
      <xs:element name="Revision" type="xs:unsignedInt"/>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:simpleType name="Guid">  
    <xs:restriction base="xs:string">  
      <xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/>  
    </xs:restriction>  
  </xs:simpleType>    
    
  <xs:complexType name="VersionedId">  
    <xs:all>  
      <xs:element name="Guid" type="Guid"/>  
      <xs:element name="Version" type="Version"/>  
    </xs:all>  
  </xs:complexType>  
      
  <xs:complexType name="_locTag">  
    <xs:simpleContent>  
      <xs:extension base="xs:string">  
        <xs:attribute name="_loc" type="xs:string" use="required"/>  
      </xs:extension>  
    </xs:simpleContent>  
  </xs:complexType>  
  
  <xs:complexType name="_locDefinition">  
    <xs:sequence>  
      <xs:element name="_locDefault" minOccurs="0">  
        <xs:complexType>  
          <xs:attribute name="_loc" type="xs:string" use="required"/>  
          <xs:attribute name="_locID" type="xs:string" use="required"/>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="_locTag" type="_locTag" minOccurs="0" maxOccurs="unbounded"/>  
    </xs:sequence>  
  </xs:complexType>  
      
  <xs:complexType name="DescriptionBasic">  
    <xs:all>  
      <xs:element name="ProgrammaticName" type="xs:string" minOccurs="0"/>  
      <xs:element name="DisplayName" type="LocalizedString" minOccurs="0"/>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="Description">  
    <xs:all>  
      <xs:element name="ProgrammaticName" type="xs:string" minOccurs="0"/>  
      <xs:element name="DisplayName" type="LocalizedString" minOccurs="0"/>  
      <xs:element name="ToolTip" type="LocalizedString" minOccurs="0"/>  
      <xs:element name="Information" type="LocalizedString" minOccurs="0"/>  
      <xs:element name="Tags" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element  
              name="Tag"  
              minOccurs="0"  
              maxOccurs="unbounded"  
              type="LocalizedString"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="Categories" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element  
              name="Category"  
              minOccurs="0"  
              maxOccurs="unbounded"  
              type="LocalizedString"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="LocalizedString">  
    <xs:simpleContent>  
      <xs:extension base="xs:string">  
        <xs:attribute name="_locID" type="xs:string" use="optional"/>  
      </xs:extension>  
    </xs:simpleContent>  
  </xs:complexType>  
  
  <xs:complexType name="Empty">  
    <xs:complexContent>  
      <xs:restriction base="xs:anyType"/>  
    </xs:complexContent>  
  </xs:complexType>  
  
  <xs:complexType name="ErrorsAndWarnings">  
    <xs:choice maxOccurs="unbounded" minOccurs="0">  
      <xs:element name="Error" type="Error"/>  
      <xs:element name="Warning" type="Error"/>  
    </xs:choice>  
  </xs:complexType>  
  
  <xs:complexType name="NestedVerificationScope">  
    <xs:sequence>  
      <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="skip"/>  
    </xs:sequence>  
    <xs:attribute name="SchemaVersion" type="xs:decimal" use="required" fixed="1.1"/>  
  </xs:complexType>    
  
  <xs:complexType name="StandardType">  
    <xs:choice>  
      <xs:element name="String" type="Empty"/>  
      <xs:element name="Int16" type="Empty"/>  
      <xs:element name="Int32" type="Empty"/>  
      <xs:element name="Int64" type="Empty"/>  
      <xs:element name="UInt16" type="Empty"/>  
      <xs:element name="UInt32" type="Empty"/>  
      <xs:element name="UInt64" type="Empty"/>  
      <xs:element name="Byte" type="Empty"/>  
      <xs:element name="SByte" type="Empty"/>  
      <xs:element name="Single" type="Empty"/>  
      <xs:element name="Double" type="Empty"/>  
      <xs:element name="Boolean" type="Empty"/>  
      <xs:element name="Char" type="Empty"/>  
      <xs:element name="DateTime" type="Empty"/>  
      <xs:element name="Duration" type="Empty"/>  
      <xs:element name="TimeSpan" type="Empty"/>  
      <xs:element name="FilePath" type="Empty"/>  
      <xs:element name="DirectoryPath" type="Empty"/>  
    </xs:choice>  
  </xs:complexType>  
  
  <xs:complexType name="JobKind">  
    <xs:choice>  
      <xs:element name="Normal" type="Empty"/>  
      <xs:element name="BatteryLife" type="Empty"/>  
      <xs:element name="DiagnosticModule" type="Empty"/>  
    </xs:choice>  
  </xs:complexType>  
  
  <xs:complexType name="SolutionData">  
    <xs:sequence>  
      <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>  
    </xs:sequence>  
  </xs:complexType>  
  
  <xs:complexType name="LocalizedStringDictionaryEntry">  
    <xs:simpleContent>  
      <xs:extension base="xs:string">  
        <xs:attribute name="Id" type="xs:string" use="required"/>  
      </xs:extension>  
    </xs:simpleContent>  
  </xs:complexType>  
    
  <xs:element name="s" type="LocalizedStringDictionaryEntry"/>  
  
  <xs:complexType name="LocalizedStringDictionaryLanguage">  
    <xs:sequence>  
      <xs:element name="s" type="LocalizedStringDictionaryEntry" minOccurs="0" maxOccurs="unbounded"/>  
    </xs:sequence>  
  </xs:complexType>  
  
  <xs:element name="en" type="LocalizedStringDictionaryLanguage">  
    <xs:unique name="enStringDictionaryUniqueIds">  
      <xs:selector xpath="s"/>  
      <xs:field xpath="@Id"/>  
    </xs:unique>  
  </xs:element>  
  
  <xs:complexType name="LocalizedStringDictionary">  
    <xs:sequence>  
      <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##targetNamespace"/>  
    </xs:sequence>  
  </xs:complexType>  
    
  <xs:complexType name="Execution">  
    <xs:choice>  
      <xs:element name="CreateProcess">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="ApplicationName" type="xs:string"/>  
            <xs:element name="CreateNewConsole" type="Empty" minOccurs="0"/>  
            <xs:element name="CreateNoWindow" type="Empty" minOccurs="0"/>  
            <xs:element name="DetachedProcess" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresUIAccess" type="Empty" minOccurs="0"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="ShellExecute">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="ShellExecuteFile" type="xs:string"/>  
            <xs:element name="ShellExecuteVerb" type="xs:string"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
    </xs:choice>  
  </xs:complexType>  
  
    
  <xs:complexType name="ParameterDefinition">  
    <xs:all>  
      <xs:element name="Description" type="Description"/>  
  
      <xs:element name="Type" type="StandardType"/>  
  
      <xs:element name="DefaultValue" type="xs:string" minOccurs="0"/>  
      <xs:element name="BenchmarkValue" type="xs:string" minOccurs="0"/>  
  
      <xs:element name="Constraints" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="LengthConstraint" type="xs:unsignedInt"/>  
            <xs:sequence>  
              <xs:element name="MinimumConstraint" type="xs:string" minOccurs="0"/>  
              <xs:element name="MaximumConstraint" type="xs:string" minOccurs="0"/>  
            </xs:sequence>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="CommandLineFormat" type="xs:string" minOccurs="0"/>  
      <xs:element name="Ordinal" type="xs:unsignedInt" minOccurs="0"/>  
  
      <xs:element name="Visibility" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="Visible" type="Empty"/>  
            <xs:element name="Hidden" type="Empty"/>  
            <xs:element name="Collapsed" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Inclusion" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="Optional" type="Empty"/>  
            <xs:element name="OptionalIncluded" type="Empty"/>  
            <xs:element name="Required" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="PresentWith" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="ParameterIds">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="ParameterId" maxOccurs="unbounded">  
                    <xs:complexType>  
                      <xs:all>  
                        <xs:element name="ProgrammaticName" type="xs:string"/>  
                        <xs:element name="Value" type="xs:string" minOccurs="0"/>  
                      </xs:all>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:sequence>  
              </xs:complexType>  
              <xs:unique name="ParameterDefinitionPresentWithParameterIdsUniqueProgrammaticNames">  
                <xs:selector xpath="ParameterId"/>  
                <xs:field xpath="ProgrammaticName"/>  
              </xs:unique>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
        
      <xs:element name="Flags" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Flag" maxOccurs="unbounded">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Description" type="Description"/>  
                  <xs:element name="Value" type="xs:string"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Enumerations" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Enumeration" maxOccurs="unbounded">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Description" type="Description"/>  
                  <xs:element name="Value" type="xs:string"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
        
    </xs:all>  
  
  </xs:complexType>    
    
  <xs:complexType name="DiagnosticModule">  
    <xs:all>  
      <xs:element name="Id" type="Guid"/>  
      <xs:element name="CommandLineFormat" type="xs:string"/>  
      <xs:element name="Default" type="Empty" minOccurs="0"/>  
      <xs:element name="Required" type="Empty" minOccurs="0"/>  
    </xs:all>  
  </xs:complexType>  
    
  <xs:complexType name="TracingProfile">  
    <xs:all>  
      <xs:element name="ProgrammaticName" type="xs:string"/>  
      <xs:element name="FileName" type="xs:string"/>  
      <xs:element name="ProfileName" type="xs:string"/>  
      <xs:element name="MergeProfile" type="xs:string"/>  
    </xs:all>  
  </xs:complexType>  
    
  
  <xs:complexType name="MetricDefinition">  
    <xs:all>  
      <xs:element name="Description" type="Description"/>  
        
      <xs:element name="Type" type="StandardType"/>  
  
      <xs:element name="Units" type="xs:string" minOccurs="0"/>  
      <xs:element name="DecimalPlaces" type="xs:unsignedInt" minOccurs="0"/>  
      <xs:element name="Ordinal" type="xs:unsignedInt" minOccurs="0"/>  
  
      <xs:element name="BetterDirection" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="None" type="Empty"/>  
            <xs:element name="Lower" type="Empty"/>  
            <xs:element name="Higher" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="PrimaryStatistic" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="None" type="Empty"/>  
            <xs:element name="Mean" type="Empty"/>  
            <xs:element name="Median" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="SecondaryStatistic" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="None" type="Empty"/>  
            <xs:element name="Mean" type="Empty"/>  
            <xs:element name="Median" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Importance" type="xs:unsignedInt" minOccurs="0"/>  
        
    </xs:all>  
  
  </xs:complexType>  
    
  
  <xs:complexType name="MetricThresholdValue">  
    <xs:all>  
      <xs:element name="Description" type="Description"/>  
  
      <xs:element name="ValueType" type="StandardType"/>  
  
      <xs:element name="Value" type="xs:string"/>  
      
      <xs:element name="Comparison" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="Absolute" type="Empty"/>  
            <xs:element name="Offset" type="Empty"/>  
            <xs:element name="Percent" type="Empty"/>  
            <xs:element name="TrueIsPass" type="Empty"/>  
            <xs:element name="FalseIsPass" type="Empty"/>  
            <xs:element name="ContainsStringIsPass" type="Empty"/>  
            <xs:element name="ContainsStringIsFail" type="Empty"/>  
            <xs:element name="IsStringIsPass" type="Empty"/>  
            <xs:element name="IsStringIsFail" type="Empty"/>  
            <xs:element name="RegularExpressionMatchIsPass" type="Empty"/>  
            <xs:element name="RegularExpressionMatchIsFail" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Inclusion" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="Inclusive" type="Empty"/>  
            <xs:element name="Exclusive" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
  
    </xs:all>  
  
  </xs:complexType>  
    
  
  <xs:complexType name="MetricThresholds">  
    <xs:sequence>  
      <xs:element name="MetricThreshold" maxOccurs="unbounded">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="Description" type="Description"/>  
            <xs:element name="MetricDefinitionProgrammaticName" type="xs:string"/>  
            <xs:element name="Target" type="xs:string" minOccurs="0"/>  
            <xs:element name="TestCaseKey" type="xs:string" minOccurs="0"/>  
            <xs:element name="Ordinal" type="xs:unsignedInt" minOccurs="0"/>  
            <xs:element name="MetricThresholdValues" minOccurs="0">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="MetricThresholdValue" type="MetricThresholdValue" minOccurs="1" maxOccurs="2"/>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>  
  
  <xs:complexType name="Columns">  
    <xs:sequence>  
      <xs:element name="Column" minOccurs="0" maxOccurs="unbounded">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="Metric" type="xs:string"/>  
            <xs:element name="TestCaseKey" type="xs:string" minOccurs="0"/>  
            <xs:element name="TestCaseName" type="LocalizedString" minOccurs="0"/>  
            <xs:element name="TestCaseToolTip" type="LocalizedString" minOccurs="0"/>  
            <xs:element name="Charted" type="xs:string" minOccurs="0"/>  
            <xs:element name="Hidden" type="xs:string" minOccurs="0"/>  
            <xs:element name="PageLink" type="xs:string" minOccurs="0"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>    
  
  
  <xs:complexType name="AxeAssessmentManifest">  
    <xs:all>  
  
      <xs:element name="Ordinal" type="xs:unsignedInt" minOccurs="0"/>  
  
      <xs:element name="_locDefinition" type="_locDefinition" minOccurs="0"/>  
        
      <xs:element name="VersionedId" type="VersionedId"/>  
  
      <xs:element name="MinimumAxeVersionRequired">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="Version" type="Version"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Description" type="Description"/>  
  
      <xs:element name="Properties" minOccurs="0">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="FilePath" type="xs:string" minOccurs="0"/>  
            <xs:element name="Author" type="LocalizedString" minOccurs="0"/>  
            <xs:element name="IconResource" type="xs:string" minOccurs="0"/>  
            <xs:element name="Copyright" type="LocalizedString" minOccurs="0"/>  
            <xs:element name="Url" type="xs:anyURI" minOccurs="0"/>  
            <xs:element name="UpdateUrl" type="xs:anyURI" minOccurs="0"/>  
            <xs:element name="AuthorUrl" type="xs:anyURI" minOccurs="0"/>  
            <xs:element name="LastSavedTimeAndDate" type="xs:dateTime" minOccurs="0"/>  
            <xs:element name="OnlyForProcessor" minOccurs="0">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="X86" type="Empty" minOccurs="0"/>  
                  <xs:element name="X64" type="Empty" minOccurs="0"/>  
                  <xs:element name="ARM" type="Empty" minOccurs="0"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="SupportsWindowsPE" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresACPower" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresACPowerWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="BasicDisplayWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="BasicDisplayBlock" type="Empty" minOccurs="0"/>  
            <xs:element name="NoInteractionInfo" type="Empty" minOccurs="0"/>  
            <xs:element name="MayEmptyRecycleBinInfo" type="Empty" minOccurs="0"/>  
            <xs:element name="LockOnWakeBlock" type="Empty" minOccurs="0"/>  
            <xs:element name="HibernateDisabledBlock" type="Empty" minOccurs="0"/>  
            <xs:element name="ConnectedStandbyDisabledBlock" type="Empty" minOccurs="0"/>  
            <xs:element name="WirelessDisconnectedWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="AVOffWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="PowerProfileNotBalancedWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresAutoLogOnWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresAutoLogOnBlock" type="Empty" minOccurs="0"/>  
            <xs:element name="KernelDebuggerWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="DriverVerifierWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="SystemDiskLegacyModeWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="ProblemDevicesWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresBattery" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresTracing" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresTracingWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="SupportsRunningRemote" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresDisplay" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresExecution" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresNoExecution" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresInternet" type="Empty" minOccurs="0"/>  
            <xs:element name="MayRebootSystem" type="Empty" minOccurs="0"/>  
            <xs:element name="ShouldRunSilent" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresElevation" type="Empty" minOccurs="0"/>  
            <xs:element name="ScreensaverPasswordWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresAudioRenderDeviceWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="RequiresWindowsGenuineWarn" type="Empty" minOccurs="0"/>  
            <xs:element name="EstimatedRunTime" type="xs:unsignedLong" minOccurs="0"/>  
            <xs:element name="WatchDogTimeOut" type="xs:unsignedLong" minOccurs="0"/>  
            <xs:element name="VersionNote" type="LocalizedString" minOccurs="0"/>  
            <xs:element name="JobKind" type="JobKind" minOccurs="0"/>  
            <xs:element name="ExitValueMeaning" minOccurs="0">  
              <xs:complexType>  
                <xs:choice>  
                  <xs:element name="ZeroIsSuccess" type="Empty"/>  
                  <xs:element name="ExitValueIsHresult" type="Empty"/>  
                </xs:choice>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="ProcessIdleTasks" minOccurs="0">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="HoursSinceLastRun" type="xs:positiveInteger" />  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="VerifyOSVersion" minOccurs="0">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Version" type="Version"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="CheckForProcess" minOccurs="0">  
              <xs:complexType>  
                <xs:choice minOccurs="1" maxOccurs="unbounded">  
                  <xs:element name="Block" type="xs:string"/>  
                  <xs:element name="Warn" type="xs:string"/>  
                </xs:choice>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="RequiresAppVersions" minOccurs="0">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="AppVersion" maxOccurs="unbounded">  
                    <xs:complexType>  
                      <xs:all>  
                        <xs:element name="App" type="xs:string"/>  
                        <xs:element name="Version" type="Version"/>  
                      </xs:all>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="EventTracing" minOccurs="0">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="BufferSize" type="xs:unsignedInt" minOccurs="0"/>  
                  <xs:element name="MinimumBuffers" type="xs:unsignedInt" minOccurs="0"/>  
                  <xs:element name="MaximumBuffers" type="xs:unsignedInt" minOccurs="0"/>  
                  <xs:element name="LoggingMode" minOccurs="0">  
                    <xs:complexType>  
                      <xs:choice>  
                        <xs:element name="NoPerProcessorBuffering" type="Empty"/>  
                      </xs:choice>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="Diagnostics" minOccurs="0">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="DiagnosticModules" minOccurs="0">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="DiagnosticModule" type="DiagnosticModule" maxOccurs="unbounded"/>  
                </xs:sequence>  
              </xs:complexType>  
              <xs:unique name="AxeAssessmentManifestDiagnosticModulesUniqueIds">  
                <xs:selector xpath="DiagnosticModule"/>  
                <xs:field xpath="Id"/>  
              </xs:unique>  
            </xs:element>  
            <xs:element name="TracingProfiles" minOccurs="0">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="TracingProfile" type="TracingProfile" maxOccurs="unbounded"/>  
                </xs:sequence>  
              </xs:complexType>  
              <xs:unique name="AxeAssessmentManifestTracingProfilesUniqueProgrammaticNames">  
                <xs:selector xpath="TracingProfile"/>  
                <xs:field xpath="ProgrammaticName"/>  
              </xs:unique>  
            </xs:element>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="ParameterDefinitions" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="ParameterDefinition" type="ParameterDefinition" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
        <xs:unique name="AxeAssessmentManifestParameterDefinitionsUniqueProgrammaticNames">  
          <xs:selector xpath="ParameterDefinition"/>  
          <xs:field xpath="Description/ProgrammaticName"/>  
        </xs:unique>  
      </xs:element>  
  
      <xs:element name="MetricDefinitions" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="MetricDefinition" type="MetricDefinition" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
        <xs:unique name="AxeAssessmentManifestMetricDefinitionsUniqueProgrammaticNames">  
          <xs:selector xpath="MetricDefinition"/>  
          <xs:field xpath="Description/ProgrammaticName"/>  
        </xs:unique>  
      </xs:element>  
  
      <xs:element name="MetricThresholds" type="MetricThresholds" minOccurs="0"/>  
  
      <xs:element name="Execution" type="Execution" minOccurs="0"/>  
  
      <xs:element name="Commands" minOccurs="0">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="ExecuteWorkload" type="Execution" minOccurs="0"/>  
            <xs:element name="AnalyzeFolder" type="Execution" minOccurs="0"/>  
            <xs:element name="AnalyzeTrace" type="Execution" minOccurs="0"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
  
      <xs:element name="LocalizedStringDictionary" type="LocalizedStringDictionary" minOccurs="0"/>  
  
      <xs:element name="PresentationHints" minOccurs="0">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="Columns" type="Columns"/>  
            <xs:element name="PageLink" type="xs:string" minOccurs="0"/>  
            <xs:element name="Pages" minOccurs="0">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="Page" minOccurs="0" maxOccurs="unbounded">  
                    <xs:complexType>  
                      <xs:all>  
                        <xs:element name="Description" type="Description"/>  
                        <xs:element name="Groups" minOccurs="0">  
                          <xs:complexType>  
                            <xs:sequence>  
                              <xs:element name="Group" minOccurs="0" maxOccurs="unbounded">  
                                <xs:complexType>  
                                  <xs:all>  
                                    <xs:element name="Description" minOccurs="0">  
                                      <xs:complexType>  
                                        <xs:all>  
                                          <xs:element name="DisplayName" type="LocalizedString" minOccurs="0"/>  
                                          <xs:element name="ToolTip" type="LocalizedString" minOccurs="0"/>  
                                        </xs:all>  
                                      </xs:complexType>  
                                    </xs:element>  
                                    <xs:element name="Columns" type="Columns"/>  
                                    <xs:element name="PageLink" type="xs:string" minOccurs="0"/>  
                                  </xs:all>  
                                </xs:complexType>  
                              </xs:element>  
                            </xs:sequence>  
                          </xs:complexType>  
                        </xs:element>  
                        <xs:element name="TestCaseTable" minOccurs="0">  
                          <xs:complexType>  
                            <xs:all>  
                              <xs:element name="Description" minOccurs="0">  
                                <xs:complexType>  
                                  <xs:all>  
                                    <xs:element name="DisplayName" type="LocalizedString" minOccurs="0"/>  
                                    <xs:element name="ToolTip" type="LocalizedString" minOccurs="0"/>  
                                  </xs:all>  
                                </xs:complexType>  
                              </xs:element>  
                              <xs:element name="Columns" type="Columns"/>  
                              <xs:element name="PageLink" type="xs:string" minOccurs="0"/>  
                              <xs:element name="TestCaseKey" type="xs:string" minOccurs="0"/>  
                              <xs:element name="Sort" type="xs:string" minOccurs="0"/>  
                              <xs:element name="SortAscending" type="xs:string" minOccurs="0"/>  
                              <xs:element name="GroupBy" type="xs:string" minOccurs="0"/>  
                              <xs:element name="Filter" minOccurs="0">  
                                <xs:complexType>  
                                  <xs:sequence>  
                                    <xs:any processContents="skip"/>  
                                  </xs:sequence>  
                                </xs:complexType>  
                              </xs:element>  
                            </xs:all>  
                          </xs:complexType>  
                        </xs:element>  
                      </xs:all>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>   
    </xs:all>  
    <xs:attribute name="SchemaVersion" type="xs:decimal" use="required" fixed="1.1"/>  
  </xs:complexType>  
  
  
  <xs:complexType name="AssessmentRun">  
    <xs:all>  
      <xs:element name="Id" type="Guid"/>  
      <xs:element name="AssessmentId" type="VersionedId"/>  
      <xs:element name="Name" type="xs:string" minOccurs="0"/>  
      <xs:element name="DisplayName" type="xs:string" minOccurs="0"/>  
      <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
        
      <xs:element name="CommandLine" type="xs:string" minOccurs="0"/>  
        
      <xs:element name="BenchmarkMode" type="xs:string" minOccurs="0"/>  
      <xs:element name="Ordinal" type="xs:string" minOccurs="0"/>  
  
      <xs:element name="ParameterValues" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="ParameterValue" maxOccurs="unbounded">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="ProgrammaticName" type="xs:string"/>  
                  <xs:element name="Value" type="xs:string"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="DiagnosticModules" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="DiagnosticModuleId" maxOccurs="unbounded">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Guid" type="Guid"/>  
                  <xs:element name="Version" type="Version"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="AssessmentRuns" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="AssessmentRun" type="AssessmentRun" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
        <xs:unique name="AssessmentRunsAssessmentRunsUniqueId">  
          <xs:selector xpath="AssessmentRun"/>  
          <xs:field xpath="Id"/>  
        </xs:unique>  
      </xs:element>  
        
    </xs:all>  
      
  </xs:complexType>  
  
  <xs:complexType name="JobParameters">  
    <xs:all>  
      <xs:element name="Image" type="xs:string" minOccurs="0"/>  
      <xs:element name="EarliestStartTime" type="xs:dateTime" minOccurs="0"/>  
      <xs:element name="KeepTempFiles" type="Empty" minOccurs="0"/>  
      <xs:element name="CollectOnly" type="Empty" minOccurs="0"/>  
      <xs:element name="ResultsPublishPath" type="xs:string" minOccurs="0"/>  
      <xs:element name="UserString" type="xs:string" minOccurs="0"/>  
      <xs:element name="StopOnAssessmentError" type="Empty" minOccurs="0"/>  
      <xs:element name="RunSilently" type="Empty" minOccurs="0"/>  
      <xs:element name="SkipMachineConfiguration" type="Empty" minOccurs="0"/>  
      <xs:element name="SolutionUX" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="Normal" type="Empty"/>  
            <xs:element name="Console" type="Empty"/>  
            <xs:element name="Silent" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="JobKind" type="JobKind" minOccurs="0"/>  
      <xs:element name="AssessmentContentRoot" type="xs:string" minOccurs="0"/>  
      <xs:element name="PostExecutionAction" type="Execution" minOccurs="0"/>  
      <xs:element name="BenchmarkMode" type="Empty" minOccurs="0"/>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="AxeJobManifest">  
    <xs:all>  
      <xs:element name="VersionedId" type="VersionedId"/>  
  
      <xs:element name="MinimumAxeVersionRequired">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="Version" type="Version"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Description" type="Description"/>  
  
      <xs:element name="JobParameters" type="JobParameters" minOccurs="0"/>  
        
      <xs:element name="Properties" minOccurs="0">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="LastSavedId" type="Guid" minOccurs="0"/>  
            <xs:element name="LastSavedTimeAndDate" type="xs:dateTime" minOccurs="0"/>  
            <xs:element name="VersionNote" type="xs:string" minOccurs="0"/>  
            <xs:element name="IsTemplate" type="xs:string" minOccurs="0"/>  
            <xs:element name="IconResource" type="xs:string" minOccurs="0"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="AssessmentManifests" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="AxeAssessmentManifest" type="NestedVerificationScope" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="AssessmentRuns" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="AssessmentRun" type="AssessmentRun" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
        <xs:unique name="AxeJobManifestAssessmentRunsUniqueId">  
          <xs:selector xpath="AssessmentRun"/>  
          <xs:field xpath="Id"/>  
        </xs:unique>  
      </xs:element>  
  
      <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
  
      <xs:element name="LocalizedStringDictionary" type="LocalizedStringDictionary" minOccurs="0"/>  
        
    </xs:all>  
    <xs:attribute name="SchemaVersion" type="xs:decimal" use="required" fixed="1.1"/>  
  </xs:complexType>  
  
  
  <xs:complexType name="Error">  
    <xs:all>  
      <xs:element name="Message" type="xs:string"/>  
      <xs:element name="Hresult" type="xs:string" minOccurs="0"/>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="MetricValues">  
    <xs:sequence>  
      <xs:element name="MetricValue" maxOccurs="unbounded">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="ProgrammaticName" type="xs:string"/>  
            <xs:element name="Value" type="xs:string"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>  
  
  <xs:complexType name="Links">  
    <xs:sequence>  
      <xs:element name="Link" maxOccurs="unbounded">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="LinkTitle" type="xs:string"/>  
            <xs:element name="LinkToolTip" type="xs:string" minOccurs="0"/>  
            <xs:element name="LinkURI" type="xs:string"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>  
  
  <xs:complexType name="Issues">  
    <xs:sequence>  
      <xs:element name="Issue" maxOccurs="unbounded">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="IssueTitle" type="xs:string" minOccurs="0"/>  
            <xs:element name="IssueDescription" type="xs:string" minOccurs="0"/>  
            <xs:element name="IssueToolTip" type="xs:string" minOccurs="0"/>  
  
            <xs:element name="Class" type="Description" minOccurs="0"/>  
              
            <xs:element name="Solution" minOccurs="0">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Description" type="xs:string" minOccurs="0"/>  
                  <xs:element name="Links" type="Links" minOccurs="0"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="AnalysisLinks" type="Links" minOccurs="0"/>  
            <xs:element name="AffectedMetrics" minOccurs="0">  
              <xs:complexType >  
                <xs:sequence>  
                  <xs:element name="MetricReference" type="xs:string" maxOccurs="unbounded"/>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="Categories" minOccurs="0">  
              <xs:complexType >  
                <xs:sequence>  
                  <xs:element name="Category" type="xs:string" maxOccurs="unbounded"/>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="EqualityId" type="xs:string" minOccurs="0"/>  
            <xs:element name="TypeID" type="xs:string" minOccurs="0"/>  
            <xs:element name="Impact" minOccurs="0">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="RelatedActivities" minOccurs="0">  
                    <xs:complexType>  
                      <xs:sequence>  
                        <xs:element name="ActivityReference" maxOccurs="unbounded">  
                          <xs:complexType>  
                            <xs:attribute name="ActivityID" type="xs:string" use="required"/>  
                          </xs:complexType>  
                        </xs:element>  
                      </xs:sequence>  
                    </xs:complexType>  
                  </xs:element>  
                  <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
                </xs:all>  
                <xs:attribute name="Severity" type="xs:unsignedInt" use="optional"/>  
              </xs:complexType>  
            </xs:element>  
              
            <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
            <xs:element name="MetricValues" type="MetricValues" minOccurs="0"/>  
          </xs:all>  
  
          <xs:attribute name="TestCase" type="xs:string" use="optional"/>  
  
          <xs:attribute name="Known" type="xs:string" use="optional"/>  
          <xs:attribute name="ID" type="xs:string" use="optional"/>  
  
          <xs:attribute name="Summary" type="xs:string" use="optional"/>  
  
          <xs:attribute name="parentID" type="xs:string" use="optional"/>  
            
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>  
  
  <xs:complexType name="Trace">  
    <xs:all minOccurs="0">  
      <xs:element name="Description" minOccurs="0">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="Name" type="xs:string"/>  
            <xs:element name="ToolTip" type="xs:string" minOccurs="0"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="File">  
        <xs:simpleType>  
          <xs:restriction base="xs:string">  
            <xs:minLength value="1"/>  
          </xs:restriction>  
        </xs:simpleType>  
      </xs:element>  
      <xs:element name="Link" type="xs:string" minOccurs="0"/>  
      <xs:element name="TraceProfiles" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="TraceProfile" type="TraceProfileUsed" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="TraceProfileUsed">  
    <xs:all>  
      <xs:element name="ProgrammaticName" type="xs:string"/>  
      <xs:element name="Guid" type="Guid"/>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="AxeRunInfo">  
    <xs:all>  
      <xs:element name="Error" type="xs:int"/>  
      <xs:element name="ExitCode" type="xs:int" minOccurs="0"/>  
      <xs:element name="ResultsLocation" type="xs:string"/>  
      <xs:element name="Start" type="xs:dateTime"/>  
      <xs:element name="Duration" type="xs:unsignedLong"/>  
      <xs:element name="Reboots" type="xs:unsignedLong"/>  
      <xs:element name="CannotAnalyzeReason" minOccurs="0">  
        <xs:complexType>  
          <xs:choice>  
            <xs:element name="NotSupported" type="Empty"/>  
            <xs:element name="ExecutionFailed" type="Empty"/>  
          </xs:choice>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="ErrorsAndWarnings" type="ErrorsAndWarnings" minOccurs="0" />  
      <xs:element name="LogFiles" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="LogFile" type="xs:string" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
    </xs:all>  
  </xs:complexType>  
  
  <xs:complexType name="AssessmentResult">  
    <xs:all>  
      <xs:element name="Guid" type="Guid"/>  
      <xs:element name="ManifestId" type="VersionedId"/>  
      <xs:element name="ExecutionInfo" type="AxeRunInfo"/>  
      <xs:element name="AnalysisInfo" type="AxeRunInfo" minOccurs="0"/>  
      <xs:element name="ExitCode" type="xs:int" minOccurs="0"/>  
      <xs:element name="ResultsLocation" type="xs:string" minOccurs="0"/>  
      <xs:element name="ErrorsAndWarnings" type="ErrorsAndWarnings" minOccurs="0" />  
      <xs:element name="LogFiles" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="LogFile" type="xs:string" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="Iterations" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Iteration" maxOccurs="unbounded">  
              <xs:complexType>  
                <xs:all>  
                    
                  <xs:element name="Description" type="Description" minOccurs="0"/>  
                    
                  <xs:element name="Activities" minOccurs="0">  
                    <xs:complexType>  
                      <xs:sequence>  
                        <xs:element name="Activity" minOccurs="0" maxOccurs="unbounded">  
                          <xs:complexType>  
                            <xs:all>  
                                
                              <xs:element name="ActivityInstance" type="xs:string" minOccurs="0"/>  
                                
                              <xs:element name="ActivityInstanceDisplayName" type="LocalizedString" minOccurs="0"/>  
  
                              <xs:element name="ActivityClassDisplayName" type="LocalizedString" minOccurs="0"/>  
  
                              <xs:element name="Importance" type="xs:unsignedInt" minOccurs="0"/>  
  
                              <xs:element name="Trace" type="Trace" minOccurs="0"/>  
                                
                              <xs:element name="ActivityTitle" type="xs:string" minOccurs="0"/>  
                              <xs:element name="ActivityDescription" type="xs:string" minOccurs="0"/>  
                              <xs:element name="ActivityClass" type="xs:string" minOccurs="0"/>  
                              <xs:element name="ActivityStartTime" type="xs:double" minOccurs="0"/>  
                              <xs:element name="ActivityEndTime" type="xs:double" minOccurs="0"/>  
                              <xs:element name="ActivityStartThread" type="xs:int" minOccurs="0"/>  
                              <xs:element name="ActivityEndThread" type="xs:int" minOccurs="0"/>  
                              <xs:element name="References" minOccurs="0">  
                                <xs:complexType>  
                                  <xs:sequence>  
                                    <xs:element name="IssueReference" maxOccurs="unbounded">  
                                      <xs:complexType>  
                                        <xs:attribute name="IssueID" type="xs:string" use="required"/>  
                                      </xs:complexType>  
                                    </xs:element>  
                                  </xs:sequence>  
                                </xs:complexType>  
                              </xs:element>  
                            </xs:all>  
                            <xs:attribute name="ID" type="xs:string" use="optional"/>  
                            <xs:attribute name="parentID" type="xs:string" use="optional"/>  
                          </xs:complexType>  
                        </xs:element>  
                      </xs:sequence>  
                    </xs:complexType>  
                  </xs:element>  
                  <xs:element name="MetricValues" type="MetricValues" minOccurs="0">  
                    <xs:unique name="AssessmentResultIterationMetricValuesUniqueProgrammaticName">  
                      <xs:selector xpath="MetricValue"/>  
                      <xs:field xpath="ProgrammaticName"/>  
                    </xs:unique>  
                  </xs:element>  
                  <xs:element name="MetricThresholds" type="MetricThresholds" minOccurs="0"/>  
                  <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
                  <xs:element name="Ordinal" type="xs:unsignedInt" minOccurs="0"/>  
                  <xs:element name="Trace" type="Trace" minOccurs="0"/>  
                  <xs:element name="Issues" type="Issues" minOccurs="0"/>  
                  <xs:element name="TestCases" minOccurs="0">  
                    <xs:complexType>  
                      <xs:sequence>  
                        <xs:element name="TestCase" maxOccurs="unbounded">  
                          <xs:complexType>  
                            <xs:all>  
                              <xs:element name="Key" type="xs:string"/>  
  
                              <xs:element name="ActivityReference" type="xs:string" minOccurs="0" />  
                              <xs:element name="Subject" minOccurs="0">  
                                <xs:complexType>  
                                  <xs:all>  
                                    <xs:element name="Class" type="DescriptionBasic" />  
                                    <xs:element name="Instance" type="DescriptionBasic" minOccurs="0"/>  
                                  </xs:all>  
                                </xs:complexType>  
                              </xs:element>  
  
                              <xs:element name="Name" type="xs:string" minOccurs="0"/>  
                              <xs:element name="ToolTip" type="xs:string" minOccurs="0"/>  
                              <xs:element name="Parents" minOccurs="0">  
                                <xs:complexType>  
                                  <xs:sequence>  
                                    <xs:element name="Parent" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>  
                                  </xs:sequence>  
                                </xs:complexType>  
                              </xs:element>  
                              <xs:element name="MetricValues" type="MetricValues" minOccurs="0">  
                                <xs:unique name="AssessmentResultIterationTestCaseMetricValuesUniqueProgrammaticName">  
                                  <xs:selector xpath="MetricValue"/>  
                                  <xs:field xpath="ProgrammaticName"/>  
                                </xs:unique>  
                              </xs:element>  
                              <xs:element name="MetricThresholds" type="MetricThresholds" minOccurs="0"/>  
                              <xs:element name="Issues" type="Issues" minOccurs="0"/>  
                            </xs:all>  
                          </xs:complexType>  
                        </xs:element>  
                      </xs:sequence>  
                    </xs:complexType>  
                  </xs:element>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="Traces" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Trace" type="Trace" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
      <xs:element name="LocalizedStringDictionary" type="LocalizedStringDictionary" minOccurs="0"/>  
    </xs:all>  
    <xs:attribute name="SchemaVersion" type="xs:decimal" use="required" fixed="1.1"/>  
  </xs:complexType>  
  
    
  <xs:complexType name="AxeJobResults">  
    <xs:all>  
        
      <xs:element name="Id">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Guid" type="Guid"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="MachineConfiguration">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="EcoSysInfo">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Meta">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="JobStartDateTime" type="xs:dateTime"/>  
            <xs:element name="JobDuration" type="xs:unsignedLong"/>  
            <xs:element name="SessionLogFiles" type="xs:string" minOccurs="0"/>  
            <xs:element name="ExecutionGuid" type="Guid"/>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="AnalysisJobInfo">  
        <xs:complexType>  
          <xs:all>  
            <xs:element name="PlatformVersion" type="Version"/>  
            <xs:element name="Details">  
              <xs:complexType>  
                <xs:all>  
                  <xs:element name="Start" type="xs:dateTime"/>  
                  <xs:element name="Duration" type="xs:unsignedLong"/>  
                  <xs:element name="SessionLogFiles" type="xs:string" minOccurs="0"/>  
                </xs:all>  
              </xs:complexType>  
            </xs:element>  
            <xs:element name="ErrorsAndWarnings" type="ErrorsAndWarnings" minOccurs="0" />  
            <xs:element name="AnalysisJobAssessmentManifests">  
              <xs:complexType>  
                <xs:sequence>  
                  <xs:element name="AxeAssessmentManifest" type="NestedVerificationScope" minOccurs="0" maxOccurs="unbounded"/>  
                </xs:sequence>  
              </xs:complexType>  
            </xs:element>  
          </xs:all>  
        </xs:complexType>  
      </xs:element>   
  
      <xs:element name="AxeJobManifest" type="NestedVerificationScope"/>  
  
      <xs:element name="AssessmentResults">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="ErrorsAndWarnings" type="ErrorsAndWarnings" minOccurs="0" />  
            <xs:element name="AssessmentResult" type="NestedVerificationScope" maxOccurs="unbounded"/>  
            <xs:element name="ErrorsAndWarnings" type="ErrorsAndWarnings" minOccurs="0" />  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="SolutionData" type="SolutionData" minOccurs="0"/>  
        
    </xs:all>  
    <xs:attribute name="SchemaVersion" type="xs:decimal" use="required" fixed="1.1"/>  
  </xs:complexType>  
  
</xs:schema>