<!-- IBM_PROLOG_BEGIN_TAG                                                   -->
<!-- This is an automatically generated prolog.                             -->
<!--                                                                        -->
<!-- bos720 src/bos/etc/ewlm/trc/output_schema.xsd 1.1                      -->
<!--                                                                        -->
<!-- Licensed Materials - Property of IBM                                   -->
<!--                                                                        -->
<!-- COPYRIGHT International Business Machines Corp. 2007                   -->
<!-- All Rights Reserved                                                    -->
<!--                                                                        -->
<!-- US Government Users Restricted Rights - Use, duplication or            -->
<!-- disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      -->
<!--                                                                        -->
<!-- IBM_PROLOG_END_TAG                                                     -->
<!-- "@(#)30  1.1  src/bos/etc/ewlm/trc/output_schema.xsd, sysewlm, bos720 3/8/07 09:56:24" -->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:annotation>
<xsd:documentation xml:lang="en">
EWLM ARM Trace Capture Schema
..... (other prolog info) .....
</xsd:documentation>
</xsd:annotation>

<!-- Main trace capture document definition -->
<xsd:element name="ewlmArmTraceCapture" type="ewlmArmTraceCaptureType"/>

<xsd:complexType name="ewlmArmTraceCaptureType">
<xsd:sequence>
<xsd:element name="traceSummary" type="traceSummaryType"/>
<xsd:element name="sysInfo" type="sysInfoType"/>
<xsd:element name="activationInfo" type="activationInfoType"/>
<xsd:element name="traceRecord" type="traceRecordType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence> 
<xsd:attribute name="captureVersion" type="xsd:decimal" default="1.0"/>
</xsd:complexType>

<!-- Trace capture sub-document definitions -->
<xsd:complexType name="traceSummaryType">
    <xsd:attribute name="activationTime" type="xsd:dateTime" use="required"/>
    <xsd:attribute name="deactivationTime" type="xsd:dateTime" use="required"/>
    <xsd:attribute name="conversionTime" type="xsd:dateTime" use="required"/>
    <xsd:attribute name="numTraceRecords" type="xsd:unsignedInt" use="required"/>
<xsd:attribute name="numLostRecords" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="maxSizeMB" type="xsd:unsignedInt" use="optional"/>
<xsd:attribute name="maxSizeOccurred" type="xsd:boolean" use="optional"/>
<xsd:attribute name="configVersion" type="xsd:decimal" default="1.0"/>
    <xsd:attribute name="title" type="xsd:string" use="required"/>
</xsd:complexType>

<xsd:complexType name="sysInfoType">
<xsd:attribute  name="OStype" type="xsd:string" use="required"/>
    <xsd:attribute name="OSlevel" type="xsd:string" use="required"/>
    <xsd:attribute name="ewlmSysID" type="ewlmShortSysIDType" use="required"/>
    <xsd:attribute name="conversionOSname" type="xsd:string" use="required"/>
    <xsd:attribute name="conversionOSlevel" type="xsd:string" use="required"/>
<xsd:attribute name="OSname" type="xsd:string" use="required"/>
<xsd:attribute name="OSarmLevel" type="xsd:decimal" default="4.0"/>
</xsd:complexType>

<xsd:complexType name="activationInfoType">
<xsd:all>
<xsd:element name="activationOptions" type="activationOptionsType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tracedApplication" type="tracedApplicationType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
    <xsd:attribute name="traceLevel" type="traceLevelType" use="required"/>
</xsd:complexType>

<xsd:simpleType name="traceLevelType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ALL_SPARSE"/>
<xsd:enumeration value="ALL_VERBOSE"/>
<xsd:enumeration value="TRAN_CLASS"/>
<xsd:enumeration value="CORRELATION"/>
<xsd:enumeration value="COMPL_TRAN"/>
<xsd:enumeration value="ARM_TIMINGS"/>
<xsd:enumeration value="ADAP_SPARSE"/>
<xsd:enumeration value="ADAP_VERBOSE"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="activationOptionsType">
<xsd:attribute name="applReg" type="xsd:string" use="optional"/>
    <xsd:attribute name="TODstart" type="xsd:string" use="optional"/>
    <xsd:attribute name="duration" type="xsd:nonNegativeInteger" use="optional"/>
    <xsd:attribute name="tranSampling" type="tranSamplingType" use="optional"/>
