XMLT Schema

An XML schema file, XMLT.xsd, defines the structure of XML translation files configure XMLT to translate text-based input files into XML-based output files.  This schema includes Element Types for each type of record that can occur in the XMLT output file (the XML item order and/or group data suitable that POMS accepts as input). Its Attribute Types tell the XMLT translator where to parse information from the customer source file (the file to be translated) and how to format it for the various elements so that the translated file can be successfully validated by POMS.

<?xml version="1.0"?>
<Schema name="xmlt" xmlns="urn:schemas-microsoft-com:xml-data"
                        xmlns:dt="urn:schemas-microsoft-com:datatypes" >
<AttributeType name="Line" dt:type="ui2" default="0"/>
<AttributeType name="Offset" dt:type="ui2"/>
<AttributeType name="Length" dt:type="ui2"/>
<AttributeType name="Pad" dt:type="enumeration" dt:values="True False" default="False"/>
<AttributeType name="Pattern" dt:type="string"/>
<AttributeType name="CountExtra" dt:type="ui2"/>
<AttributeType name="CollectLines" dt:type="enumeration" dt:values="True False"/>
<AttributeType name="RecordLength" dt:type="ui2"/>
<AttributeType name="EachLine" dt:type="enumeration" dt:values="True False" default="False"/>
<AttributeType name="DateFormat" dt:type="enumeration" dt:values="YYYYMMDD YYMMDD YYYYDDMM YYDDMM YYYYDDD YYDDD MMDDYY MMDDYYYY DDMMYY DDMMYYYY"/>
<AttributeType name="SplitFile" dt:type="enumeration" dt:values="True False" default="True"/>
<AttributeType name="SplitType" dt:type="enumeration" dt:values="Item Size" default="Size"/>
<AttributeType name="SplitSize" dt:type="ui2" default="20000"/>
<ElementType name="Chunk" content="empty" order="many">
    <attribute type="Line"/>
    <attribute type="Offset" required="yes"/>
    <attribute type="Length" required="yes"/>
    <attribute type="Pad"/>
</ElementType>
<ElementType name="Attribute" order="many" model="closed">
    <attribute type="DateFormat"/>
    <element type="Chunk"/>
</ElementType>
<ElementType name="CountField" content="eltOnly" order="many" model="closed">
    <attribute type="CountExtra"/>
    <element type="Chunk"/>
</ElementType>
<ElementType name="Header" content="eltOnly" order="many" model="closed">
    <attribute type="Pattern" required="yes"/>
    <element type="Attribute" minOccurs="0"/>
</ElementType>
<ElementType name="Trailer" content="eltOnly" model="closed">
    <attribute type="Pattern" required="yes"/>
    <element type="CountField" />
</ElementType>
<ElementType name="StartRecord" model="closed">
    <element type="Chunk"/>
</ElementType>
<ElementType name="EndRecord" model="closed">
    <element type="Chunk"/>
</ElementType>
<ElementType name="ItemType" model="closed">
    <element type="Chunk"/>
</ElementType>
<ElementType name="GroupName" content="textOnly" dt:type="string" model="closed"/>
<ElementType name="ItemData" content="eltOnly" order="many" model="closed">
    <attribute type="EachLine"/>
    <element type="Attribute"/>
</ElementType>
<ElementType name="Record" content="eltOnly" order="many" model="closed">
    <attribute type="CollectLines"/>
    <attribute type="RecordLength"/>
    <element type="StartRecord" minOccurs="0" maxOccurs="1"/>
    <element type="EndRecord" minOccurs="0" maxOccurs="1"/>
    <element type="ItemType" minOccurs="0" maxOccurs="1"/>
    <element type="GroupName" maxOccurs="1"/>
    <element type="ItemData" maxOccurs="*"/>
</ElementType>
<ElementType name="File" content="eltOnly" order="many" model="closed">
    <attribute type="SplitFile"/>
    <attribute type="SplitType"/>
    <attribute type="SplitSize"/>
    <element type="Header" minOccurs="0"/>
    <element type="Record"/>
    <element type="Trailer" minOccurs="0"/>
</ElementType>
</Schema>