自定义扩展 XML (网格属性)

 

使用 “自定义扩展 XML ”属性打开 “选择自定义扩展 XML 文件 ”对话框,可在其中选择包含映射自定义扩展 XML 的文件。

类别

编译器

允许的值

有效文件名称,该文件包含映射的自定义扩展 XML。

键入文件的完整路径名称,或使用输入字段右侧的省略号按钮 (...) 打开“ 选择自定义扩展 XML 文件 ”对话框。

默认值

无。

备注

在映射中,可以在外部 .NET 程序集中调用 方法;例如,可以使用 Scripting functoid 执行此操作。 进行该操作时,映射会将一个命名空间与此外部 .NET 程序集关联,以便于在所生成的 XSLT 中引用该程序集。 此 XSLT 的格式通常如下:

xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}"  
  

其中,{n} 是到目前为止,映射中已使用的程序集数。 自定义扩展 XML 属性标识的文件用于将此生成的命名空间绑定到它所引用的 .NET 程序集的 FullyQualifiedName (FQN) 。 此文件将在执行 TestMap 期间使用,以及在运行时用于实例化 .NET 程序集,然后调用该程序集中定义的方法。 默认情况下,此文件由 BizTalk 映射器生成。 验证映射时,“输出”窗口将包含生成的 XSLT 文件的链接和生成的自定义扩展 XML 文件的链接,后者通常为空,标记“<ExtensionObjects/>”除外。

若要生成非空的自定义扩展 XML 文件,请使用“配置 Functoid 脚本”对话框的外部程序集字段 (与 Scripting functoid) 的 Script 属性相关联,以标识该类中的外部程序集、类和方法。 然后验证映射,并检查所生成的 XSLT 文件和自定义 XML 文件的内容。 XSLT 文件将使用等 xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}" 命名空间,自定义扩展 XML 文件将定义此命名空间与外部 .NET 程序集之间的绑定。

在两种情况下,需要生成自己的自定义扩展 XML 文件,并将 自定义扩展 XML 文件设置为引用该文件,如下所示:

  • 如果使用 自定义 XSLT Path 属性为整个映射文件指定自己的 XSLT,并从 XSLT 调用外部 .NET 程序集,则负责创建格式正确的自定义扩展 XML 文件,该文件提供适当的命名空间到程序集绑定。

  • 如果在 Scripting functoid 中使用内联 XSLT内联 XSLT 调用模板脚本类型,并从该 XSLT 调用外部 .NET 程序集中的方法,则负责创建格式正确的自定义扩展 XML 文件,该文件提供适当的命名空间到程序集绑定。 这是必须的,因为 BizTalk 映射器不会解析您提供的用于查找外部程序调用的 XSLT。 使用 自定义扩展 XML 属性提供的任何绑定信息都将追加到编译映射时已生成的任何绑定信息 (例如使用外部程序集选项的映射中的其他 脚本 functoid 所需的绑定) 。 验证映射时,生成的自定义扩展 XML 文件的内容中含有您提供的绑定信息和 BizTalk 映射器生成的所有绑定信息。

在以下示例自定义扩展 XML 文件中,命名空间 http://schemas.microsoft.com/BizTalk/2003/ScriptNS0 绑定到名为“CustomFunctions.dll”的程序集,该程序集包含名为 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>  
  

在相应映射生成的 XSLT 中,使用以下语法调用此外部程序集类中的 GetData 方法:

ScriptNS0:GetData(p1, p2, p3)  
  

其中,命名空间前缀 ScriptNS0 引用命名空间 http://schemas.microsoft.com/BizTalk/2003/ScriptNS0

注意

无法撤消或重做 自定义扩展 XML 属性。

另请参阅

网格属性