共用方式為


使用內嵌 XSLT 和 XSLT 呼叫範本編寫腳本

您可以直接撰寫可延伸樣式表語言轉換 (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 腳本會將 ContactContactType 字段轉換成屬性。

<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 編寫腳本
如何將腳本功能元件新增到映射
如何配置腳本函數元