The following example shows the XML schema for a batch job:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="classname" type="xsd:string" />
<xsd:element name="impl-class" type="xsd:string" />
<xsd:element name="jndi-name" type="xsd:string" />
<xsd:element name="logical-name" type="xsd:string" />
<xsd:element name="scheduling-mode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="sequential"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="required" >
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[YNyn]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="batch-data-streams">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" ref="bds" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="job-scheduling-criteria">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" ref="required-capability" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="bds">
<xsd:complexType>
<xsd:all>
<xsd:element ref="logical-name" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="impl-class" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="props" minOccurs="0" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="checkpoint-algorithm">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="classname" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="props" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="checkpoint-algorithm-ref">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="required-capability">
<xsd:complexType>
<xsd:attribute name="expression" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="results-algorithm">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="classname" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="props" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="required" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="results-algorithms">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" ref="results-algorithm" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="results-ref">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="substitution-props">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="prop" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="job">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="jndi-name" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="job-scheduling-criteria" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="step-scheduling-criteria" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="checkpoint-algorithm" maxOccurs="unbounded" minOccurs="1"/>
<xsd:element ref="results-algorithms" maxOccurs="1" minOccurs="0"/>
<xsd:element ref="substitution-props" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="job-step" maxOccurs="unbounded" minOccurs="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="class" type="xsd:string" use="optional" />
<xsd:attribute name="accounting" type="xsd:string" use="optional" />
<xsd:attribute name="default-application-name" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="job-step">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="step-scheduling" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="jndi-name" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="checkpoint-algorithm-ref" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="results-ref" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="batch-data-streams" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="props" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="optional" />
<xsd:attribute name="application-name" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="prop">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="value" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="props">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="prop" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="returncode-expression">
<xsd:complexType>
<xsd:attribute name="step" type="xsd:string" use="required" />
<xsd:attribute name="operator" type="xsd:string" use="required" />
<xsd:attribute name="value" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="step-scheduling">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="returncode-expression" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="condition" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="step-scheduling-criteria">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="scheduling-mode" minOccurs="1" maxOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>