Mapping BizTalk命名空间默认前缀

Mapping BizTalk命名空间默认前缀,mapping,biztalk,Mapping,Biztalk,BizTalk生成的命名空间默认前缀为NS0。有没有一种方法可以在不使用XSLT的情况下覆盖它来生成不同的内容(模式更改时会产生开销,XSLT也必须更新)?差不多 <pidx:Invoice> 而不是 <ns0:Invoice> 这应该很简单(毕竟它只是一个名称空间前缀),但客户机正在解析文档,而不是将其作为具有名称空间的XML使用,并且没有预期的名称空间前缀会导致他们感到悲伤 谢谢。不,没有 一个笨拙的答案是将XML转换为字符串并进行搜索/替换。您可以这样

BizTalk生成的命名空间默认前缀为NS0。有没有一种方法可以在不使用XSLT的情况下覆盖它来生成不同的内容(模式更改时会产生开销,XSLT也必须更新)?差不多

<pidx:Invoice> 

而不是

<ns0:Invoice>

这应该很简单(毕竟它只是一个名称空间前缀),但客户机正在解析文档,而不是将其作为具有名称空间的XML使用,并且没有预期的名称空间前缀会导致他们感到悲伤

谢谢。

不,没有


一个笨拙的答案是将XML转换为字符串并进行搜索/替换。

您可以这样做。我在调用需要特定名称空间前缀的GoogleAPI时必须这样做

方法是在XSD级别使用Imports属性。使用“导入”对话框,可以在每个命名空间上定义特定的前缀


您必须将模式分解为至少两个单独的XSD,以便可以将其中一个导入到另一个中,并在此时重新定义前缀。

同意。虽然我不喜欢这种方法,在与同事聊天后,我们找到了一个不同的解决方案。我们可以有一个自定义管道组件,它将接受名称空间、前缀和XSLT表达式,并将其应用于输出。输出的映射将被配置为完全不生成名称空间(因此ns0在任何元素上都不存在),这应该比利用.NET XsltTransfomation进行字符串替换更有效。嗨,Randy,很抱歉,但看起来我似乎无法重现这一点。有没有一种方法,你可以设置一个简单的演示项目,并在我的电子邮件火?谢谢你,肖恩