Extension XML personnalisée (propriété Grid)
Utilisez la propriété XML d’extension personnalisée pour ouvrir la boîte de dialogue Sélectionner un fichier XML d’extension personnalisée , dans laquelle vous pouvez sélectionner le fichier qui contient le code XML d’extension personnalisé pour la carte.
Category
Compilateur
Valeurs autorisées
Nom valide d'un fichier contenant le XSM avec extensions personnalisées pour le mappage.
Tapez le nom complet du chemin d’accès du fichier ou utilisez le bouton de sélection (...) à droite du champ d’entrée pour ouvrir la boîte de dialogue Sélectionner un fichier XML d’extension personnalisée .
Valeur par défaut
Aucun.
Notes
Dans une carte, vous pouvez appeler une méthode dans un assembly .NET externe ; vous pouvez le faire à l’aide du fonctoid Scripting , par exemple. Dans ce cas, le mappage associe un espace de noms à cet assembly .NET externe afin de le référencer dans le XSLT qui est généré. Le XSLT se présente généralement sous la forme suivante :
xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"
Où {n} est un nombre correspondant au nombre d'assemblys qui ont été utilisés dans le mappage jusqu'à présent. Le fichier identifié par la propriété XML de l’extension personnalisée est utilisé pour lier cet espace de noms généré au nom complet (FQN) de l’assembly .NET auquel il fait référence. Ce fichier est utilisé dans les opérations TestMap et au moment de l'exécution pour instancier l'assembly .NET et appeler ensuite la méthode qu'il contient. Par défaut, ce fichier est généré par le Mappeur BizTalk. Lorsque vous validez une carte, la fenêtre Sortie contient des liens vers le fichier XSLT généré et un lien vers le fichier XML d’extension personnalisé généré, ce dernier étant généralement vide à l’exception de la balise «< ExtensionObjects/> ».
Pour générer un fichier XML d’extension personnalisée non vide, utilisez les champs d’assembly externe de la boîte de dialogue Configurer un script fonctoid (associée à la propriété Script d’un fonctoid Scripting ) pour identifier un assembly externe, une classe et une méthode au sein de cette classe. Validez ensuite le mappage et parcourez le contenu des fichiers XSLT et XML avec extensions personnalisées générés. Le fichier XSLT utilise un espace de noms tel que xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"
et le fichier XML d’extension personnalisé définit la liaison entre cet espace de noms et l’assembly .NET externe.
Il existe deux cas dans lesquels vous devez créer votre propre fichier XML d’extension personnalisée et définir le fichier XML d’extension personnalisée pour y faire référence, comme suit :
Si vous utilisez la propriété Chemin XSLT personnalisé pour spécifier votre propre XSLT pour l’ensemble du fichier de carte et que vous appelez un assembly .NET externe à partir de votre XSLT, vous êtes responsable de la création d’un fichier XML d’extension personnalisé correctement mis en forme qui fournit la liaison d’espace de noms à assembly appropriée.
Si vous utilisez les types de script XSLT inline ou Inline XSLT Call Template dans un fonctoid Scripting et que vous appelez une méthode dans un assembly .NET externe à partir de ce XSLT, vous êtes responsable de la création d’un fichier XML d’extension personnalisée correctement mis en forme qui fournit la liaison d’espace de noms à assembly appropriée. Cela est nécessaire car le Mappeur BizTalk n'analyse pas le XSLT fourni à la recherche d'appels vers des assemblys externes. Toutes les informations de liaison que vous fournissez à l’aide de la propriété XML de l’extension personnalisée seront ajoutées à toutes les informations de liaison qui ont déjà été générées lors de la compilation de la carte (telles que les liaisons requises par d’autres fonctoids scripting dans la carte qui utilisent l’option d’assembly externe). Lorsque vous validez le mappage, le fichier XML avec extensions personnalisées obtenu contient la somme des informations de liaison que vous avez fournies ainsi que les informations de liaison générées par le Mappeur BizTalk.
Dans l’exemple de fichier XML d’extension personnalisée suivant, l’espace de noms http://schemas.microsoft.com/BizTalk/2003/ScriptNS0
est lié à un assembly nommé « CustomFunctions.dll » qui contient une classe nommée CustomFunctions.MyClass :
<ExtensionObjects>
<ExtensionObject
Namespace="http://schemas.microsoft.com/BizTalk/2003/ScriptNS0"
AssemblyName="CustomFunctions, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
ClassName="CustomFunctions.MyClass" />
</ExtensionObjects>
Dans le XSLT généré par la carte correspondante, la méthode GetData de cette classe d’assembly externe est appelée à l’aide de la syntaxe suivante :
ScriptNS0:GetData(p1, p2, p3)
Où le préfixe d’espace de noms ScriptNS0 fait référence à l’espace de noms http://schemas.microsoft.com/BizTalk/2003/ScriptNS0
.
Notes
Vous ne pouvez pas annuler ou rétablir la propriété XML de l’extension personnalisée .