</xsd:complexType>

<xsd:simpleType name="tranSamplingType">
<xsd:restriction base="xsd:short">
<xsd:enumeration value="1"/>
<xsd:enumeration value="2"/>
<xsd:enumeration value="5"/>
<xsd:enumeration value="10"/>
<xsd:enumeration value="25"/>
<xsd:enumeration value="50"/>
<xsd:enumeration value="100"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="tracedApplicationType">
<xsd:all>
<xsd:element name="applicationGroup" type="applicationGroupType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
    <xsd:attribute name="appl_name" type="armRegApplNameType" use="required"/>
</xsd:complexType>

<xsd:complexType name="applicationGroupType">
<xsd:all>
<xsd:element name="applicationInstance" type="applicationInstanceType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
    <xsd:attribute  name="group_name" type="armApplGroupNameType" use="required"/>
</xsd:complexType>

<xsd:complexType name="applicationInstanceType">
<xsd:attribute name="instance_name" type="armApplInstanceNameType" use="required"/>
<xsd:attribute name="tran_name" type="armRegTranNameType" use="optional"/>
</xsd:complexType>

<!-- General trace record sub-document definition -->
<xsd:complexType name="traceRecordType">
<xsd:sequence>
<xsd:element name="applProcessID" type="applProcessIDType" />
<xsd:element name="threadID" type="threadIDType"/>
<xsd:element name="linkToken" type="linkTokenType"/>
<xsd:element name="ewlmDiagText" type="ewlmDiagTextType" minOccurs="0" maxOccurs="2"/>
<xsd:element name="ewlmDiagHex" type="ewlmDiagHexType" minOccurs="0" maxOccurs="2"/>
<xsd:element name="recordData">
<xsd:complexType>
<xsd:choice>
<xsd:element name="armRegApplEntryRecord" type="armRegApplEntryRecType"/>
<xsd:element name="armRegApplExitRecord" type="armRegApplExitRecType"/>
<xsd:element name="armDestroyApplEntryRecord" type="armDestroyApplEntryRecType"/>
<xsd:element name="armDestroyApplExitRecord" type="armDestroyApplExitRecType"/>
<xsd:element name="armStartApplEntryRecord" type="armStartApplEntryRecType"/>
<xsd:element name="armStartApplExitRecord" type="armStartApplExitRecType"/>
<xsd:element name="armStopApplEntryRecord" type="armStopApplEntryRecType"/>
<xsd:element name="armStopApplExitRecord" type="armStopApplExitRecType"/>
<xsd:element name="armRegTranEntryRecord" type="armRegTranEntryRecType"/>
<xsd:element name="armRegTranExitRecord" type="armRegTranExitRecType"/>
<xsd:element name="armStartTranEntryRecord" type="armStartTranEntryRecType"/>
<xsd:element name="armStartTranExitRecord" type="armStartTranExitRecType"/>
<xsd:element name="armStopTranEntryRecord" type="armStopTranEntryRecType"/>
<xsd:element name="armStopTranExitRecord" type="armStopTranExitRecType"/>
<xsd:element name="armBlockTranEntryRecord" type="armBlockTranEntryRecType"/>
<xsd:element name="armBlockTranExitRecord" type="armBlockTranExitRecType"/>
<xsd:element name="armUnblockTranEntryRecord" type="armUnblockTranEntryRecType"/>
<xsd:element name="armUnblockTranExitRecord" type="armUnblockTranExitRecType"/>
<xsd:element name="armUpdateTranEntryRecord" type="armUpdateTranEntryRecType"/>
<xsd:element name="armUpdateTranExitRecord" type="armUpdateTranExitRecType"/>
<xsd:element name="armDiscardTranEntryRecord" type="armDiscardTranEntryRecType"/>
<xsd:element name="armDiscardTranExitRecord" type="armDiscardTranExitRecType"/>
<xsd:element name="armBindThreadEntryRecord" type="armBindThreadEntryRecType"/>
<xsd:element name="armBindThreadExitRecord" type="armBindThreadExitRecType"/>
<xsd:element name="armUnbindThreadEntryRecord" type="armUnbindThreadEntryRecType"/>
<xsd:element name="armUnbindThreadExitRecord" type="armUnbindThreadExitRecType"/>
<xsd:element name="armGenCorrEntryRecord" type="armGenCorrEntryRecType"/>
<xsd:element name="armGenCorrExitRecord" type="armGenCorrExitRecType"/>
<xsd:element name="armReportTranEntryRecord" type="armReportTranEntryRecType"/>
<xsd:element name="armReportTranExitRecord" type="armReportTranExitRecType"/>
<xsd:element name="armRegMetricEntryRecord" type="armRegMetricEntryRecType"/>
<xsd:element name="armRegMetricExitRecord" type="armRegMetricExitRecType"/>
<xsd:element name="ewlmClassifyCorrEntryRecord" type="ewlmClassifyCorrEntryRecType"/>
<xsd:element name="ewlmClassifyCorrExitRecord" type="ewlmClassifyCorrExitRecType"/>
<xsd:element name="armRegApplAdapRecord" type="armRegApplAdapRecType"/>
<xsd:element name="armDestroyApplAdapRecord" type="armDestroyApplAdapRecType"/>
<xsd:element name="armStartApplAdapRecord" type="armStartApplAdapRecType"/>
<xsd:element name="armStopApplAdapRecord" type="armStopApplAdapRecType"/>
<xsd:element name="armRegTranAdapRecord" type="armRegTranAdapRecType"/>
<xsd:element name="armStartTranAdapRecord" type="armStartTranAdapRecType"/>
<xsd:element name="armStopTranAdapRecord" type="armStopTranAdapRecType"/>
<xsd:element name="armBlockTranAdapRecord" type="armBlockTranAdapRecType"/>
<xsd:element name="armUnblockTranAdapRecord" type="armUnblockTranAdapRecType"/>
<xsd:element name="armUpdateTranAdapRecord" type="armUpdateTranAdapRecType"/>
<xsd:element name="armDiscardTranAdapRecord" type="armDiscardTranAdapRecType"/>
<xsd:element name="armBindThreadAdapRecord" type="armBindThreadAdapRecType"/>
<xsd:element name="armUnbindThreadAdapRecord" type="armUnbindThreadAdapRecType"/>
<xsd:element name="armGenCorrAdapRecord" type="armGenCorrAdapRecType"/>
<xsd:element name="armReportTranAdapRecord" type="armReportTranAdapRecType"/>
<xsd:element name="armRegMetricAdapRecord" type="armRegMetricAdapRecType"/>
<xsd:element name="ewlmInternalBlockedTimeRecord" type="ewlmInternalBlockedTimeRecType"/>
<xsd:element name="ewlmInternalDiscardedTransRecord" type="ewlmInternalDiscardedTransRecType"/>
<xsd:element name="ewlmAlreadyRegApplRecord" type="ewlmAlreadyRegApplRecType"/>
<xsd:element name="ewlmAlreadyStartApplRecord" type="ewlmAlreadyStartApplRecType"/>
<xsd:element name="ewlmAlreadyRegTranRecord" type="ewlmAlreadyRegTranRecType"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="traceRecordTimestamp" type="xsd:dateTime" use="required"/>
</xsd:complexType>

