0
您好我尝试使用单个XSLT转换来执行复杂的映射。但是我尝试了每一种和应用模板,甚至无法接近要求。使用XSLT对特定元素进行分组,筛选和映射
以下是条件。
1)通过连接名字,姓氏和DEPTNO
2)在独特雇员元件如果主接触是“Y”移动电话号码映射对应记录到目标
3)如果PrimaryConcat组雇员元件如果'Y'和'N'不存在,则映射手机号码,其中PrimaryConcat值为'N'
4)如果'Y'和'N'都不存在,Dont映射手机号码
将会有超过100万个员工元素与地址,联系方式等进行输入。我仅在这里给出一个仅使用手机号码的例子。
由于
INPUT XML
<Employees>
<Employee>
<PrimaryContact>Y</PrimaryContact>
<Name>
<FirstName>Paul</FirstName>
<LastName>Hecht</LastName>
</Name>
<DeptNo>10008072</DeptNo>
<MobNo>78952646</MobNo>
</Employee>
<Employee>
<PrimaryContact>N</PrimaryContact>
<endDate>0001-01-15T00:00:00.000Z</endDate>
<Name>
<FirstName>Paul</FirstName>
<LastName>Hecht</LastName>
</Name>
<DeptNo>10008072</DeptNo>
<MobNo>54646544</MobNo>
</Employee>
<Employee>
<PrimaryContact/>
<Name>
<FirstName>Chris</FirstName>
<LastName>Grey</LastName>
</Name>
<DeptNo>10001760</DeptNo>
<MobNo>1378956</MobNo>
</Employee>
<Employee>
<PrimaryContact>N</PrimaryContact>
<Name>
<FirstName>Chris</FirstName>
<LastName>Grey</LastName>
</Name>
<DeptNo>10001760</DeptNo>
<MobNo>78941236</MobNo>
</Employee>
<Employee>
<PrimaryContact/>
<Name>
<FirstName>Jessica</FirstName>
<LastName>Thruman</LastName>
</Name>
<DeptNo>10008022</DeptNo>
<MobNo>7895264446</MobNo>
</Employee>
<Employee>
<PrimaryContact/>
<Name>
<FirstName>Jessica</FirstName>
<LastName>Thruman</LastName>
</Name>
<DeptNo>10008022</DeptNo>
<MobNo>5464786544</MobNo>
</Employee>
</Employees>
预期输出:
<Employees>
<Employee>
<Name>
<FirstName>Paul</FirstName>
<LastName>Hecht</LastName>
</Name>
<MobNo>78952646</MobNo>
</Employee>
<Employee>
<Name>
<FirstName>Chris</FirstName>
<LastName>Grey</LastName>
</Name>
<MobNo>78941236</MobNo>
</Employee>
<Employee>
<Name>
<FirstName>Jessica</FirstName>
<LastName>Thruman</LastName>
</Name>
<MobNo/>
</Employee>
</Employees>