XML de extensión personalizada (propiedad Grid)

 

Use 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 personalizado 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.

Observaciones

En un mapa, puede llamar a un método en un ensamblado externo de .NET; 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 a 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 personalizado 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 externos del cuadro de diálogo Configurar script de functoid (asociado a la propiedad Script de un functoid de scripting) para identificar un ensamblado externo, una clase y un 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 xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}" de nombres como y el archivo XML de extensión personalizado definirá el enlace entre este espacio de nombres y el ensamblado externo de .NET.

Hay dos casos en los que deberá crear su propio archivo XML de extensión personalizado y establecer el archivo XML de extensión personalizada para que haga referencia a él, como se muestra a continuación:

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

  • Si usa los tipos de script Xslt en línea o Plantilla de llamada XSLT insertada en un functoid de 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 proporciona el enlace de espacio de nombres a ensamblado adecuado. 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 compiló la asignación (por ejemplo, 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, http://schemas.microsoft.com/BizTalk/2003/ScriptNS0 el espacio de nombres está enlazado 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 la asignación 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