<!-- Individual trace records content definition -->
<xsd:complexType name="armRegApplEntryRecType">
<xsd:all>
<xsd:element name="identityProperties" type="armIdentityPropertiesType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Application Entry" use="required"/>
    <xsd:attribute name="applName" type="armRegApplNameType" use="required"/>
    <xsd:attribute name="inApplID" type="armIDType" use="optional"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
    <xsd:attribute name="applCharset" type="ianaMIBenumType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="armRegApplExitRecType">
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Application Exit"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
    <xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
</xsd:complexType>

<xsd:complexType name="armDestroyApplEntryRecType">
    <xsd:all>
<xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
        </xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Destroy Application Entry"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
</xsd:complexType>

<xsd:complexType name="armDestroyApplExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Destroy Application Exit"/>
</xsd:complexType>

<xsd:complexType name="armStartApplEntryRecType">
<xsd:all>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="contextPropertyValues" type="armContextPropertyValuesType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Start Application Entry"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
    <xsd:attribute name="groupName" type="armApplGroupNameType" use="optional"/>
    <xsd:attribute name="instanceName" type="armApplInstanceNameType" use="optional"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
    <xsd:attribute name="sysAddrBuffer" type="xsd:boolean" use="optional"/>
</xsd:complexType>

<xsd:complexType name="armStartApplExitRecType">
<xsd:attribute name="applHandle" type="armHandleType" use="required"/>
<xsd:attribute name="assignedAEID" type="ewlmAEIDType" use="optional"/>
<xsd:attribute name="assignedAIID" type="ewlmAIIDType" use="optional"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Start Application Exit"/>
</xsd:complexType>

