XML de extensión personalizada (propiedad Grid)

 

Utilice la propiedad XML de extensión personalizada para abrir el cuadro de diálogo Seleccionar archivo XML de extensión personalizada , en el que puede seleccionar el archivo que contiene el XML de extensión personalizada para el mapa.

Categoría

Compilador

Valores permitidos

Nombre válido de un archivo que contiene el código XML de extensión personalizada para la asignación.

Escriba el nombre de ruta de acceso completa del archivo o use el botón de puntos suspensivos (...) en el lado derecho del campo de entrada para abrir el cuadro de diálogo Seleccionar archivo XML de extensión personalizada .

Valor predeterminado

Ninguno.

Comentarios

En un mapa, puede llamar a un método en un ensamblado .NET externo; Puede hacerlo mediante el functoid Scripting , por ejemplo. Al hacerlo, la asignación asocia un espacio de nombres al ensamblado .NET externo a fin de hacer referencia a él en el código XSLT que se genera. Este código XSLT suele tener el formato siguiente:

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

Donde {n} es un número correspondiente a la cantidad de ensamblados usados en la asignación hasta ahora. El archivo identificado por la propiedad XML de extensión personalizada se usa para enlazar este espacio de nombres generado al nombre FullyQualifiedName (FQN) del ensamblado de .NET al que hace referencia. Este archivo se usa durante las operaciones de comprobación de asignaciones y en tiempo de ejecución para crear instancias del ensamblado .NET y, a continuación, llamar al método definido en su interior. De manera predeterminada, el Asignador de BizTalk genera este archivo. Al validar un mapa, la ventana Salida contendrá vínculos al archivo XSLT generado y un vínculo al archivo XML de extensión personalizada generado, el último de los cuales suele estar vacío excepto la etiqueta "<ExtensionObjects/>".

Para generar un archivo XML de extensión personalizada no vacío, use los campos de ensamblado externo del cuadro de diálogo Configurar script functoid (asociado a la propiedad Script de un functoid script) para identificar un ensamblado externo, clase y método dentro de esa clase. A continuación, valide la asignación y examine el contenido de los archivos XSLT y XML personalizado. El archivo XSLT usará un espacio de nombres como xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}" y el archivo XML de extensión personalizada definirá el enlace entre este espacio de nombres y el ensamblado .NET externo.

Hay dos casos en los que tendrá que compilar su propio archivo XML de extensión personalizada y establecer el archivo XML de extensión personalizada para hacer referencia a él, como se indica a continuación:

  • Si usa la propiedad Ruta de acceso XSLT personalizada para especificar su propio XSLT para todo el archivo de asignación y llama a un ensamblado .NET externo desde su XSLT, es responsable de crear un archivo XML de extensión personalizada con formato correcto que proporcione el enlace de espacio de nombres adecuado a ensamblado.

  • Si usa los tipos de script Inline XSLT o Inline XSLT Call Template en un functoid scripting y llama a un método en un ensamblado .NET externo desde ese XSLT, es responsable de crear un archivo XML de extensión personalizada con formato correcto que proporcione el enlace de espacio de nombres adecuado a ensamblado. Esto es necesario porque el Asignador de BizTalk no analiza el XSLT en busca de llamadas a ensamblados externos. Cualquier información de enlace que proporcione mediante la propiedad XML de extensión personalizada se anexará a cualquier información de enlace que ya se haya generado cuando se compile el mapa (como los enlaces requeridos por otros functoids de scripting en el mapa que usan la opción de ensamblado externo). Al validar la asignación, el contenido resultante del archivo XML de extensión personalizada contiene la unión de la información de enlace proporcionada y la información de enlace generada por el Asignador de BizTalk.

En el siguiente archivo XML de extensión personalizada de ejemplo, el espacio de nombres http://schemas.microsoft.com/BizTalk/2003/ScriptNS0 se enlaza a un ensamblado denominado "CustomFunctions.dll" que contiene una clase denominada 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>  
  

En el XSLT generado por el mapa correspondiente, se llama al método GetData de esta clase de ensamblado externo mediante la sintaxis siguiente:

ScriptNS0:GetData(p1, p2, p3)  
  

Donde el prefijo de espacio de nombres ScriptNS0 hace referencia al espacio de nombres http://schemas.microsoft.com/BizTalk/2003/ScriptNS0.

Nota

No se puede deshacer ni rehacer la propiedad XML de extensión personalizada .

Consulte también

Propiedades de cuadrícula