我有一个奇怪的问题。我正在 MapForce 中生成 XSD 到 XSD 的映射,它是有效的并产生输出。但是,当我们的 DataPower 人员使用 XSLT 时,他们说 XSLT 中的名称空间前缀导致代码在传入消息中找不到节点。
例如,在 XSLT 中,选择是:
<xsl:for-each select="ns0:costOrderHeaderLookupResponse/return/ns1:Order">
在传入消息中,命名空间前缀如下:
*snip*
<return>
<ns2:Order BillToID="300850001000" DocumentType="0001"....*snip*>
然而,即使命名空间前缀不同,MapForce 也能很好地生成输出,没有错误。
DataPower 人员要求我自定义 MapForce 来代替命名空间前缀来输出如下节点:
/*[local-name()='Order']
我阅读了 MapForce 文档并在 Google 上搜索了一段时间,但我没有找到像这样自定义 XSLT 输出的方法。C/Java/etc 是可能的,但我没有找到任何关于更改 XSLT 生成方式的帮助。