<xsd:complexType name="armStopApplEntryRecType">
    <xsd:all>
<xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Stop Application Entry"/>
    <xsd:attribute name="applHandle" type="armHandleType" use="required"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="armStopApplExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Stop Application Exit"/>
</xsd:complexType>

<xsd:complexType name="armRegTranEntryRecType">
<xsd:all>
<xsd:element name="identityProperties" type="armIdentityPropertiesType" minOccurs="0" maxOccurs="1"/>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Transaction Entry"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
    <xsd:attribute name="tranName" type="armRegTranNameType" use="required"/>
    <xsd:attribute name="inTranID" type="armIDType" use="optional"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
</xsd:complexType>
<xsd:complexType name="armRegTranExitRecType">
<xsd:attribute name="tranID" type="armIDType" use="required"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armStartTranEntryRecType">
<xsd:all>
<xsd:element name="contextPropertyValues" type="armContextPropertyValuesType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="userInfo" type="armUserInfoType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="networkClassData" type="ewlmSocketClassificationType" minOccurs="0" maxOccurs="1"/>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Start Transaction Entry"/>
    <xsd:attribute name="applHandle" type="armHandleType" use="required"/>
    <xsd:attribute name="tranID" type="armIDType" use="required"/>
    <xsd:attribute name="parentCorr" type="armCorrType" use="optional"/>
    <xsd:attribute name="arrivalTime" type="ewlmTimestampFormatType" use="optional"/>
    <xsd:attribute name="tranStartTime" type="ewlmTimestampFormatType" use="optional"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="armStartTranExitRecType">
<xsd:all>
<xsd:element name="networkClassData" type="ewlmSocketClassificationType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Start Transaction Exit"/>
    <xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
    <xsd:attribute name="currentCorr" type="armCorrType" use="optional"/>
    <xsd:attribute name="tranClass" type="ewlmTranClassType" use="optional"/>
    <xsd:attribute name="tranStartTime" type="ewlmTimestampFormatType" use="optional"/>
    <xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
</xsd:complexType>

<xsd:complexType name="armStopTranEntryRecType">
    <xsd:all>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="tranStatus" type="armTranStatusType" use="required"/>
<xsd:attribute name="tranStopTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Stop Transaction Entry"/>
</xsd:complexType>

<xsd:complexType name="armStopTranExitRecType">
<xsd:attribute name="tranStopTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Stop Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armBlockTranEntryRecType">
<xsd:all>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="blockStartTime" type="ewlmTimestampFormatType" use="optional"/>

<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Block Transaction Entry"/>
</xsd:complexType>

<xsd:complexType name="armBlockTranExitRecType">
<xsd:attribute name="blockHandle" type="armHandleType" use="required"/>
<xsd:attribute name="blockStartTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Block Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armUnblockTranEntryRecType">
    <xsd:all>
        <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="blockHandle" type="armHandleType" use="required"/>
<xsd:attribute name="blockStopTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Unblock Transaction Entry"/>
</xsd:complexType>

<xsd:complexType name="armUnblockTranExitRecType">
<xsd:attribute name="blockStopTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Unblock Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armUpdateTranEntryRecType">
    <xsd:all>
        <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Update Transaction Entry"/>
</xsd:complexType>

<xsd:complexType name="armUpdateTranExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Update Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armDiscardTranEntryRecType">
    <xsd:all>
        <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Discard Transaction Entry"/>
</xsd:complexType>

<xsd:complexType name="armDiscardTranExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Discard Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armBindThreadEntryRecType">
    <xsd:all>
        <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Bind Thread Entry"/>
</xsd:complexType>

<xsd:complexType name="armBindThreadExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Bind Thread Exit"/>
</xsd:complexType>

<xsd:complexType name="armUnbindThreadEntryRecType">
    <xsd:all>
        <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="tranHandle" type="armHandleType" use="required"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Unbind Thread Entry"/>
