587 lines
19 KiB
XML
587 lines
19 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<xs:element name="ROEHEADER">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="ROE"
|
|
type="RoeType"
|
|
minOccurs="1"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="FileVersion"
|
|
type="xs:string"
|
|
use="required"
|
|
fixed="W-2.0"/>
|
|
<xs:attribute name="SoftwareVendor"
|
|
type="SoftwareVendorType"
|
|
use="required"/>
|
|
<xs:attribute name="ProductName"
|
|
type="ProductNameType"
|
|
use="required" />
|
|
<xs:attribute name="ProductVersion"
|
|
type="ProductVersionType"
|
|
use="optional" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:complexType name="RoeType">
|
|
<xs:sequence>
|
|
<xs:element name="B2"
|
|
type="SerialNumberType"
|
|
minOccurs="0"
|
|
maxOccurs="1" />
|
|
<xs:element name="B3"
|
|
type="PayrollRefType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B5"
|
|
type="BusinessNumberWithOrgAndFolderCds"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B6"
|
|
type="PayPeriodCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B8"
|
|
type="SinType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B9"
|
|
type="EmployeeInfoType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B10"
|
|
type="BulkRoeDateType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B11"
|
|
type="BulkRoeDateType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B12"
|
|
type="BulkRoeDateType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B13"
|
|
type="OccupationType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B14"
|
|
type="ExpectedRecallInfoType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B15A"
|
|
type="TotalInsurableHoursType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B15C"
|
|
type="PayPeriodDetailsType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B16"
|
|
type="ContactAndReasonForIssuingCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B17A"
|
|
type="VacationPayType"
|
|
minOccurs="0"
|
|
maxOccurs="1">
|
|
</xs:element>
|
|
<xs:element name="B17B"
|
|
type="StatutoryHolidayListType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B17C"
|
|
type="OtherMoniesListType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B18"
|
|
type="CommentsType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B19"
|
|
type="SpecialPaymentListType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="B20"
|
|
type="LanguageType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="PrintingLanguage"
|
|
type="LanguageType"
|
|
use="required"/>
|
|
<xs:attribute name="Issue"
|
|
type="IssueCodeType"
|
|
use="required"/>
|
|
</xs:complexType>
|
|
<xs:simpleType name="SerialNumberType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="9"/>
|
|
<xs:pattern value="([A-Z][0-9]{8}|)" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="PayrollRefType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="26"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="BusinessNumberType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="15"/>
|
|
<xs:pattern value="[0-9]{9}[R][PW][0-9]{4}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="BusinessNumberWithOrgAndFolderCds">
|
|
<xs:simpleContent>
|
|
<xs:extension base="BusinessNumberType">
|
|
<xs:attribute name="OrgNum"
|
|
type="OrgNumType"
|
|
use="optional"/>
|
|
<xs:attribute name="FolderCD"
|
|
type="FolderCodeType"
|
|
use="optional"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:simpleType name="PayPeriodCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="B"/>
|
|
<xs:enumeration value="M"/>
|
|
<xs:enumeration value="O"/>
|
|
<xs:enumeration value="S"/>
|
|
<xs:enumeration value="E"/>
|
|
<xs:enumeration value="H"/>
|
|
<xs:enumeration value="W"/>
|
|
<xs:enumeration value="b"/>
|
|
<xs:enumeration value="m"/>
|
|
<xs:enumeration value="o"/>
|
|
<xs:enumeration value="s"/>
|
|
<xs:enumeration value="e"/>
|
|
<xs:enumeration value="h"/>
|
|
<xs:enumeration value="w"/>
|
|
<xs:maxLength value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="SinType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="9"/>
|
|
<xs:pattern value="[0-9]{9}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="EmployeeInfoType">
|
|
<xs:sequence>
|
|
<xs:element name="FN"
|
|
type="FirstNameType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="MN"
|
|
type="MiddleNameType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="LN"
|
|
type="LastNameType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="A1"
|
|
type="EmployeeAddressLineType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="A2"
|
|
type="EmployeeAddressLineType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="A3"
|
|
type="EmployeeAddressLineType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="PC"
|
|
type="EmployeePostalCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:simpleType name="FirstNameType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="20"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="MiddleNameType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="4"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="LastNameType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="28"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="EmployeeAddressLineType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="35"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="OccupationType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="40"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="ExpectedRecallInfoType">
|
|
<xs:sequence>
|
|
<xs:element name="CD"
|
|
type="RecallCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="DT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:simpleType name="RecallCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="1"/>
|
|
<xs:enumeration value="N"/>
|
|
<xs:enumeration value="U"/>
|
|
<xs:enumeration value="Y"/>
|
|
<xs:enumeration value="n"/>
|
|
<xs:enumeration value="u"/>
|
|
<xs:enumeration value="y"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="TotalInsurableHoursType">
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="8904"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="PayPeriodDetailsType">
|
|
<xs:sequence>
|
|
<xs:element name="PP"
|
|
type="PayPeriodType"
|
|
minOccurs="1"
|
|
maxOccurs="53"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="PayPeriodType">
|
|
<xs:sequence>
|
|
<xs:element name="AMT"
|
|
type="BulkRoeAmountType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="nbr"
|
|
use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="53"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<xs:complexType name="ContactAndReasonForIssuingCodeType">
|
|
<xs:sequence>
|
|
<xs:element name="CD"
|
|
type="ReasonForIssuingCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="FN"
|
|
type="FirstNameType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="LN"
|
|
type="LastNameType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="AC"
|
|
type="PhoneAreaCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="TEL"
|
|
type="PhoneNumberType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="EXT"
|
|
type="PhoneExtensionType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:simpleType name="PhoneAreaCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="3"/>
|
|
<xs:pattern value="[0-9]{3}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="PhoneNumberType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="7"/>
|
|
<xs:pattern value="[0-9]{7}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="PhoneExtensionType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="8"/>
|
|
<xs:pattern value="[0-9]{0,8}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="ReasonForIssuingCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="StatutoryHolidayListType">
|
|
<xs:sequence>
|
|
<xs:element name="SH"
|
|
type="StatutoryHolidayType"
|
|
minOccurs="0"
|
|
maxOccurs="10"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="StatutoryHolidayType">
|
|
<xs:sequence>
|
|
<xs:element name="DT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="AMT"
|
|
type="BulkRoeAmountType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="nbr"
|
|
use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="10"/>
|
|
</xs:restriction>
|
|
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<xs:complexType name="OtherMoniesListType">
|
|
<xs:sequence>
|
|
<xs:element name="OM"
|
|
type="OtherMoneyType"
|
|
minOccurs="0"
|
|
maxOccurs="3"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="OtherMoneyType">
|
|
<xs:sequence>
|
|
<xs:element name="CD"
|
|
type="OtherMoneyCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="SDT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="EDT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="AMT"
|
|
type="NullableBulkRoeAmountType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="nbr"
|
|
use="required">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<xs:simpleType name="OtherMoneyCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="3"/>
|
|
<xs:minLength value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="CommentsType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="160"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="LanguageType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="E"/>
|
|
<xs:enumeration value="F"/>
|
|
<xs:enumeration value="e"/>
|
|
<xs:enumeration value="f"/>
|
|
<xs:enumeration value="" />
|
|
<xs:maxLength value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:complexType name="SpecialPaymentListType">
|
|
<xs:sequence>
|
|
<xs:element name="SP"
|
|
type="SpecialPaymentType"
|
|
minOccurs="0"
|
|
maxOccurs="4"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="SpecialPaymentType">
|
|
<xs:sequence>
|
|
<xs:element name="SDT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="EDT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="AMT"
|
|
type="NullableBulkRoeAmountType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="PRD"
|
|
type="SpecialPaymentPeriodType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="cd"
|
|
type="SpecialPaymentCodeType"
|
|
use="required">
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
<xs:simpleType name="SpecialPaymentPeriodType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="1"/>
|
|
<xs:enumeration value="D"/>
|
|
<xs:enumeration value="W"/>
|
|
<xs:enumeration value="d"/>
|
|
<xs:enumeration value="w"/>
|
|
<xs:enumeration value=""/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="IssueCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="S"/>
|
|
<xs:enumeration value="D"/>
|
|
<xs:enumeration value="s"/>
|
|
<xs:enumeration value="d"/>
|
|
<xs:enumeration value="" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="BulkRoeDateType">
|
|
<xs:restriction base="xs:date"/>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="BulkRoeAmountType">
|
|
<xs:restriction base="xs:decimal">
|
|
<xs:fractionDigits value="2"/>
|
|
<xs:totalDigits value="8"/>
|
|
<xs:minInclusive value="0.00"/>
|
|
<xs:maxInclusive value="999999.99"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="SoftwareVendorType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="100"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="ProductNameType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="100"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="ProductVersionType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="10"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="OrgNumType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="15"/>
|
|
<xs:pattern value="[A-Z]{3}[0-9]{12}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="FolderCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="30"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="EmployeePostalCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="10"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="NullableDate">
|
|
<xs:union memberTypes="xs:date">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value=""/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:union>
|
|
</xs:simpleType>
|
|
<xs:complexType name="VacationPayType">
|
|
<xs:sequence>
|
|
<xs:element name="VP"
|
|
type="VacationPayDetailType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="VacationPayDetailType">
|
|
<xs:sequence>
|
|
<xs:element name="CD"
|
|
type="VacationCodeType"
|
|
minOccurs="1"
|
|
maxOccurs="1"/>
|
|
<xs:element name="SDT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="EDT"
|
|
type="NullableDate"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
<xs:element name="AMT"
|
|
type="NullableBulkRoeAmountType"
|
|
minOccurs="0"
|
|
maxOccurs="1"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="nbr"
|
|
type="VacationPayNumberType"
|
|
use="required"/>
|
|
</xs:complexType>
|
|
<xs:simpleType name="VacationPayNumberType">
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value="1"/>
|
|
<xs:maxInclusive value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="VacationCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="1"/>
|
|
<xs:enumeration value="2"/>
|
|
<xs:enumeration value="3"/>
|
|
<xs:enumeration value="4"/>
|
|
<xs:maxLength value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="SpecialPaymentCodeType">
|
|
<xs:restriction base="xs:string">
|
|
<xs:maxLength value="5"/>
|
|
<xs:minLength value="5"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="NullableBulkRoeAmountType">
|
|
<xs:union memberTypes="BulkRoeAmountType empty-string" />
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="empty-string">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:schema>
|