BizTalk生成命名空間默認前綴爲NS0。有沒有一種方法可以在不使用XSLT的情況下重寫它以生成不同的東西(這是架構更改時的開銷,XSLT也必須更新)?喜歡的東西BizTalk命名空間默認前綴
<pidx:Invoice>
,而不是
<ns0:Invoice>
這應該是簡單的(畢竟它只是一個命名空間前綴),但客戶端,而不是分析文檔使用它與命名空間的XML的,並沒有預期的命名空間前綴會導致他們悲傷。
謝謝。
BizTalk生成命名空間默認前綴爲NS0。有沒有一種方法可以在不使用XSLT的情況下重寫它以生成不同的東西(這是架構更改時的開銷,XSLT也必須更新)?喜歡的東西BizTalk命名空間默認前綴
<pidx:Invoice>
,而不是
<ns0:Invoice>
這應該是簡單的(畢竟它只是一個命名空間前綴),但客戶端,而不是分析文檔使用它與命名空間的XML的,並沒有預期的命名空間前綴會導致他們悲傷。
謝謝。
不,沒有。
kludgey答案是將XML轉換爲字符串和搜索/替換。
你可以這樣做。我在調用Google API時必須這樣做,它需要特定的命名空間前綴。
該方法是在您的XSD中使用<Schema>級別的Imports屬性。使用Imports對話框,您可以在每個名稱空間上定義特定的前綴。
您將不得不將模式分解成至少兩個單獨的XSD,以便您可以將一個導入到另一箇中,並在此時重新定義前綴。
嗨蘭迪, 對不起,但看起來我似乎無法重現這一點。有沒有辦法設置一個簡單的演示項目並在我的電子郵件中觸發? Feldman.Sean at gmail.com 謝謝, Sean – 2010-08-13 03:32:42
同意。儘管我不喜歡這種方法,並且在與工作人員聊天之後,我們找到了另一種解決方案。我們可以有一個自定義管道組件,它將接收命名空間,前綴和XSLT表達式並將其應用於輸出。輸出的映射將被配置爲根本不產生命名空間(因此ns0不存在於任何元素處),並且應該通過利用.NET XsltTransfomation以比字符串替換更高效的方式來實現。 – 2010-07-28 01:59:59