Biztalk映射与名称空间前缀

时间:2015-06-18 10:21:43

标签: biztalk biztalk-2009

我要求在所有节点上生成带有名称空间前缀的输出消息。

有人可以帮助我吗?

我的问题是在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对我来说并不重要。

3 个答案:

答案 0 :(得分:2)

将目标架构上的ElementFormDefault属性设置为Qualified

Qualified Property

可以通过单击树中的<Schema>节点查看该属性;请注意,这是对架构的更改,而不是在地图中完成(尽管图像可能看起来像):

Schema node

答案 1 :(得分:1)

这两个Xml都是相同的,如果使用前缀或不符合Xml元素属于命名空间的定义方案,则无关紧要。请求具有特定前缀的xml不是有效要求。即使您需要这样做,也可以使用自定义Xslt。

答案 2 :(得分:0)

有许多依赖ns前缀的传统解析器。即使它是同一件事。这里的解决方案是将您的架构设置为XML类型,并且您将拥有您的命名空间,如果您有一个平面文件架构,那么Dan Field将您的ElementFormDefault设置为Qualified,并在XSLT中写下您想要的内容