</xsd:complexType>

<xsd:complexType name="armUnbindThreadExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Unbind Thread Exit"/>
</xsd:complexType>

<xsd:complexType name="armGenCorrEntryRecType">
<xsd:all>
<xsd:element name="contextPropertyValues" type="armContextPropertyValuesType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="userInfo" type="armUserInfoType" minOccurs="0" maxOccurs="1"/>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Generate Correlator Entry"/>
 <xsd:attribute name="applHandle" type="armHandleType" use="required"/>
 <xsd:attribute name="tranID" type="armIDType" use="required"/>
  <xsd:attribute name="parentCorr" type="armCorrType" use="optional"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="armGenCorrExitRecType">
<xsd:attribute name="currentCorr" type="armCorrType" use="optional"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Generate Correlator Exit"/>
</xsd:complexType>

<xsd:complexType name="armReportTranEntryRecType">
<xsd:all>
<xsd:element name="contextPropertyValues" type="armContextPropertyValuesType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="userInfo" type="armUserInfoType" minOccurs="0" maxOccurs="1"/>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Report Transaction Entry"/>
    <xsd:attribute name="applHandle" type="armHandleType" use="required"/>
    <xsd:attribute name="tranID" type="armIDType" use="required"/>
    <xsd:attribute name="tranStatus" type="armTranStatusType" use="required"/>
    <xsd:attribute name="responseTime" type="armResponseTimeType" use="optional"/>
    <xsd:attribute name="stopTime" type="armStopTimeType" use="optional"/>
    <xsd:attribute name="parentCorr" type="armCorrType" use="optional"/>
    <xsd:attribute name="currentCorr" type="armCorrType" use="optional"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="armReportTranExitRecType">
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Report Transaction Exit"/>
</xsd:complexType>

<xsd:complexType name="armRegMetricEntryRecType">
    <xsd:all>   
        <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="inMetricID" type="armIDType" use="optional"/>
<xsd:attribute name="applID" type="armIDType" use="required"/>
<xsd:attribute name="metricName" type="armRegMetricNameType" use="required"/>
<xsd:attribute name="metricFormat" type="armMetricFormatType" use="optional"/>
<xsd:attribute name="metricUsage" type="armMetricUsageType" use="optional"/>
<xsd:attribute name="metricUnit" type="armMetricUnitType" use="optional"/>
<xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Metric Entry"/>
</xsd:complexType>

<xsd:complexType name="armRegMetricExitRecType">
<xsd:attribute name="metricID" type="armIDType" use="required"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Metric Exit"/>
</xsd:complexType>

<xsd:complexType name="ewlmClassifyCorrEntryRecType">
<xsd:all>
<xsd:element name="contextPropertyValues" type="armContextPropertyValuesType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="userInfo" type="armUserInfoType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="networkClassData" type="ewlmSocketClassificationType" minOccurs="0" maxOccurs="1"/>
    <xsd:element name="buff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="EWLM Classify Correlator Entry"/>
    <xsd:attribute name="applHandle" type="armHandleType" use="required"/>
    <xsd:attribute name="tranID" type="armIDType" use="required"/>
    <xsd:attribute name="inFlags" type="armAPIflagsType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="ewlmClassifyCorrExitRecType">
<xsd:attribute name="classifyCorr" type="armCorrType" use="optional"/>
<xsd:attribute name="tranClass" type="ewlmTranClassType" use="optional"/>
<xsd:attribute name="returnCode" type="armRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="EWLM Classify Correlator Exit"/>
</xsd:complexType>

<xsd:complexType name="armRegApplAdapRecType">
 <xsd:all>
     <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
 </xsd:all>
