FMS6 - Import Schema - P(ersonnel) Links
Personnel 7 Validation XSD
<?xml version="1.0" encoding="UTF-8"?>
<!-- Version 1.01 of the schema
Changed the Allowance FTE to be PayFactor -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="P7InterfaceMessage">
<xs:complexType>
<xs:sequence>
<xs:element name="StaffDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="StaffDetail">
<xs:complexType>
<xs:sequence>
<xs:element name="PersonalDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="PreferredForename">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PreferredSurname">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="60"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StaffGUID" type="GUIDType"/>
<xs:element name="Gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="1"/>
<xs:pattern value="[MmFf]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DateofBirth" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Contracts">
<xs:complexType>
<xs:sequence>
<xs:element name="Contract" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Note:
Pay Pattern is not required by the interface</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ContractDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="ServiceTermCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ContractStartDate" type="xs:date"/>
<xs:element name="ContractEndDate" type="xs:date" minOccurs="0"/>
<xs:element name="PostReferenceCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SuperannuationCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ContractPayrollNumber" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"/>
<xs:maxLength value="30"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IncrementDate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5"/>
<xs:pattern value="[0123456789][0123456789]/[01][0123456789]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NIContracted" type="xs:boolean"/>
<xs:element name="PayFactor">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ContractGUID" type="GUIDType"/>
<xs:element name="ContractHoursperWeek" type="HoursperWeekType"/>
<xs:element name="ContractWeeksperYear" type="WeeksperYearType"/>
<xs:element name="CFRCodeforContract">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
<xs:enumeration value="E01"/>
<xs:enumeration value="E03"/>
<xs:enumeration value="E04"/>
<xs:enumeration value="E05"/>
<xs:enumeration value="E06"/>
<xs:enumeration value="E07"/>
<xs:enumeration value="E31"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ContractPayScales">
<xs:complexType>
<xs:sequence>
<xs:element name="ContractPayScale" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ScaleCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StartDate" type="xs:date"/>
<xs:element name="EndDate" type="xs:date" minOccurs="0"/>
<xs:element name="Point" type="ScalePointType"/>
<xs:element name="Superannuable" type="xs:boolean"/>
<xs:element name="NIable" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ContractAllowances">
<xs:complexType>
<xs:sequence>
<xs:element name="ContractAllowance" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="AllowanceCode">
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StartDate" type="xs:date"/>
<xs:element name="EndDate" type="xs:date" minOccurs="0"/>
<xs:element name="PayFactor">
<xs:annotation>
<xs:documentation>This is the only multiplier for the annual allowance value to get the annual paid value. Do not combine this with either the FTE or Pro Rata fro the contract.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Amount" type="AllowanceAmountType">
<xs:annotation>
<xs:documentation>This is the un-adjusted Annual Allowance value and may not equal the annual apid value.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Superannuable" type="xs:boolean"/>
<xs:element name="NIable" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ContractSuspensions" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ContractSuspension" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="StartsAfter" type="xs:date"/>
<xs:element name="EndsBefore" type="xs:date" minOccurs="0"/>
</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:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NITables">
<xs:complexType>
<xs:sequence>
<xs:element name="Table" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="StartDateDate" type="xs:date"/>
<xs:element name="EndDateDate" type="xs:date" minOccurs="0"/>
<xs:element name="BandDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="BandDetail" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="BandNumber">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="9"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Lower">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="9999.99"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Upper">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="9999.99"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ContractedInRate">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="-99.9999"/>
<xs:maxInclusive value="99.9999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ContractedOutRate">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="-99.9999"/>
<xs:maxInclusive value="99.9999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</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="SuperannuationDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="SuperannuationScheme" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Description">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Rates">
<xs:complexType>
<xs:sequence>
<xs:element name="Rate" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ApplicationDate" type="xs:date"/>
<xs:element name="Rate">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100.00"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</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="ServiceTermDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="ServiceTerm" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ServiceTermDetails">
<xs:annotation>
<xs:documentation>Note:
Pay Pattern is not required by the interface</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="STCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="STDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="STHoursperWeek" type="HoursperWeekType"/>
<xs:element name="STWeeksperYear" type="WeeksperYearType"/>
<xs:element name="SpinalProgression" type="xs:boolean"/>
<xs:element name="Salaried" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ServiceTermPayScales">
<xs:complexType>
<xs:sequence>
<xs:element name="SIngleSpine" type="xs:boolean"/>
<xs:element name="MinimumPoint" type="ScalePointType"/>
<xs:element name="MaximumPoint" type="ScalePointType"/>
<xs:choice>
<xs:element name="SingleSpineDefinition">
<xs:complexType>
<xs:sequence>
<xs:element name="Spine">
<xs:complexType>
<xs:sequence>
<xs:element name="Awards">
<xs:complexType>
<xs:sequence>
<xs:element name="Award" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="AwardDate" type="xs:date"/>
<xs:element name="AwardValues" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Point" type="ScalePointType"/>
<xs:element name="Value">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="999999.9999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scales">
<xs:complexType>
<xs:sequence>
<xs:element name="Scale" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ScaleCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ScaleDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SWCPayScaleCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SWCRegionalSpine">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ScaleMinimumPoint" type="ScalePointType"/>
<xs:element name="ScaleMaximumPoint" type="ScalePointType"/>
</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="NotSingleSpineDefinition">
<xs:complexType>
<xs:sequence>
<xs:element name="Scales">
<xs:complexType>
<xs:sequence>
<xs:element name="Scale" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ScaleCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ScaleDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SWCPayScaleCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SWCRegionalSpine">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ScaleMinimumPoint" type="ScalePointType"/>
<xs:element name="ScaleMaximumPoint" type="ScalePointType"/>
<xs:element name="Awards">
<xs:complexType>
<xs:sequence>
<xs:element name="Award" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="AwardDate" type="xs:date"/>
<xs:element name="AwardValues" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Point" type="ScalePointType"/>
<xs:element name="Value">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="999999.9999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</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:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ServiceTermAllowances">
<xs:complexType>
<xs:sequence>
<xs:element name="STAllowance" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Description">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SWCCategoryCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Awards">
<xs:complexType>
<xs:sequence>
<xs:element name="Award " maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="AwardDate" type="xs:date"/>
<xs:element name="AwardAmount" type="AllowanceAmountType"/>
</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="ServiceTermPosts">
<xs:complexType>
<xs:sequence>
<xs:element name="Post" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="PostReference">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PostDescription">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PostCategory">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</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:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="ScalePointType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="999.5"/>
<xs:pattern value="[0123456789]{2}[0123456789](.[05]){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AllowanceAmountType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="99999.99"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PayPatternType">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HoursperWeekType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="99.9999"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="WeeksperYearType">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="53"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GUIDType">
<xs:restriction base="xs:string">
<xs:pattern value="[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>