Condividi tramite


Esecuzione di script tramite XSLT inline e modelli chiamata inline XSLT

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

Gli script XSLT inline e i modelli chiamata inline XSLT sono in grado di 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 linee guida dell'interfaccia utente e informazioni di riferimento sullo spazio dei nomi delle API per sviluppatori.

XSLT inline

Uno script XSLT inline può generare solo un output. Il functoid Scripting potrebbe non avere collegamenti di input. È necessario inoltre che il functoid stabilisca un collegamento diretto a un record o un campo all'interno dello schema di destinazione.

Lo script è responsabile inoltre della creazione del nodo di destinazione e delle eventuali strutture sottostanti.

Il seguente messaggio di istanza di input contiene due elementi che rappresentano le informazioni sul 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>  

Presumendo che si utilizzi uno schema di output appropriato, lo script produce il seguente output, quando eseguito in base al messaggio 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. Nello script sono specificati i percorsi dei valori dell'istanza di input.

Per un altro esempio di script XSLT inline, vedere XML Tools (BizTalk Server Samples Folder).

Modelli chiamata inline XSLT

Analogamente a uno script XSLT inline, è necessario che un modello chiamata inline XSLT stabilisca un collegamento diretto con un nodo di destinazione. Un modello chiamata inline XSLT può utilizzare tuttavia collegamenti dallo schema di origine e da altri functoid.

Il modello chiamata è responsabile della creazione del nodo di destinazione e delle eventuali strutture sottostanti.

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 XML Tools (BizTalk Server Samples Folder).

Vedere anche

Functoid Esecuzione script
Esecuzione di script con assembly esterni
Esecuzione di script tramite C#, JScript .NET e Visual Basic .NET inline
Come aggiungere functoid Esecuzione script a una mappa
Come configurare il functoid di script