사용자 지정 확장 XML(Grid 속성)

 

사용자 지정 확장 XML 속성을 사용하여 사용자 지정 확장자 XML 파일 선택 대화 상자를 엽니다. 이 대화 상자에서 맵에 대한 사용자 지정 확장 XML이 포함된 파일을 선택할 수 있습니다.

범주

컴파일러

허용되는 값

맵에 사용할 사용자 지정 확장 XML이 포함된 파일의 올바른 이름입니다.

파일의 전체 경로 이름을 입력하거나 입력 필드 오른쪽에 있는 줄임표 단추(...)를 사용하여 사용자 지정 확장 XML 파일 선택 대화 상자를 엽니다.

기본값

없음

설명

맵에서 외부 .NET 어셈블리에서 메서드를 호출할 수 있습니다. 예를 들어 Scripting 펑토이드를 사용하여 이 작업을 수행할 수 있습니다. 이렇게 하면 맵이 네임스페이스를 외부 .NET 어셈블리와 연결하여 생성된 XSLT에서 참조합니다. 이 XSLT는 일반적으로 다음 형식을 사용합니다.

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

여기서 {n}은 지금까지 맵에서 사용된 어셈블리 개수에 해당하는 숫자입니다. 사용자 지정 확장 XML 속성으로 식별된 파일은 이 생성된 네임스페이스를 참조하는 .NET 어셈블리의 FQN(FullyQualifiedName)에 바인딩하는 데 사용됩니다. 이 파일은 TestMap 작업 중 및 런타임에 사용되어 .NET 어셈블리를 인스턴스화한 다음 해당 어셈블리에 정의된 메서드를 호출합니다. 기본적으로 이 파일은 BizTalk 맵 편집기에서 생성됩니다. 맵의 유효성을 검사하면 출력 창에 생성된 XSLT 파일에 대한 링크와 생성된 사용자 지정 확장 XML 파일에 대한 링크가 포함되며, 후자는 일반적으로 "<ExtensionObjects/>" 태그를 제외하고 비어 있습니다.

비어 있지 않은 사용자 지정 확장 XML 파일을 생성하려면 펑토이드 스크립트 구성 대화 상자(Scripting 펑토이드스크립트 속성과 연결됨)의 외부 어셈 블리 필드를 사용하여 해당 클래스 내에서 외부 어셈블리, 클래스 및 메서드를 식별합니다. 그런 다음 맵의 유효성을 검사하고 생성된 XSLT 및 사용자 지정 XML 파일의 내용을 검토합니다. XSLT 파일은 같은 xmlns:ScriptNS{n}="http://schemas.microsoft.com/BizTalk/2003/ScriptNS{n}" 네임스페이스를 사용하며 사용자 지정 확장명 XML 파일은 이 네임스페이스와 외부 .NET 어셈블리 간의 바인딩을 정의합니다.

다음과 같이 사용자 지정 확장자 XML 파일을 빌드하고 사용자 지정 확장 XML 파일을 참조하도록 설정해야 하는 두 가지 경우가 있습니다.

  • 사용자 지정 XSLT 경로 속성을 사용하여 전체 맵 파일에 대해 고유한 XSLT를 지정하고 XSLT에서 외부 .NET 어셈블리를 호출하는 경우 적절한 네임스페이스-어셈블리 바인딩을 제공하는 적절한 형식의 사용자 지정 확장 XML 파일을 만들어야 합니다.

  • Scripting 펑토이드 에서 인라인 XSLT 또는 인라인 XSLT 호출 템플릿 스크립트 형식 사용하고 해당 XSLT의 외부 .NET 어셈블리에서 메서드를 호출하는 경우 적절한 네임스페이스-어셈블리 바인딩을 제공하는 적절한 형식의 사용자 지정 확장 XML 파일을 만들어야 합니다. 이는 BizTalk 맵 편집기가 제공된 XSLT를 구문 분석하여 외부 어셈블리에 대한 호출을 찾지 않기 때문입니다. 사용자 지정 확장 XML 속성을 사용하여 제공하는 모든 바인딩 정보는 맵이 컴파일될 때 이미 생성된 바인딩 정보에 추가됩니다(예: 외부 어셈블리 옵션을 사용하는 맵의 다른 Scripting 펑토이드에 필요한 바인딩). 맵의 유효성을 검사할 때 사용자 지정 확장 XML의 결과 내용에는 사용자가 제공한 바인딩 정보와 BizTalk 맵 편집기에서 생성한 바인딩 정보가 모두 포함됩니다.

다음 예제 사용자 지정 확장 XML 파일에서 네임스페이스는 http://schemas.microsoft.com/BizTalk/2003/ScriptNS0CustomFunctions.MyClass라는 클래스를 포함하는 "CustomFunctions.dll"라는 어셈블리에 바인딩됩니다.

<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 속성을 실행 취소하거나 다시 실행할 수 없습니다.

참고 항목

그리드 속성