【问题标题】:XSLT call template in BizTalk MappingBizTalk 映射中的 XSLT 调用模板
【发布时间】:2017-08-30 11:45:14
【问题描述】:

我收到一个平面文件和一个 Oracle 视图绑定,我需要将这两者中的模式映射到一个发送平面文件。 Employee Id 是平面文件和 Oracle 视图中的公共字段。我需要检查输入架构上的员工 ID,还需要检查 Oracle 中的 PREFERREDLASTNAME 字段是否不为空,然后从 Oracle 视图发送 PREFERREDLASTNAME,否则从文件架构发送 Last_Name。

这里我使用的是 XSLT 调用模板。但我不确定如何检查 PREFREEDEDLASTNAME 是否不为 NULL,然后将 Last_Name 设置为 PREFREEDEDLASTNAME,否则从输入平面文件中设置 Last_Name。

下面是地图

 <xsl:template name="GetLastNameVW_EMP_JOB_DEPT"> 
 <xsl:param name="ID" /> 
 <xsl:element name="Last_Name">
 <xsl:value-of select="//s0:VW_EMP_JOB_DEPTRECORDSELECT[s0:EMPLOYEE_ID = $ID]/s0:PREFERREDLASTNAME" />
 </xsl:element> 
 </xsl:template>

使用上面的 XSLT,它只在两个模式中查找 Employee_Number = EMPLOYEE_ID,并将 Last_Name 设置为 PREFERREDLASTNAME,如果它们不相等则留空。如何修改我的 XSLT 以执行条件

【问题讨论】:

标签: xslt biztalk biztalk-2013 biztalk-mapper


【解决方案1】:

这是解决方案:

<xsl:template name="GetLastNameVW_EMP_JOB_DEPT"> 
<xsl:param name="ID" /> 
 <xsl:param name="LASTNAME" /> 
 <xsl:element name="Last_Name">
   <xsl:choose>
       <xsl:when test="//s0:VW_JAX_EMP_JOB_DEPTRECORD[s0:EMPLOYEE_ID = $ID]/s0:PREFERREDLASTNAME" >
         <xsl:value-of select="//s0:VW_JAX_EMP_JOB_DEPTRECORD[s0:EMPLOYEE_ID = $ID]/s0:PREFERREDLASTNAME" />
       </xsl:when>
       <xsl:otherwise>
         <xsl:value-of select="$LASTNAME" />
       </xsl:otherwise>
   </xsl:choose>
 </xsl:element> 
 </xsl:template>

【讨论】:

    猜你喜欢
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 2021-08-13
    相关资源
    最近更新 更多