2

I need transform two schema into one schema as master detail schema. i have passengerId as unique filed. some master schema's records may not has any reference in detail schema so i need a condition that check if passengerId exist in detail schema create new child for master schema in result. https://www.dropbox.com/s/8xpbqawstu94u85/transform.jpg?dl=0

master schema :

 <xs:complexType name="StoredProcedureResultSet0">
 <xs:sequence>
  <xs:element minOccurs="0" maxOccurs="1" name="PassengersId" nillable="true" type="xs:long" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="Gender" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="FirstName" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="LastName" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="ClassOfService" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="SSR" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="FFP" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="ChkInStatus" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="BoardingStatus" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="Passenger_Type" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="SeatNo" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="PassengerCountryCode" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="PassengerCountryName" nillable="true" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>

detail schema

 <xs:complexType name="StoredProcedureResultSet0">
 <xs:sequence>
  <xs:element minOccurs="0" maxOccurs="1" name="Origin" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="Destination" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="FlightNo" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="FlightDate" nillable="true" type="xs:dateTime" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="PassengersId" nillable="true" type="xs:long" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="Gender" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="FirstName" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="LastName" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="ClassOfService" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="SSR" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="SSRCode" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="ChkInStatus" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="BoardingStatus" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="Passenger_Type" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="SeatNo" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" maxOccurs="1" name="PassengerCountryCode" nillable="true" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>

result

<xs:complexType>
<xs:sequence>
  <xs:element name="Origin" type="xs:string" /> 
  <xs:element name="Destination" type="xs:string" /> 
  <xs:element name="FlightNo" type="xs:string" /> 
  <xs:element name="FlightDate" type="xs:dateTime" /> 
  <xs:element name="PassengersId" type="xs:long" /> 
  <xs:element name="Gender" type="xs:string" /> 
  <xs:element name="FirstName" type="xs:string" /> 
  <xs:element name="LastName" type="xs:string" /> 
  <xs:element name="ClassOfService" type="xs:string" /> 
  <xs:element name="SSR" type="xs:string" /> 
  <xs:element name="SSRCode" type="xs:string" /> 
  <xs:element name="ChkInStatus" type="xs:string" /> 
  <xs:element name="BoardingStatus" type="xs:string" /> 
  <xs:element name="Passenger_Type" type="xs:string" /> 
  <xs:element name="SeatNo" type="xs:string" /> 
  <xs:element name="PassengerCountryCode" type="xs:string" /> 
  <xs:element name="ClassOfService" type="xs:string" /> 
  <xs:element name="FFP" nillable="true" type="xs:string" /> 
  <xs:element name="PassengerCountryName" type="xs:string" /> 
  </xs:sequence>
Volkmar Rigo
  • 1,158
  • 18
  • 32
Ali Shahi
  • 21
  • 2
  • So, the two schema are nearly identical, meaning they don't appear to have a master/detail relationship...??? Also, the 'correct' place to handle this would be in the Stored Procedure, not anywhere downstream. – Johns-305 Apr 20 '19 at 12:24

0 Answers0