我要求在所有节点上生成带有名称空间前缀的输出消息。
有人可以帮助我吗?
我的问题是在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对我来说并不重要。
答案 0 :(得分:2)
将目标架构上的ElementFormDefault
属性设置为Qualified
:
可以通过单击树中的<Schema>
节点查看该属性;请注意,这是对架构的更改,而不是在地图中完成(尽管图像可能看起来像):
答案 1 :(得分:1)
这两个Xml都是相同的,如果使用前缀或不符合Xml元素属于命名空间的定义方案,则无关紧要。请求具有特定前缀的xml不是有效要求。即使您需要这样做,也可以使用自定义Xslt。
答案 2 :(得分:0)
有许多依赖ns前缀的传统解析器。即使它是同一件事。这里的解决方案是将您的架构设置为XML类型,并且您将拥有您的命名空间,如果您有一个平面文件架构,那么Dan Field将您的ElementFormDefault设置为Qualified,并在XSLT中写下您想要的内容