自訂延伸模組 XML (Grid 屬性)
使用 自訂延伸模組 XML 屬性來開啟 [ 選取自訂擴充功能 XML 檔案 ] 對話方塊,您可以在其中選取包含對應之自訂副檔名 XML 的檔案。
類別
編譯器
允許的值
包含此對應之自訂延伸模組 XML 的檔案有效名稱。
輸入檔案的完整路徑名稱,或使用輸入欄位右側的省略號按鈕 (...) 開啟 [ 選取自訂副檔名 XML 檔案 ] 對話方塊。
預設值
無。
備註
在對應中,您可以在外部 .NET 元件中呼叫方法;例如,您可以使用 腳本 運算質來執行此動作。 當您這麼做時,該對應便會建立命名空間與此外部 .NET 組件的關聯,以便在產生的 XSLT 中參考它。 通常,此 XSLT 的格式如下:
xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"
其中,{n} 是目前為止,對應中已使用了多少個組件。 自訂延伸模組 XML屬性所識別的檔案是用來將此產生的命名空間系結至它所參考之 .NET 元件的 FullyQualifiedName (FQN) 。 在 TestMap 作業期間及執行階段,會使用這個檔案來具現化 .NET 組件,然後再呼叫其中定義的方法。 根據預設,這個檔案是由 BizTalk 對應工具產生。 當您驗證對應時,[輸出] 視窗會包含所產生 XSLT 檔案的連結,以及所產生自訂延伸模組 XML 檔案的連結,後者通常是空的,但標記 「 < ExtensionObjects/ > 」 除外。
若要產生非空白的自訂延伸模組 XML 檔案,請使用 [設定運算質腳本] 對話方塊的外部元件欄位, (與腳本運算質) 的Script屬性相關聯,以識別該類別內的外部元件、類別和方法。 然後,驗證對應並檢查產生之 XSLT 及自訂 XML 檔案的內容。 XSLT 檔案會使用例如 的 xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"
命名空間,而自訂副檔名 XML 檔案會定義這個命名空間與外部 .NET 元件之間的系結。
有兩種情況需要建置自己的自訂擴充功能 XML 檔案,並設定自訂 延伸模組 XML 檔案來參考它,如下所示:
如果您使用 自訂 XSLT Path 屬性來指定整個對應檔自己的 XSLT,而且您從 XSLT 呼叫外部 .NET 元件,您必須負責建立格式正確的自訂副檔名 XML 檔案,以提供適當的命名空間對元件系結。
如果您使用腳本運算質中的內嵌 XSLT或內嵌 XSLT 呼叫範本腳本類型,並從該 XSLT 外部 .NET 元件呼叫方法,您必須負責建立格式正確的自訂延伸模組 XML 檔案,以提供適當的命名空間對元件系結。 這是必要的做法,因為 BizTalk 對應工具不會剖析您提供的 XSLT 以尋找外部組件的呼叫。 您使用 自訂延伸模組 XML 屬性提供的任何系結資訊,都會附加至任何在編譯對應時所產生的系結資訊 (,例如使用外部元件選項之對應中的其他 腳本 運算質所需的系結) 。 當您驗證對應時,產生的自訂延伸模組 XML 檔案內容會包含您所提供之繫結資訊與 BizTalk 對應工具所產生之任何繫結資訊的聯集。
在下列範例自訂副檔名 XML 檔案中,命名空間 http://schemas.microsoft.com/BizTalk/2003/ScriptNS0
會系結至名為 「CustomFunctions.dll」 的元件,其中包含名為 CustomFunctions.MyClass的類別:
<ExtensionObjects>
<ExtensionObject
Namespace="http://schemas.microsoft.com/BizTalk/2003/ScriptNS0"
AssemblyName="CustomFunctions, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
ClassName="CustomFunctions.MyClass" />
</ExtensionObjects>
在對應對應所產生的 XSLT 中,會使用下列語法呼叫這個外部元件類別中的 GetData 方法:
ScriptNS0:GetData(p1, p2, p3)
其中命名空間前置詞 ScriptNS0 參考命名空間 http://schemas.microsoft.com/BizTalk/2003/ScriptNS0
。
注意
您無法復原或取消復原 自訂延伸模組 XML 屬性。