我需要在所有节点上生成带名称空间前缀的输出消息。带名称空间前缀的Biztalk映射
有人能帮我吗?
我的问题是,在BizTalk中映射后,输出消息具有内联命名空间。
例如,我想到:
<ns0:root xmlns:ns0="http://www.domain1.com" xmlns:domain2="http://www.domain2.com">
<domain2:element1>abc</domain2:element1>
<ns0:element2>abc</ns0:element2>
</ns0:root>
但它是:
<root xmlns="http://www.domain1.com">
<element1 xmlns="http://www.domain2.com">abc</element1>
<element2 xmlns="http://www.domain1.com">abc</element2>
</root>
命名空间别名NS0,DOMAIN2不是对我很重要。
它是使用前缀限定元素的良好做法。一些解析器在使用默认命名空间时可能会遇到问题,并且一些贸易伙伴可能需要这些元素是合格的。 –
是的,正如丹菲尔德所说,不幸的是我们的客户在默认命名空间时遇到了麻烦。 –
正如我前面所说,如果你必须这样做,请使用自定义Xslt。我同意Dan关于命名空间的限定元素,但是,既然xml已经有了限定元素,所以我假设yr模式是正确的。具有前缀只是避免用每个元素声明名称空间。如果你使用yr模式验证第二个xml,它应该也是第一个有效的。如果年轻客户坚持要有前缀,可以使用自定义Xslt来完成。验证yr地图,它会生成Xsl文件,在输出窗口中检查。用它作为年的起点。一旦Dane将ys项目中的Xsl文件保存并在地图中使用它。 –