Ebcdic File Format Xml schema
Below is the xml schema to be used to validate the copybook xml files (used by EbcdicFileReader and EbcdicFileWriter -- see the corresponding section in this document)
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="FileFormat">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="RecordFormat" type="RecordFormat" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="ConversionTable" type="xsd:string"/>
<xsd:attribute name="distinguishFieldSize" type="xsd:integer"/>
<xsd:attribute name="newLineSize" type="xsd:integer"/>
<xsd:attribute name="dataFileImplementation" type="xsd:string"/>
<xsd:attribute name="headerSize" type="xsd:integer"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="RecordFormat">
<xsd:complexContent>
<xsd:extension base="FieldsList">
<xsd:attribute name="distinguishFieldValue" type="xsd:string"/>
<xsd:attribute name="cobolRecordName" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FieldsGroup">
<xsd:complexContent>
<xsd:extension base="FieldsList">
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="Occurs" type="xsd:integer"/>
<xsd:attribute name="DependingOn" type="xsd:string"/>
<xsd:attribute name="Redefined" type="xsd:boolean"/>
<xsd:attribute name="Redefines" type="xsd:string"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="FieldsList">
<xsd:choice maxOccurs="unbounded">
<xsd:element name="FieldFormat" type="FieldFormat" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="FieldsGroup" type="FieldsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="FieldFormat">
<xsd:attribute name="Name" type="xsd:string"/>
<xsd:attribute name="Occurs" type="xsd:integer"/>
<xsd:attribute name="DependingOn" type="xsd:string"/>
<xsd:attribute name="Redefined" type="xsd:boolean"/>
<xsd:attribute name="Redefines" type="xsd:string"/>
<xsd:attribute name="Size" type="xsd:integer"/>
<xsd:attribute name="Type" type="xsd:string"/>
<xsd:attribute name="Decimal" type="xsd:integer"/>
<xsd:attribute name="Signed" type="xsd:boolean"/>
<xsd:attribute name="ImpliedDecimal" type="xsd:boolean"/>
<xsd:attribute name="Value" type="xsd:string"/>
<xsd:attribute name="Picture" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>