Condividi tramite


Scripting utilizzando XSLT inline e modelli di chiamata XSLT

È possibile scrivere direttamente fogli di stile XSLT (Extensible Stylesheet Language Transformations) da usare nel functoid Scripting . Ciò consente di eseguire trasformazioni, che i collegamenti e i functoid predefiniti potrebbero non essere in grado di rappresentare. Esistono due tipi di script XSLT: XSLT in linea e modelli di chiamata XSLT. Quando si seleziona una delle opzioni nell'elenco a discesa Seleziona tipo di script nella finestra di dialogo Configure Scripting Functoid, viene visualizzato il codice di esempio che è possibile usare.

Gli script XSLT inline e i modelli di chiamata XSLT inline possono chiamare funzioni in assembly esterni. L'esecuzione di tali chiamate richiede l'impostazione della proprietà XML dell'estensione personalizzata della griglia. Per altre informazioni, vedere Custom Extension XML (Proprietà griglia) nelle informazioni di riferimento sullo spazio dei nomi delle API per sviluppatori e indicazioni sull'interfaccia utente.

Inline XSLT

Uno script XSLT inline può produrre solo output. Il functoid Scripting potrebbe non avere collegamenti di input. Il functoid deve anche collegarsi direttamente a un record o a un campo nello schema di destinazione.

Inoltre, lo script è responsabile della creazione del nodo di destinazione e delle eventuali strutture sottostanti.

Il messaggio di istanza di input seguente contiene due elementi che rappresentano le informazioni di contatto.

<ns0:SourceInstance xmlns:ns0="http://SourceInstanceNamespace">  
    <Address>  
        <Contact>Karin Zimprich</Contact>  
        <ContactType>Referral</ContactType>  
    </Address>  
</ns0:SourceInstance>  

Lo script XSLT inline seguente, immesso nel buffer di script, converte i campi Contact e ContactType in attributi.

<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>  

Lo script produce l'output seguente, presupponendo uno schema di output appropriato, quando viene eseguito sul messaggio dell'istanza di input precedente.

<ns0:OutInstance xmlns:ns0="http://More_XSLT.Out">  
    <ContactInfo ContactType="Referral" Contact="Karin Zimprich" xmlns:p="http://SourceInstanceNamespace">  
    </ContactInfo>  
</ns0:OutInstance>  

Si noti che l'assenza di collegamenti al functoid Scripting non impedisce allo script XSLT di ottenere dati dal messaggio dell'istanza di input. Lo script specifica i percorsi dei valori dell'istanza di input.

Per un altro esempio di script XSLT inline, vedere Strumenti XML (cartella di esempi di BizTalk Server).

Modelli di chiamata XSLT inline

Analogamente a uno script XSLT inline, un modello di chiamata XSLT inline deve connettersi direttamente a un nodo di destinazione. Tuttavia, un modello di chiamata XSLT inline può usare collegamenti dallo schema di origine e da altri functoid.

Il modello di chiamata è responsabile della creazione del nodo di destinazione e di una delle relative sottostruttura.

Un modello di chiamata XSLT di esempio che concatena due elementi viene visualizzato nel buffer dello script di input quando si seleziona Modello di chiamata XSLT inline nell'elenco a discesa Seleziona tipo di script .

Per un altro esempio di modello di chiamata XSLT inline, vedere Strumenti XML (cartella esempi di BizTalk Server).

Vedere anche

Scripting Functoid
Scripting utilizzando assembly esterni
Scripting con C# inline, JScript .NET e Visual Basic .NET
Come aggiungere Functoid di scripting a una mappa
Come configurare il Functoid di Scripting