我创建了两个独立的地图,每个地图的来源都来自 CDM 模式。我现在必须创建第三个映射,它应该根据子类型(标题中的字段元素)选择要使用的正确映射。
现在,我创建了一个 Joint.xslt 文件,其中包含选择和使用正确地图所需的逻辑。
在我的场景中:如果子类型是“发票”,则应使用一张特定的地图。如果子类型是“ConsolidatedInvoice”,则应使用另一个映射。
我考虑过使用 xsl:if 元素对子类型进行测试:
<xsl:variable name="var:InvoiceSubType" select="string(Header/InvoiceType/text())" />
<xsl:if test="$var:InvoiceSubType = 'Invoice'">
...use invoice map
</xsl:if>
但我不确定解决这个问题的正确方法。例如,当组合两个映射中的 XSLT 时,许多变量名称会重复,从而导致联合 XSLT 中的错误。
为了使用联合地图,我在地图属性中选择了它作为自定义 XSLT 路径,而源模式是 CDM。
如果您需要更多信息,请与我们联系。