런타임 동안 필터링할 XPath 술어를 지정하면
맵핑 활동에서 리턴되는 반복 노드를 제한할 수
있습니다.
이 태스크 정보
활동의 맵핑 분할창에서 술어를 직접 사용하는 필터링은
다음 활동이 필요 없습니다.
- 반복 구조를 루프하는
While 루프 또는 For Each 활동
- 값을 테스트하는 If...Then 활동
루프 및
If..Then 활동이 없어지면
오케스트레이션 성능이 개선됩니다.
예를 들어,
BatchOrderProcessingSample 오케스트레이션에서 처리되는 책을
다음 중 하나의 방법을 사용하여 문자 B로 시작하는 책 제목만 리턴하도록
제한할 수 있습니다.
- 플랫 파일 데이터를 XML로 변환하는 플랫 파일 읽기 활동 이후,
모든 책 제목에 대해 문자 B로 시작하는지 테스트하는 If..Then 활동을
포함하는 While 루프 활동을 추가할 수
있습니다. While
루프 활동이 런타임 시 완료되면, 문자 B로 시작하는 제목을 가진
반복 BookOrder 노드의 세트를
리턴합니다.
- 플랫 파일 데이터를 XML로 변환하는 플랫 파일
읽기 활동의 출력 맵핑 태스크의
오케스트레이션으로 분할창에서 술어를 직접 지정하여
필터합니다. 이 방법은 런타임 동안 처리를 줄이면서 오케스트레이션 성능을 개선하므로
선호되는 방법입니다. 예를 들어, 런타임 동안 리턴되는 Bookorder 노드를
문자 B로 시작하는 제목으로만 제한하도록 반복 BookOrder 노드에
*:title/starts-with(.,'B') 술어를 지정할 수 있습니다.
이 예제 술어는 다음 표에서 설명됩니다.
술어 문자 |
설명 |
*: |
이 술어가 소스 노드의 모든 네임스페이스에 적용됨을
지정합니다. |
title/ |
현재 소스 노드의 title 노드에 대해
이 술어를 적용함을 지정합니다. |
starts-with(.,'B') |
이 술어는
문자 B로 시작하는 제목 노드를 가진 노드만 리턴함을 지정합니다. starts-with 함수는
기본 제공 XPath 함수입니다. |
BookOrder 샘플에 대한 자세한 정보는
시작하기 안내서를 참조하십시오. Studio 설치 중에 기본값을 허용한 경우,
C:\Program Files\IBM\WebSphere
Cast Iron Studio 3.X\Samples\BookOrder 디렉토리에서 샘플의 참조 구현을 찾을 수
있습니다.
반복
노드에 술어를 지정하려면 다음을 수행하십시오.