I am having issues while trying to upload data using document service. The issue I am having is with Derived tables whose fields are not recognized during import process and errors out.
XSD Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="schemas.microsoft.com/.../TrvPBSMaindata" xmlns:st="schemas.microsoft.com/.../sharedtypes" elementFormDefault="unqualified" targetNamespace="schemas.microsoft.com/.../TrvPBSMaindata" xmlns:xs="www.w3.org/.../XMLSchema">
<xs:element name="TrvPBSMaindata" type="tns:AxdTrvPBSMaindata" />
<xs:complexType name="AxdTrvPBSMaindata">
<xs:sequence>
<xs:element minOccurs="0" name="ClearNilFieldsOnUpdate" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DocPurpose" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="SenderId" nillable="true" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvPBSMaindata" type="tns:AxdEntity_TrvPBSMaindata" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AxdEntity_TrvPBSMaindata">
<xs:sequence>
<xs:element minOccurs="0" name="_DocumentHash" nillable="true" type="xs:string" />
<xs:element minOccurs="1" name="AmountCurr" type="xs:decimal" />
<xs:element minOccurs="0" name="AmountLocal" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="BusinessName" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="CardNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="CardNumberNIKS" nillable="true" type="xs:string" />
<xs:element minOccurs="1" name="CardType" type="xs:string" />
<xs:element minOccurs="0" name="CatCode" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="CatCodesDesc" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="CCTransUniqueId" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DisputeStatus" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DisputeTrackingNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="1" name="ExchCode" type="xs:string" />
<xs:element minOccurs="0" name="ExchCodeLocal" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="MerchantCategoryCode" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Paymethod" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Reference" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Town" nillable="true" type="xs:string" />
<xs:element minOccurs="1" name="TransDate" type="xs:date" />
<xs:element minOccurs="0" name="UserField1" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField2" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField3" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField4" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField5" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField6" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField7" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField8" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserField9" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserFieldLong" nillable="true" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvEnhancedData" type="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvEnhancedTaxInfo" type="tns:AxdEntity_TrvEnhancedTaxInfo" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedData">
<xs:sequence>
<xs:element minOccurs="0" name="InstanceRelationType" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="PBSRecid" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="RecId" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="RecVersion" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="TransactionRecord" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="UserDefinedField1" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField10" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField2" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField3" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField4" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField5" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField6" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField7" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField8" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField9" nillable="true" type="xs:string" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedHotelData">
<xs:complexContent mixed="false">
<xs:extension base="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData">
<xs:sequence>
<xs:element minOccurs="1" name="CheckInDate" nillable="false" type="xs:date" />
<xs:element minOccurs="0" name="CheckOutDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="FolioNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="GuestName" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="GuestNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="NoShowIndicator" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TotalRoomNights" nillable="true" type="xs:integer" />
<xs:element minOccurs="0" name="TotalRoomRent" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="TotalTaxAmount" nillable="true" type="xs:double" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvHotelCharge" type="tns:AxdEntity_TrvHotelCharge" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AxdEntity_TrvHotelCharge">
<xs:sequence>
<xs:element minOccurs="0" name="ChargeAmount" nillable="true" type="xs:decimal" />
<xs:element minOccurs="1" name="ChargeType" type="xs:integer" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedItineraryData">
<xs:complexContent mixed="false">
<xs:extension base="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData">
<xs:sequence>
<xs:element minOccurs="0" name="DepartureDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="DomesticIndicator" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ExchangeTicketNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="IssuingCarrier" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="NumberOfLegs" nillable="true" type="xs:integer" />
<xs:element minOccurs="0" name="OriginalTicketNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="PassengerName" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TicketIssueDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="TravelAgencyCode" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TravelAgencyInvoiceNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TravelAgencyName" nillable="true" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvEnhancedTripLegDetail" type="tns:AxdEntity_TrvEnhancedTripLegDetail" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvItineraryCharge" type="tns:AxdEntity_TrvItineraryCharge" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AxdEntity_TrvEnhancedTripLegDetail">
<xs:sequence>
<xs:element minOccurs="0" name="ArrivalDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="CarrierCode" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="CityOfOrigin" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DepartureTax" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DestinationCity" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="FareAmount" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="FeeAmount" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="FlightNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ServiceClass" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="StopOverCity" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TaxAmount" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TravelDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="TripLegNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField1" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField10" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField2" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField3" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField4" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField5" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField6" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField7" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField8" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField9" nillable="true" type="xs:string" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvItineraryCharge">
<xs:sequence>
<xs:element minOccurs="0" name="ChargeAmount" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="ChargeType" nillable="true" type="xs:integer" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvEnhancedData_TrvEnhancedCarRentalData">
<xs:complexContent mixed="false">
<xs:extension base="tns:AxdEntity_TrvEnhancedData_TrvEnhancedData">
<xs:sequence>
<xs:element minOccurs="0" name="CarRentalCheckOutDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="CheckOutLocation" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DailyRentalRate" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="DaysRented" nillable="true" type="xs:integer" />
<xs:element minOccurs="0" name="MonthlyRentalRate" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="RegularMileageCharges" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="RenterName" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ReservationNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ReturnDate" nillable="true" type="xs:date" />
<xs:element minOccurs="0" name="ReturnLocation" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TotalMiles" nillable="true" type="xs:double" />
<xs:element minOccurs="0" name="VehicleClass" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="WeeklyRentalRate" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvCarRentalCharge" type="tns:AxdEntity_TrvCarRentalCharge" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AxdEntity_TrvCarRentalCharge">
<xs:sequence>
<xs:element minOccurs="0" name="ChargeAmount" nillable="true" type="xs:decimal" />
<xs:element minOccurs="0" name="ChargeType" nillable="true" type="xs:integer" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvEnhancedTaxInfo">
<xs:sequence>
<xs:element minOccurs="0" name="CustomerVATNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="IsGSTHSTIncludedInAmount" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="IsSalesTaxIncludedInAmount" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ItemSalesTaxGroup" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="SalesTaxGroup" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="SupplierVATNumber" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="TotalSalesTaxAmount" nillable="true" type="xs:double" />
<xs:element minOccurs="0" name="UserDefinedField1" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField2" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField3" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField4" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="UserDefinedField5" nillable="true" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="unbounded" name="TrvTaxCharge" type="tns:AxdEntity_TrvTaxCharge" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
<xs:complexType name="AxdEntity_TrvTaxCharge">
<xs:sequence>
<xs:element minOccurs="1" name="TaxAmount" type="xs:double" />
<xs:element minOccurs="1" name="TaxType" type="xs:integer" />
</xs:sequence>
<xs:attribute fixed="entity" name="class" use="required" />
<xs:attribute name="action" type="xs:string" />
</xs:complexType>
</xs:schema>
XML Upload
<?xml version="1.0" encoding="utf-8" ?>
<Envelope xmlns="schemas.microsoft.com/.../Message">
<Header>
<MessageId>{9F041A14-EE49-4D98-ADE9-F5B2AB212490}</MessageId>
<Action>schemas.microsoft.com/.../create</Action>
</Header>
<Body>
<MessageParts>
<TrvPBSMaindata xmlns="schemas.microsoft.com/.../TrvPBSMaindata">
<TrvPBSMaindata class="entity">
<AmountCurr>133.00</AmountCurr>
<AmountLocal>133.00</AmountLocal>
<BusinessName>Mazik Global</BusinessName>
<CardNumber>1111111111111111</CardNumber>
<CardNumberNIKS>0000000000000000</CardNumberNIKS>
<CardType>AMEX</CardType>
<CatCode>02</CatCode>
<CatCodesDesc>Flights</CatCodesDesc>
<Country>USA</Country>
<ExchCode>USD</ExchCode>
<ExchCodeLocal>USD</ExchCodeLocal>
<MerchantCategoryCode>d3f</MerchantCategoryCode>
<Name>Sara Thomas</Name>
<Paymethod>CreditCard</Paymethod>
<Reference>185220</Reference>
<Town>Des Plains</Town>
<TransDate>2015-11-28</TransDate>
<TrvEnhancedData class="entity">
<CheckInDate>2015-10-28</CheckInDate>
</TrvEnhancedData>
</TrvPBSMaindata>
</TrvPBSMaindata>
</MessageParts>
</Body>
</Envelope>
Error
Invalid document schema. The following error was returned: The element 'TrvEnhancedData' in namespace 'schemas.microsoft.com/.../TrvPBSMaindata' has invalid child element 'CheckInDate'in namespace 'schemas.microsoft.com/.../TrvPBSMaindata'. List of possible elements expected: 'InstanceRelationType, PBSRecid, RecId, RecVersion, TransactionRecord, UserDefinedField1, UserDefinedField10, UserDefinedField2, UserDefinedField3, UserDefinedField4, UserDefinedField5, UserDefinedField6, UserDefinedField7, UserDefinedField8, UserDefinedField9' in namespace 'schemas.microsoft.com/.../TrvPBSMaindata'.
Note: CheckInDate is a field of TrvEnhancedHotelData table which is derived from TrvEnhanceTable.