<xsd:attribute name="armAPIinApplID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIapplName" type="armRegApplNameType" use="optional"/>
<xsd:attribute name="ewlmAssignedApplID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Application Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armDestroyApplAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Destroy Application Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armStartApplAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplID" type="armIDType" use="optional"/>
<xsd:attribute name="ewlmAssignedApplHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIapplGroupName" type="armApplGroupNameType" use="optional"/>
<xsd:attribute name="armAPIapplInstanceName" type="armApplInstanceNameType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Start Application Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armStopApplAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Stop Application Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armRegTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIinTranID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIapplID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPItranName" type="armRegTranNameType" use="optional"/>
<xsd:attribute name="ewlmAssignedTranID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armStartTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPItranID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIparentCorr" type="armCorrType" use="optional"/>
<xsd:attribute name="parentCorrSuffixOffset" type="ewlmAdapCorrSuffixOffsetType" use="optional"/>
<xsd:attribute name="ewlmAssignedTranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="ewlmAssignedTranStartTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="ewlmAssignedTranClass" type="ewlmTranClassType" use="optional"/>
<xsd:attribute name="ewlmAssignedHopCount" type="ewlmHopCountType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapFlags" type="ewlmAdapOutflagsType" use="required"/>
<xsd:attribute name="outAdapCorrSuffixLen" type="ewlmAdapCorrSuffixLenType" use="required"/>
<xsd:attribute name="outAdapCorrSuffix" type="armCorrType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Start Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armStopTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPItranStatus" type="armTranStatusType" use="optional"/>
<xsd:attribute name="ewlmAssignedTranStopTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Stop Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armBlockTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="ewlmAssignedBlockHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="ewlmAssignedBlockStartTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Block Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armUnblockTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIblockHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="ewlmAssignedBlockStopTime" type="ewlmTimestampFormatType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Unblock Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armUpdateTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Update Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armDiscardTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Discard Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armBindThreadAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Bind Thread Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armUnbindThreadAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPItranHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Unbind Thread Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armGenCorrAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPItranID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIparentCorr" type="armCorrType" use="optional"/>
<xsd:attribute name="parentCorrSuffixOffset" type="ewlmAdapCorrSuffixOffsetType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapFlags" type="ewlmAdapOutflagsType" use="required"/>
<xsd:attribute name="outAdapCorrSuffixLen" type="ewlmAdapCorrSuffixLenType" use="required"/>
<xsd:attribute name="outAdapCorrSuffix" type="armCorrType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Generate Correlator Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armReportTranAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplHandle" type="armHandleType" use="optional"/>
<xsd:attribute name="armAPItranID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPItranStatus" type="armTranStatusType" use="optional"/>
<xsd:attribute name="armAPIresponseTime" type="armResponseTimeType" use="optional"/>
<xsd:attribute name="armAPIstopTime" type="armStopTimeType" use="optional"/>
<xsd:attribute name="armAPIparentCorr" type="armCorrType" use="optional"/>
<xsd:attribute name="parentCorrSuffixOffset" type="ewlmAdapCorrSuffixOffsetType" use="optional"/>
<xsd:attribute name="armAPIcurrentCorr" type="armCorrType" use="optional"/>
<xsd:attribute name="currentCorrSuffixOffset" type="ewlmAdapCorrSuffixOffsetType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Report Transaction Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="armRegMetricAdapRecType">
    <xsd:all>
        <xsd:element name="armAPIbuff4Addr" type="storageAddrType" minOccurs="0" maxOccurs="1"/>
    </xsd:all>
<xsd:attribute name="armAPIapplID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPImetricName" type="armRegMetricNameType" use="optional"/>
<xsd:attribute name="armAPImetricFormat" type="armMetricFormatType" use="optional"/>
<xsd:attribute name="armAPImetricUsage" type="armMetricUsageType" use="optional"/>
<xsd:attribute name="armAPImetricUnit" type="armMetricUnitType" use="optional"/>
<xsd:attribute name="armAPIinMetricID" type="armIDType" use="optional"/>
<xsd:attribute name="armAPIflags" type="armAPIflagsType" use="optional"/>
<xsd:attribute name="outAdapMetricID" type="armIDType" use="required"/>
<xsd:attribute name="outAdapReturnCode" type="ewlmAdapRetCodeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="ARM Register Metric Adapter Callout"/>
</xsd:complexType>

<xsd:complexType name="ewlmInternalBlockedTimeRecType">
<xsd:attribute name="blockedIntervalTime" type="ewlmMeasuredTimeType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="EWLM Implicit Blocked Time Calculation"/>
</xsd:complexType>

<xsd:complexType name="ewlmInternalDiscardedTransRecType">
<xsd:attribute name="discardCount" type="ewlmDiscardedCountType" use="required"/>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="EWLM Implicitly Discarded Transactions"/>
</xsd:complexType>

