您可以直接撰寫可延伸樣式表語言轉換 (XSLT) 樣式表,以用於 腳本 元件。 這可讓您執行資料轉換,這是鏈結和內建功能模組可能無法表示的。 XSLT 腳本有兩種:內嵌 XSLT 和 XSLT 呼叫範本。 當您在 [設定文本運算質] 對話方塊的 [選取腳本類型] 下拉式清單中選取任一個時,可以使用範例代碼。
內嵌 XSLT 腳本和內嵌 XSLT 呼叫範本可能會呼叫外部元件中的函式。 進行這類呼叫需要設定方格的 自定義延伸模組 XML 屬性。 如需詳細資訊,請參閱UI指引和開發人員 API 命名空間參考中的自定義延伸模組 XML (Grid 屬性)。
內嵌 XSLT
內嵌 XSLT 腳本只能產生輸出。 腳本功能模塊可能沒有任何輸入連結。 函數小元也必須直接連結到目標架構中的記錄或欄位。
此外,腳本會負責建立目標節點及其下的任何結構。
下列輸入訊息實例包含兩個代表連絡資訊的元素。
<ns0:SourceInstance xmlns:ns0="http://SourceInstanceNamespace">
<Address>
<Contact>Karin Zimprich</Contact>
<ContactType>Referral</ContactType>
</Address>
</ns0:SourceInstance>
在腳本緩衝區中輸入的下列內嵌 XSLT 腳本會將 Contact 和 ContactType 字段轉換成屬性。
<ContactInfo xmlns:p="http://SourceInstanceNamespace">
<xsl:variable name="var:var1" select="/p:SourceInstance/Address/ContactType" />
<xsl:attribute name="ContactType">
<xsl:value-of select="$var:var1" />
</xsl:attribute>
<xsl:variable name="var:var2" select="/p:SourceInstance/Address/Contact" />
<xsl:attribute name="Contact">
<xsl:value-of select="$var:var2" />
</xsl:attribute>
</ContactInfo>
當針對上述輸入實例訊息執行時,腳本會產生下列輸出,並假設有適當的輸出架構。
<ns0:OutInstance xmlns:ns0="http://More_XSLT.Out">
<ContactInfo ContactType="Referral" Contact="Karin Zimprich" xmlns:p="http://SourceInstanceNamespace">
</ContactInfo>
</ns0:OutInstance>
請注意,缺少到 腳本 functoid 的鏈接並不會阻止 XSLT 腳本從輸入實例訊息中取得數據。 文本會指定輸入實例值的路徑。
如需內嵌 XSLT 腳本的另一個範例,請參閱 XML 工具 (BizTalk Server Samples Folder) 。
內嵌 XSLT 通話範本
如同內嵌 XSLT 腳本,內嵌 XSLT 呼叫範本必須直接連線到目的地節點。 不過,內嵌 XSLT 調用模板可能會使用從來源架構和其他功能組件來的連結。
呼叫範本負責建立目的地節點及其任何子結構。
當您在 [選取腳本類型] 下拉式清單中選取 [內嵌 XSLT 呼叫範本] 時,串連兩個元素的範例 XSLT 呼叫範本會出現在輸入腳本緩衝區中。
如需內嵌 XSLT 呼叫範本的另一個範例,請參閱 XML 工具 (BizTalk Server Samples Folder) 。
另請參閱
腳本功能程式
使用外部元件編寫文本
使用內嵌 C#、JScript .NET 和 Visual Basic .NET 編寫腳本
如何將腳本功能元件新增到映射
如何配置腳本函數元