Index 펑토이드
Index 펑토이드를 사용하면 일련의 레코드에서 특정 레코드의 정보를 선택할 수 있습니다. 각 Index 펑토이드는 단일 필드에서 정보를 수집합니다.
일반적으로 한 입력 파일에서 특정 레코드가 여러 번 나타날 수 있습니다. 예를 들어 날씨 보고서에서 DailySummary 요소는 여러 번 발생할 수 있습니다. DailySummary 요소에는 온도, 기압 및 풍속에 대한 특성이 포함될 수 있습니다. 다음 코드는 기상 보고서에 대한 예입니다.
<ns0:WeatherReport xmlns:ns0="http://IndexFunctoid.WeatherReport">
<DailySummary Pressure="80" Windspeed="10" Temperature="20" />
<DailySummary Pressure="78" Windspeed="20" Temperature="23" />
<DailySummary Pressure="77" Windspeed="16" Temperature="24" />
</ns0:WeatherReport>
기본 스키마에서 DailySummary 레코드의 Max Occurs 속성은 되풀이 또는 반복 레코드를 나타내도록 바인딩되지 않음으로 설정됩니다. BizTalk 맵 편집기는 이 레코드를 반복하여 컴파일합니다.
날씨 보고서의 처음 두 DailySummary 레코드에 대한 날씨 정보를 수집한다고 가정해 보겠습니다. BizTalk Mapper에서 들어오는 원본 스키마의 DailySummary 레코드의 각 특성을 Index 펑토이드에 연결할 수 있습니다. 그러면 각 Index 펑토이드는 정보를 그릴 DailySummary 레코드를 첫 번째 또는 두 번째 레코드로 지정할 수 있습니다. 그러면 Index 펑토이드를 대상 스키마의 적절한 필드에 연결할 수 있습니다.
다음 그림에서는 이러한 방식으로 사용되는 인덱 스 펑토이드를 보여 줍니다.
Index 펑토이드 예
첫 날에 대한 일일 요약 정보를 가져오기 위해 3개의 인덱스 펑토이드 상한 집합에는 해당 인덱스 값이 1로 설정됩니다. 둘째 날의 일일 요약 정보를 가져오기 위해 인덱스 펑토이드 3개 중 하위 집합에는 인 덱 스 값이 2로 설정됩니다.
인덱스 펑토이드는 펑토이드 펑토이드> 구성 < 대화 상자를 사용하여 입력 매개 변수를 설정합니다. 첫 번째 입력 매개 변수는 소스 스키마의 반복 레코드 내에서 필드를 식별하고 두 번째 및 그 다음 입력 매개 변수는 특정 레코드를 지정합니다. 여러 인덱스 값을 지정하여 중첩된 반복 구조 내에서 레코드를 선택할 수 있습니다. 가장 안쪽 구조에 대한 인덱스 값이 두 번째 매개 변수가 되고, 다음 바깥쪽 구조에 대한 인덱스 값이 세 번째 매개 변수가 되는 방식입니다. 예를 들어 위의 DailySummary 레코드가 WeeklyData 레코드 내에 있다고 가정합니다. 두 번째 WeeklyData의 첫 번째 DailySummary에서 압력을 검색하려면 두 번째 매개 변수는 1이고 세 번째 매개 변수는 2가 됩니다.
이 예제에서는 압력 필드가 반복되지 않는다고 가정합니다. 필드가 반복되면 인덱스가 꺼집니다. 개수는 일일 요약이 아닌 압력 필드로 시작됩니다.
참고
일반적으로 인덱스 시퀀스 입력 매개 변수는 상수이지만 소스 스키마의 노드에서 가져온 링크를 사용할 수 있습니다. 이 링크를 첫 번째 입력 매개 변수의 부모가 아닌 반복 레코드에서 가져오면 인덱스 시퀀스 입력 값은 입력 인스턴스 메시지에 있는 노드의 첫 번째 인스턴스에서 가져옵니다.
참고
인덱스 시퀀스 입력 값은 항상 소스 문서의 현재 컨텍스트와 관련이 있습니다.
중요
Index 펑토이드는 필드 수준에서 루트 노드 아래의 첫 번째 수준까지 부모 노드가 있는 만큼의 인 덱 스 값을 가져야 합니다. 예를 들어 여러 기상 보고서 인스턴스 메시지에는 두 개의 인덱스 값이 필요합니다. 단일 기상 보고서 인스턴스 메시지에는 한 개의 인덱스 값만 필요합니다. Index 펑토이드의 필수 인덱스 값 수를 설정하지 않으면 Index 펑토이드의 첫 번째 입력 매개 변수와 일치하는 원본 instance 메시지의 첫 번째 노드를 기반으로 출력이 생성됩니다.
맵에 Index 펑토이드를 추가하는 방법
고급 펑토이드
Iteration 펑토이드
Record Count 펑토이드