<xsd:complexType name="ewlmAlreadyRegApplRecType">
<xsd:all>
<xsd:element name="identityProperties" type="armIdentityPropertiesType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="Already ARM Registered Application"/>
    <xsd:attribute name="applName" type="armRegApplNameType" use="required"/>
    <xsd:attribute name="applCharset" type="ianaMIBenumType" use="optional"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
</xsd:complexType>

<xsd:complexType name="ewlmAlreadyStartApplRecType">
<xsd:all>
<xsd:element name="contextPropertyValues" type="armContextPropertyValuesType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="Already ARM Started Application"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
    <xsd:attribute name="groupName" type="armApplGroupNameType" use="optional"/>
    <xsd:attribute name="instanceName" type="armApplInstanceNameType" use="optional"/>
    <xsd:attribute name="sysAddrBuffer" type="xsd:boolean" use="optional"/>
    <xsd:attribute name="applHandle" type="armHandleType" use="required"/>
    <xsd:attribute name="assignedAEID" type="ewlmAEIDType" use="optional"/>
    <xsd:attribute name="assignedAIID" type="ewlmAIIDType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="ewlmAlreadyRegTranRecType">
<xsd:all>
<xsd:element name="identityProperties" type="armIdentityPropertiesType" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:attribute name="recordTitle" type="xsd:string" fixed="Already ARM Registered Transaction"/>
    <xsd:attribute name="applID" type="armIDType" use="required"/>
    <xsd:attribute name="tranName" type="armRegTranNameType" use="required"/>
    <xsd:attribute name="tranID" type="armIDType" use="required"/>
</xsd:complexType>

<!-- Types:  ARM standard based -->
<xsd:simpleType name="armRegApplNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="127"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armApplGroupNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armApplInstanceNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armRegTranNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="127"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armRegMetricNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="127"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="armIdentityPropertiesType">
<xsd:sequence>
<xsd:element name="identityProperty" type="identityPropertyType" minOccurs="0" maxOccurs="20"/>
<xsd:element name="contextPropertyName" type="armPropertyNameType" minOccurs="0" maxOccurs="20"/>
</xsd:sequence>
<xsd:attribute name="identityURI" type="armURIstringType" use="optional"/>
</xsd:complexType>

<xsd:complexType name="identityPropertyType">
    <xsd:attribute name="identityPropertyName" type="armPropertyNameType" use="required"/>
    <xsd:attribute name="identityPropertyValue" type="armPropertyValueType" use="required"/>
</xsd:complexType>

<xsd:complexType name="armContextPropertyValuesType">
<xsd:sequence>
<xsd:element name="contextPropertyValue" type="armPropertyValueType" minOccurs="0" maxOccurs="20"/>
</xsd:sequence>
<xsd:attribute name="contextURI" type="armURIstringType" use="optional"/>
</xsd:complexType>

<xsd:simpleType name="armPropertyNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="127"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armPropertyValueType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armURIstringType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="4096"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="armUserInfoType">
<xsd:attribute name="armUserName" type="armUserNameType" use="optional"/>
<xsd:attribute name="armUserID" type="armUserIDType" use="optional"/>
</xsd:complexType>

<xsd:simpleType name="armUserNameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="127"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armUserIDType">
<xsd:restriction base="xsd:hexBinary">
<xsd:minLength value="0"/>
<xsd:maxLength value="16"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armCorrType">
<xsd:restriction base="xsd:hexBinary">
<xsd:minLength value="0"/>
<xsd:maxLength value="512"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armRetCodeType">
    <xsd:restriction base="xsd:int"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armCorrLenType">
    <xsd:restriction base="xsd:unsignedShort"></xsd:restriction>
 </xsd:simpleType>

<xsd:simpleType name="armIDType">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="16"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armHandleType">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="8"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armTranStatusType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="GOOD"/>
<xsd:enumeration value="ABORTED"/>
<xsd:enumeration value="FAILED"/>
<xsd:enumeration value="UNKNOWN"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armAPIflagsType">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="4"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armStopTimeType">
    <xsd:restriction base="xsd:long"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armResponseTimeType">
    <xsd:restriction base="xsd:long"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armMetricFormatType">
    <xsd:restriction base="xsd:unsignedByte"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armMetricUsageType">
    <xsd:restriction base="xsd:short"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="armMetricUnitType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="127"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ianaMIBenumType">
    <xsd:restriction base="xsd:int"></xsd:restriction>
