Partager via


Scriptage avec XSLT inline et modèles d'appel XSLT

Vous pouvez écrire directement des feuilles de style XSLT (Extensible Stylesheet Language Transformations) à utiliser dans le fonctoid Scripting . Cela vous permet d’effectuer des transformations, lesquelles les liens et les fonctoids intégrés peuvent ne pas être en mesure de représenter. Il existe deux types de scripts XSLT : XSLT inline et modèles d'appel XSLT. Lorsque vous sélectionnez une option dans la liste déroulante Sélectionner le type de script dans la boîte de dialogue Configurer le fonctoid de script, un exemple de code s’affiche que vous pouvez utiliser.

Les scripts XSLT inline et les modèles d’appel XSLT inline peuvent appeler des fonctions dans des assemblys externes. L’établissement de ces appels nécessite la définition de la propriété XML d’extension personnalisée de la grille. Pour plus d’informations, consultez Custom Extension XML (Grid Property) dans les instructions de l’interface utilisateur et les informations de référence sur l’espace de noms de l’API des développeurs.

XSLT en ligne

Un script XSLT inline peut produire uniquement une sortie. Le fonctoid Scripting peut ne pas comporter de liens d’entrée. Le fonctoid doit également établir un lien direct vers un enregistrement ou un champ dans le schéma de destination.

En outre, le script est responsable de la création du nœud cible et de toutes les structures sous-jacentes.

Le message d’instance d’entrée suivant contient deux éléments représentant les informations de contact.

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

Le script XSLT inline suivant, entré dans la mémoire tampon de script, convertit les champs Contact et ContactType en attributs.

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

Le script produit la sortie suivante, en supposant qu’un schéma de sortie approprié est exécuté sur le message d’instance d’entrée précédent.

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

Notez que l’absence de liens vers le fonctoid Scripting n’empêche pas le script XSLT d’obtenir des données du message d’instance d’entrée. Le script spécifie les chemins d’accès aux valeurs d’instance d’entrée.

Pour obtenir un autre exemple de script XSLT inline, consultez les outils XML (dossier d’exemples BizTalk Server).

Modèles d’appel XSLT en ligne

Comme un script XSLT inline, un modèle d’appel XSLT inline doit se connecter directement à un nœud de destination. Toutefois, un modèle d’appel XSLT inline peut utiliser des liens à partir du schéma source et d’autres fonctoids.

Le modèle d’appel est chargé de créer le nœud de destination et l’une de ses sous-structures.

Un exemple de modèle d’appel XSLT qui concatène deux éléments apparaît dans la mémoire tampon du script d’entrée lorsque vous sélectionnez Modèle d’appel XSLT inline dans la liste déroulante Sélectionner le type de script .

Pour obtenir un autre exemple de modèle d’appel XSLT inline, consultez les outils XML (dossier d’exemples BizTalk Server).

Voir aussi

Fonction de script
Scriptage utilisant des assemblages externes
Programmation de scripts avec C#, JScript .NET et Visual Basic .NET
Comment ajouter des functoids de script à une carte
Comment configurer le fonctoid de scripting