schema - 使用 biztalk 转换将两个模式合并为一个模式(作为主细节)
问题描述
我需要将两个模式转换为一个模式作为主细节模式。我将passengerId 作为唯一文件。一些主模式的记录可能没有任何详细模式的参考,所以我需要一个条件来检查乘客 ID 是否存在于详细模式中,为结果中的主模式创建新的子模式。 https://www.dropbox.com/s/8xpbqawstu94u85/transform.jpg?dl=0
主架构:
<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>
详细模式
<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>
结果
<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>
解决方案
推荐阅读
- python - 如何在Python中向后添加?
- android - 列表视图始终显示为空,并选择了项目 Android
- node.js - Mendix 设置问题 - 建议的代码不起作用
- reactjs - ReactJs、Redux、Firebase 项目的一般问题
- python - 交换 2 个数据框中的常用值
- python - Pygame,实现按钮的最佳方式?
- smartcard - Java Cards 突然停止响应
- python - Python pandas 标头规范与日期格式
- r - 使用 plot() 时添加 sd 和线连接点
- javafx - 可以直接在 Scene Builder 中编写代码吗?