Benutzerdefinierte Erweiterungs-XML (Grid-Eigenschaft)
Verwenden Sie die XML-Eigenschaft benutzerdefinierte Erweiterung , um das Dialogfeld Xml-Datei für benutzerdefinierte Erweiterung auswählen zu öffnen, in dem Sie die Datei auswählen können, die die benutzerdefinierte Erweiterungs-XML für die Zuordnung enthält.
Category
Compiler
Zulässige Werte
Gültiger Name einer Datei, die die benutzerdefinierte XML-Erweiterung für die Zuordnung enthält.
Geben Sie entweder den vollständigen Pfadnamen der Datei ein, oder verwenden Sie die Schaltfläche mit den Auslassungspunkten (...) auf der rechten Seite des Eingabefelds, um das Dialogfeld Benutzerdefinierte XML-Erweiterungsdatei auswählen zu öffnen.
Standardwert
Keine.
Bemerkungen
In einer Zuordnung können Sie eine Methode in einer externen .NET-Assembly aufrufen. Dazu können Sie z. B. das Funktoid Skripting verwenden. In diesem Fall wird über die Zuordnung ein Namespace mit der externen .NET-Assembly verknüpft, sodass dieser auf die erstellte XSLT verweist. Das XSLT-Format lautet normalerweise folgendermaßen:
xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"
In diesem Fall steht {n} für die bereits in der Zuordnung verwendeten Assemblys. Die durch die XML-Eigenschaft der benutzerdefinierten Erweiterung identifizierte Datei wird verwendet, um diesen generierten Namespace an den FullyQualifiedName (FQN) der .NET-Assembly zu binden, auf die er verweist. Diese Datei wird bei Zuordnungstests und zur Laufzeit verwendet, um die .NET-Assembly zu instanziieren und anschließend die darin definierte Methode aufzurufen. In der Standardeinstellung wird diese Datei vom BizTalk-Mapper erstellt. Wenn Sie eine Zuordnung überprüfen, enthält das Ausgabefenster Links zur generierten XSLT-Datei und einen Link zur generierten benutzerdefinierten XML-Erweiterungsdatei, von der letztere in der Regel leer ist, mit Ausnahme des Tags "<ExtensionObjects/>".
Um eine nicht leere XML-Erweiterungsdatei zu generieren, verwenden Sie die externen Assemblyfelder des Dialogfelds Funktoidskript konfigurieren (zugeordnet mit der Script-Eigenschaft eines Skript-Funktoids ), um eine externe Assembly, Klasse und Methode innerhalb dieser Klasse zu identifizieren. Überprüfen Sie anschließend die Zuordnung, und untersuchen Sie den Inhalt der erstellten XSLT-Datei und der benutzerdefinierten XML-Datei. Die XSLT-Datei verwendet einen Namespace wie xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"
, und die benutzerdefinierte XML-Erweiterungsdatei definiert die Bindung zwischen diesem Namespace und der externen .NET-Assembly.
Es gibt zwei Fälle, in denen Sie Eine eigene benutzerdefinierte XML-Erweiterungsdatei erstellen und die XML-Datei der benutzerdefinierten Erweiterung so festlegen müssen, dass sie wie folgt darauf verweist:
Wenn Sie die Benutzerdefinierte XSLT Path-Eigenschaft verwenden, um Ihre eigene XSLT für die gesamte Zuordnungsdatei anzugeben, und Sie eine externe .NET-Assembly aus Ihrer XSLT aufrufen, sind Sie für die Erstellung einer ordnungsgemäß formatierten XML-Erweiterungsdatei verantwortlich, die die entsprechende Namespace-zu-Assembly-Bindung bereitstellt.
Wenn Sie die Skripttypen Inline XSLT oder Inline-XSLT-Aufrufvorlage in einem Skriptfunktions-Funktoid verwenden und eine Methode in einer externen .NET-Assembly aus dieser XSLT aufrufen, sind Sie für die Erstellung einer ordnungsgemäß formatierten XML-Erweiterungsdatei verantwortlich, die die entsprechende Namespace-zu-Assembly-Bindung bereitstellt. Dies ist erforderlich, da BizTalk-Mapper die bereitgestellte XSLT nicht in Bezug auf Aufrufe externer Assemblys analysiert. Alle Bindungsinformationen, die Sie mithilfe der XML-Eigenschaft der benutzerdefinierten Erweiterung bereitstellen, werden an alle Bindungsinformationen angefügt, die bereits generiert wurden, als die Zuordnung kompiliert wurde (z. B. Bindungen, die von anderen Skript-Funktoiden in der Zuordnung erforderlich sind, die die externe Assemblyoption verwenden). Wenn Sie die Zuordnung überprüfen, enthalten die resultierenden Inhalte der benutzerdefinierten XML-Erweiterungsdatei eine Kombination aus den von Ihnen bereitgestellten Bindungsinformationen mit den Bindungsinformationen, die von BizTalk-Mapper erstellt wurden.
In der folgenden XML-Beispieldatei für benutzerdefinierte Erweiterung ist der Namespace http://schemas.microsoft.com/BizTalk/2003/ScriptNS0
an eine Assembly namens "CustomFunctions.dll" gebunden, die eine Klasse mit dem Namen CustomFunctions.MyClass enthält:
<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>
In der von der entsprechenden Zuordnung generierten XSLT wird die GetData-Methode in dieser externen Assemblyklasse mit der folgenden Syntax aufgerufen:
ScriptNS0:GetData(p1, p2, p3)
Wobei das Namespacepräfix ScriptNS0 auf den Namespace http://schemas.microsoft.com/BizTalk/2003/ScriptNS0
verweist.
Hinweis
Sie können die XML-Eigenschaft der benutzerdefinierten Erweiterung nicht rückgängig machen oder wiederholen.