<?xml version="1.0"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <!-- Elastic Batch Platform Configuration -->
  
  <!-- definition of simple types -->
  <xs:element name="global"/>
  
  <!-- definition of attributes -->
  
  <xs:attribute name="timestamp" type="xs:string"/>
  <xs:attribute name="status" type="xs:positiveInteger"/>
  <xs:attribute name="code" type="xs:string"/>
  <xs:attribute name="n" type="xs:positiveInteger"/>
  <xs:attribute name="class" type="xs:string"/>
  <xs:attribute name="help" type="xs:string"/>
  
  <!-- definition of complex types -->  
  <xs:complexType name="jobtype">
    <xs:sequence>
      <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
      <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
      <xs:element name="job" type="xs:positiveInteger"/>
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="configtype">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute ref="help"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="confignametype">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="name" type="xs:string"/>
        <xs:attribute ref="help"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="configclasstype">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="class" type="xs:string"/>
        <xs:attribute ref="help"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="configpathtype">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute ref="n"/>
        <xs:attribute ref="help"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  
  <xs:simpleType name="classtype" final="restriction" >
    <xs:restriction base="xs:string">
      <xs:enumeration value="JCL" />
      <xs:enumeration value="JCS" />
      <xs:enumeration value="JEC" />
      <xs:enumeration value="COBOL" />
      <xs:enumeration value="JAVA" />
      <xs:enumeration value="PYTHON" />
      <xs:enumeration value="SCRIPT" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="flushtype" final="restriction" >
    <xs:restriction base="xs:string">
      <xs:enumeration value="ALLFLUSH" />
      <xs:enumeration value="ANYFLUSH" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="modtype" final="restriction" >
    <xs:restriction base="xs:string">
      <xs:enumeration value="FAIL" />
      <xs:enumeration value="FLUSH" />
      <xs:enumeration value="SATISFY" />
    </xs:restriction>
  </xs:simpleType>
  
  <!-- definition of complex elements -->
  <xs:element name="error">
    <xs:complexType>
      <xs:attribute ref="status"/>
      <xs:attribute ref="code"/>
    </xs:complexType>
  </xs:element>

  <!-- definition of EBP service requests -->

  <xs:element name="definerequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="class" minOccurs="1" maxOccurs="1" type="xs:string"/>
        <xs:element name="type" minOccurs="1" maxOccurs="1" type="classtype"/>
        <xs:element name="maxcputime" minOccurs="1" maxOccurs="1" type="xs:string"/>
        <xs:element name="maxmemorysize" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="maxnetworksize" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="maxfilesize" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="maxwalltime" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="startrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="class" minOccurs="1" maxOccurs="1" type="xs:string"/>
        <xs:element name="startat" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="stopat" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="submitrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="class" minOccurs="1" maxOccurs="1" type="xs:string"/>
        <xs:element name="deck" minOccurs="1" maxOccurs="1" type="xs:string"/>
        <xs:element name="hold" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="type" minOccurs="0" maxOccurs="1" type="classtype"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="listrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="class" minOccurs="0" maxOccurs="100" type="xs:string"/>
        <xs:element name="initiator" minOccurs="0" maxOccurs="100" type="xs:string"/>
        <xs:element name="job" minOccurs="0" maxOccurs="100" type="xs:string"/>
        <xs:element name="jobgroup" minOccurs="0" maxOccurs="100" type="xs:string"/>
        <xs:element name="output" minOccurs="0" maxOccurs="100" type="xs:string"/>
        <xs:element name="step" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="dd" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="quiescerequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="wakeup" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="reset" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="cancelrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="job" minOccurs="1" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="purgerequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="job" minOccurs="1" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="stoprequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="class" minOccurs="1" maxOccurs="1" type="xs:string"/>
        <xs:element name="n" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="initiator" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="undefinerequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="class" minOccurs="1" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="checkpointrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="job" minOccurs="1" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="restartrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="job" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="class" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="configrequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="errorlevel" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="messages" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="scheduler" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="maxjobage" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="newdsndirectory" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="newdsnlowercase" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="immediatesymbolreplacement" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="parmempty" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="taskscope" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="parmcount" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="jobspool" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="outputspool" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="tempspool" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="ebpplexnode" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="ebpplexpeer" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="ebpplexauth" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="application" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="hciservice" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="javadebugport" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="javadebugsuspend" minOccurs="0" maxOccurs="1" type="xs:string"/>
        <xs:element name="javadebugjobstep" minOccurs="0" maxOccurs="1" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- definition of EBP service responses -->
  
  <!-- define EBP service -->
  <xs:element name="defineresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="defined" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="class" type="xs:string"/>
              <xs:element name="maxcputime" type="xs:string"/>
              <xs:element name="maxfilesize" type="xs:string"/>
              <xs:element name="maxmemorysize" type="xs:string"/>
              <xs:element name="maxnetworksize" type="xs:string"/>
              <xs:element name="maxwalltime" type="xs:string"/>
              <xs:element name="type" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>

  <!-- start EBP service -->
  <xs:element name="startresponse">
    <xs:complexType>
      <xs:sequence>
         <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="started" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="class" type="xs:string"/>
              <xs:element name="initiators">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="initiator" type="xs:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="n" type="xs:positiveInteger"/>
              <xs:element name="startat" type="xs:string"/>
              <xs:element name="stopat" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- define EBP service -->
  <xs:element name="submitresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="submitted" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="class" type="xs:string"/>
              <xs:element name="code" type="xs:string"/>
              <xs:element name="hold" type="xs:string"/>
              <xs:element name="job" type="xs:string"/>
              <xs:element name="jobname" type="xs:string"/>
              <xs:element name="message" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- list EBP service -->
  <xs:element name="listresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="listed" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="classes" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="class" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="class">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="classname" type="xs:string"/>
                    <xs:element name="type" type="classtype"/>
                    <xs:element name="maxcputime" type="xs:string"/>
                    <xs:element name="maxmemorysize" type="xs:string"/>
                    <xs:element name="maxnetworksize" type="xs:string"/>
                    <xs:element name="maxwalltime" type="xs:string"/>
                    <xs:element name="created" type="xs:string"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="initiators">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="initiator" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="initiator">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="id" type="xs:string"/>
                    <xs:element name="classname" type="xs:string"/>
                    <xs:element name="startat" type="xs:string"/>
                    <xs:element name="stopat" type="xs:string"/>
                    <xs:element name="state" type="xs:string"/>
                    <xs:element name="currentjob" type="xs:string"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="jobs" type="jobtype"/>
              <xs:element name="job">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="job" type="xs:positiveInteger"/>
                    <xs:element name="jobname" type="xs:string"/>
                    <xs:element name="classname" type="xs:string"/>
                    <xs:element name="msgclass" type="xs:string"/>
                    <xs:element name="time" type="xs:string"/>
                    <xs:element name="dataset" type="xs:string"/>
                    <xs:element name="status" type="xs:string"/>
                    <xs:element name="debugport" type="xs:string"/>
                    <xs:element name="message" type="xs:string"/>
                    <xs:element name="submitted" type="xs:string"/>
                    <xs:element name="owneruser" type="xs:string"/>
                    <xs:element name="ownergroups" type="xs:string"/>
                    <xs:element name="initiated" type="xs:string"/>
                    <xs:element name="completed" type="xs:string"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="outputs">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="output" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="output">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="job" type="xs:positiveInteger"/>
                    <xs:element name="jobname" type="xs:string"/>
                    <xs:element name="returncode" type="xs:integer"/>
                    <xs:element name="msgclass" type="xs:string"/>
                    <xs:element name="message" type="xs:string"/>
                    <xs:element name="status" type="xs:string"/>
                    <xs:element name="lastcompletedstep" type="xs:string"/>
                    <xs:element name="created" type="xs:string"/>
                    <xs:element name="msgddname" type="xs:string"/>
                    <xs:element name="msgdatasetname" type="xs:string"/>
                    <xs:element name="msgdatasetpath" type="xs:string"/>
                    <xs:element name="spool">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="step" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="name" type="xs:string"/>
                                <xs:element name="dd" minOccurs="0" maxOccurs="unbounded">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="ddname" type="xs:string"/>
                                      <xs:element name="msgclass" type="xs:string"/>
                                      <xs:element name="temporary" type="xs:boolean"/>
                                      <xs:element name="datasetname"/>
                                      <xs:element name="datasetpath"/>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="jobgroup">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="id" type="xs:int"></xs:element>
                    <xs:element name="name" type="xs:string"></xs:element>
                    <xs:element name="cards" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="jobgroup">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="name" type="xs:string"></xs:element>
                                <xs:element name="type" type="xs:string"></xs:element>
                                <xs:element name="user" type="xs:string"></xs:element>
                                <xs:element name="password" type="xs:string"></xs:element>
                                <xs:element name="group" type="xs:string"></xs:element>
                                <xs:element name="seclabel" type="xs:string"></xs:element>
                                <xs:element name="onerror" type="xs:string"></xs:element>
                                <xs:element name="error" type="xs:string"></xs:element>
                                <xs:element name="sysaff" type="xs:string"></xs:element>
                                <xs:element name="system" type="xs:string"></xs:element>
                                <xs:element name="schenv" type="xs:string"></xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="jobsets"></xs:element>
                          <xs:element name="gjob" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="name" type="xs:string"></xs:element>
                                <xs:element name="flushtype" type="flushtype"></xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="concurrent">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="when" type="xs:string"></xs:element>
                                <xs:element name="action" type="modtype"></xs:element>
                                <xs:element name="otherwise" type="modtype"></xs:element>
                                <xs:element name="names">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="jobname" type="xs:string"></xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="sjob">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="name" type="xs:string"></xs:element>
                                <xs:element name="flushtype" type="flushtype"></xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="before">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="when" type="xs:string"></xs:element>
                                <xs:element name="action" type="modtype"></xs:element>
                                <xs:element name="otherwise" type="modtype"></xs:element>
                                <xs:element name="names">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="jobname" type="xs:string"></xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="after">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="when" type="xs:string"></xs:element>
                                <xs:element name="action" type="modtype"></xs:element>
                                <xs:element name="otherwise" type="modtype"></xs:element>
                                <xs:element name="names">
                                  <xs:complexType>
                                    <xs:sequence>
                                      <xs:element name="jobname" type="xs:string"></xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="created" type="xs:dateTime"></xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- quiesce EBP service -->
  <xs:element name="queisceresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="quiesced" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="reset" type="xs:string"/>
              <xs:element name="wakeup" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- cancel EBP service -->
  <xs:element name="cancelresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="canceled" minOccurs="0" maxOccurs="1" type="jobtype"/>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- purge EBP service -->
  <xs:element name="purgeresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="purged" minOccurs="0" maxOccurs="1" type="jobtype"/>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- stop EBP service -->
  <xs:element name="stopresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="stopped" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="initiators">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="initiator" type="xs:positiveInteger"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="n" type="xs:positiveInteger"/>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- undefine EBP service -->
  <xs:element name="undefineresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="undefined" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="class" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>

  <!-- checkpoint EBP service -->
  <xs:element name="checkpointresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="checkpointed" minOccurs="0" maxOccurs="1" type="jobtype"/>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- restart EBP service -->
  <xs:element name="restartresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="restarted" minOccurs="0" maxOccurs="1" type="jobtype"/>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- lock EBP service -->
  <xs:element name="lockresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="locked" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="resource" type="xs:string"/>
              <xs:element name="type" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- config EBP service -->
  <xs:element name="configresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="configged" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="alias" type="confignametype" maxOccurs="unbounded"/>
              <xs:element name="application" type="configtype"/>
              <xs:element name="builddate" type="configtype"/>
              <xs:element name="buildversion" type="configtype"/>
              <xs:element name="checkpointcommand" type="configclasstype" maxOccurs="unbounded"/>
              <xs:element name="classlib" type="configpathtype" maxOccurs="unbounded"/>
              <xs:element name="country" type="configtype"/>
              <xs:element name="datalib" type="configpathtype" maxOccurs="unbounded"/>
              <xs:element name="ebpplexauth" type="configtype"/>
              <xs:element name="ebpplexnode" type="configtype"/>
              <xs:element name="ebpplexpeer" type="configtype"/>
              <xs:element name="ebpplexstatus" type="configtype"/>
              <xs:element name="ebpstartcommand" type="configtype"/>
              <xs:element name="errorlevel" type="configtype"/>
              <xs:element name="generated" type="configtype"/>
              <xs:element name="hciservice" type="configtype"/>
              <xs:element name="immediatesymbolreplacement" type="configtype"/>
              <xs:element name="initiatordelay" type="configtype"/>
              <xs:element name="javacommand" type="configtype"/>
              <xs:element name="javadebugjobstep" type="configtype"/>
              <xs:element name="javadebugport" type="configtype"/>
              <xs:element name="javadebugsuspend" type="configtype"/>
              <xs:element name="javajarcommand" type="configtype"/>
              <xs:element name="jcllib" type="configpathtype" maxOccurs="unbounded"/>
              <xs:element name="jobdelay" type="configtype"/>
              <xs:element name="jobspool" type="configtype"/>
              <xs:element name="jobstepdelay" type="configtype"/>
              <xs:element name="language" type="configtype"/>
              <xs:element name="maxjobage" type="configtype"/>
              <xs:element name="messages" type="configtype"/>
              <xs:element name="newdsndirectory" type="configtype"/>
              <xs:element name="newdsnlowercase" type="configtype"/>
              <xs:element name="output" type="configclasstype"/>
              <xs:element name="outputspool" type="configtype"/>
              <xs:element name="parmcount" type="configtype"/>
              <xs:element name="parmempty" type="configtype"/>
              <xs:element name="parmlib" type="confignametype"/>
              <xs:element name="pythoncommand" type="configtype"/>
              <xs:element name="quiesced" type="configtype"/>
              <xs:element name="rac" type="confignametype"/>
              <xs:element name="restartcommand" type="configclasstype" maxOccurs="unbounded"/>
              <xs:element name="scheduler" type="configtype"/>
              <xs:element name="scheduling" type="configtype"/>
              <xs:element name="systemlib" type="configpathtype" maxOccurs="unbounded"/>
              <xs:element name="taskscope" type="configtype"/>
              <xs:element name="tempspool" type="configtype"/>
              <xs:element name="timezone" type="configtype"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
  
  <!-- console EBP service -->
  <xs:element name="consoleresponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="error" minOccurs="0" maxOccurs="1"/>
        <xs:element name="consoled" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="SYSGID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="SYSUID" minOccurs="0" maxOccurs="1" type="xs:string"/>
              <xs:element name="close" type="xs:string"/>
              <xs:element name="line" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="id" type="xs:positiveInteger"/>
                  <xs:attribute name="number" type="xs:positiveInteger"/>
                  <xs:attribute name="level" type="xs:positiveInteger"/>
                  <xs:attribute name="date" type="xs:string"/>
                  <xs:attribute name="msgid" type="xs:string"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="session" type="xs:positiveInteger"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute ref="timestamp"/>
    </xs:complexType>
  </xs:element>
</xs:schema>