使用Scripting Functoid将单个元素映射到记录

时间:2013-01-28 15:34:14

标签: xslt scripting mapping biztalk

我正在尝试在源模式中创建两个不同元素(Element1和Element2)之间的映射,以及目标模式中的相同记录以及其中的元素,如以下格式所示。

<coverages>
  //If Element1(Source Schema element) has data
  <coverage>
    <CoverageTypeCd>Data1</CoverageTypeCd>
  </coverage>    

  //If Element2(Source Schema element) has data
  <coverage>
    <CoverageTypeCd>Data2</CoverageTypeCd>
  </coverage>
</coverages>

我现在正在尝试检查Elements(Source Schema)上是否存在值,然后尝试将其提供给脚本functoid。我不知道我应该如何制作整个 <coverage>节点,仍然会发送该记录的相应<coverageTypeCd>,如上所示。我相信应该使用Inline XSLT。我真的需要别人的帮助。

提前致谢。

如果您需要其他详细信息,请与我们联系。

更新

大家好,我自己找到了答案。我使用Inline XSLT Call template作为脚本类型,它完成了这项工作。我将此脚本应用于源架构上的不同元素以映射Coverage记录

<xsl:template name="CoverageTemplate1"> 
  <xsl:param name="Element1" /> 
  <xsl:element name="Coverage"> 
    <xsl:element name="CoverageTypeCd">
      <xsl:value-of select="$Element1" />
    </xsl:element> 
  </xsl:element> 
</xsl:template> 

谢谢

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。我使用“内联XSLT调用模板”作为脚本类型,它完成了这项工作。我将此脚本应用于源架构上的不同元素以映射Coverage记录

<xsl:template name="CoverageTemplate1"> 
<xsl:param name="Element1" /> 
<xsl:element name="Coverage">
 <xsl:element name="CoverageTypeCd"><xsl:value-of    
select="$Element1" /></xsl:element>     
</xsl:element> 
</xsl:template> 

由于