<!-- IBM_PROLOG_BEGIN_TAG                                                   -->
<!-- This is an automatically generated prolog.                             -->
<!--                                                                        -->
<!-- bos720 src/bos/etc/ewlm/trc/config_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                                                     -->
<!-- "@(#)33  1.1  src/bos/etc/ewlm/trc/config_schema.xsd, sysewlm, bos720 3/8/07 10:19:16" -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      EWLM ARM Trace Configuration Schema
      ..... (other prolog info) .....
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="ewlmArmServiceabilityConfig" type="ewlmArmServiceabilityConfigType"/>
  
  <xsd:complexType name="ewlmArmServiceabilityConfigType">
      <xsd:all>      
        <xsd:element name="activationOptions" type="activationOptionsType" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="tracedApplication" type="tracedApplicationType" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="outputFile" type="outputFileType"/>
      </xsd:all>
      <xsd:attribute name="title" type="traceConfigurationTitleType"/>
      <xsd:attribute name="traceLevel" type="traceLevelType"/>
      <xsd:attribute name="configVersion" type="xsd:decimal" default="1.0"/>      
  </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="outputFileType">
      <xsd:attribute name="destinationDir" type="destinationDirType"/>
      <xsd:attribute name="destinationFileName" type="destinationFileNameType"/>
      <xsd:attribute name="maxSizeMB" type="xsd:unsignedInt"/>
  </xsd:complexType>
  
  <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"/>    
  </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"/>    
  </xsd:complexType>
  
  <xsd:complexType name="applicationInstanceType">
    <xsd:attribute name="tran_name" type="armRegTranNameType" use="optional"/>
    <xsd:attribute name="instance_name" type="armApplInstanceNameType"/>    
  </xsd:complexType>
  
  <xsd:simpleType name="traceConfigurationTitleType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="127"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <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="destinationFileNameType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="256"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <xsd:simpleType name="destinationDirType">
    <xsd:restriction base="xsd:string">
      <xsd:minLength value="1"/>    
      <xsd:maxLength value="1024"/>
    </xsd:restriction>
  </xsd:simpleType>
  
</xsd:schema>