</xsd:simpleType>

<!-- Types:  EWLM product based -->
<xsd:simpleType name="ewlmShortSysIDType">
    <xsd:restriction base="xsd:short"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmTimestampFormatType">
    <xsd:restriction base="xsd:unsignedLong"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmMeasuredTimeType">
    <xsd:restriction base="xsd:unsignedLong"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmAEIDType">
    <xsd:restriction base="xsd:hexBinary">
        <xsd:length value="8"/>
    </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmAIIDType">
    <xsd:restriction base="xsd:hexBinary">
        <xsd:length value="8"/>
    </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmTranClassType">
    <xsd:restriction base="xsd:short"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmHopCountType">
    <xsd:restriction base="xsd:short"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmInternalIDType">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="8"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="ewlmSocketClassificationType">
<xsd:attribute name="socketDescriptor" type="xsd:unsignedLong" use="required"/>
<xsd:attribute name="networkClassification" type="xsd:unsignedByte" use="required"/>
<xsd:attribute name="networkClassValid" type="xsd:boolean" use="required"/>
</xsd:complexType>

<xsd:simpleType name="ewlmDiscardedCountType">
    <xsd:restriction base="xsd:unsignedInt"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmAdapRetCodeType">
    <xsd:restriction base="xsd:int"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmAdapCorrSuffixLenType">
    <xsd:restriction base="xsd:unsignedByte"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmAdapCorrSuffixOffsetType">
    <xsd:restriction base="xsd:unsignedShort"></xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmAdapOutflagsType">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="4"/>
</xsd:restriction>
</xsd:simpleType>

<!-- Types:  other -->
<xsd:complexType name="linkTokenType">
<xsd:choice>
<xsd:element name="linkToken16Type" type="xsd:short"/>
<xsd:element name="linkToken32Type" type="xsd:int"/>
<xsd:element name="linkToken64Type" type="xsd:long"/>
</xsd:choice>
</xsd:complexType>

<xsd:simpleType name="ewlmDiagTextType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="ewlmDiagHexType">
<xsd:attribute name="ewlmDiagHexLabel" type="ewlmDiagHexLabelType" use="required"/>
<xsd:attribute name="ewlmDiagHexData" type="ewlmDiagHexDataType" use="required"/>
</xsd:complexType>

<xsd:simpleType name="ewlmDiagHexLabelType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="32"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ewlmDiagHexDataType">
<xsd:restriction base="xsd:hexBinary">
<xsd:minLength value="1"/>
<xsd:maxLength value="256"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="applProcessIDType">
<xsd:choice>
<xsd:element name="unixPID" type="xsd:unsignedInt"/>
<xsd:element name="i5Jobname" type="i5JobnameType"/>
<xsd:element name="zOSAsid" type="xsd:unsignedInt"/>
</xsd:choice>
</xsd:complexType>

<xsd:simpleType name="i5JobnameType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
<xsd:maxLength value="28"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="threadIDType">
<xsd:choice>
<xsd:element name="unixThreadID" type="xsd:unsignedInt"/>
<xsd:element name="i5ThreadID" type="xsd:unsignedLong"/>
<xsd:element name="zOSThreadID" type="zOSThreadIDType"/>
</xsd:choice>
</xsd:complexType>

<xsd:complexType name="zOSThreadIDType">
<xsd:choice>
<xsd:element name="tcbAddr" type="storageAddrType"/>
<xsd:element name="uSSthreadID" type="xsd:unsignedInt"/>
</xsd:choice>
</xsd:complexType>

<xsd:complexType name="storageAddrType">
<xsd:choice>
<xsd:element name="storageAddrZseries31" type="storageAddrZseries31Type"/>
<xsd:element name="storageAddr32" type="storageAddr32Type"/>
<xsd:element name="storageAddr64" type="storageAddr64Type"/>
</xsd:choice>
</xsd:complexType>

<xsd:simpleType name="storageAddrZseries31Type">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="4"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="storageAddr32Type">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="4"/>
</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="storageAddr64Type">
<xsd:restriction base="xsd:hexBinary">
<xsd:length value="8"/>
</xsd:restriction>
</xsd:simpleType>

</xsd:schema>

