반복 구조 및 필드

반복 구조 또는 필드는 동일한 메시지에서 여러 번 발생하고 메시지 자체가 정의될 때 정의되는 사항입니다. 예를 들어, 소스 메시지는 citycountry의 두 필드를 포함하는 customer 구조를 포함할 수 있습니다. 두 개의 동일한 name 구조 각각에는 firstlast의 동일한 두 필드가 있습니다. 이와 같은 반복 구조가 다른 반복 구조(대상 필드에 표시됨)로 맵핑되는 경우 소스와 대상 필드 간의 다중 연관이 자동으로 처리됩니다.
소스(메시지) 대상(메시지)
customer
  • city
  • country
name[1]
  • first
  • last
name[2]
  • first
  • last
customer
  • location

customername[1]

  • first
  • last

customername[2]

  • first
  • last

소스와 대상은 메시지 유형과 같은 스키마 유형 또는 데이터베이스 테이블이나 열을 나타내는 트리 노드를 사용하여 맵핑됩니다. 따라서 트리 노드는 특정 메시지 유형의 컨테이너입니다.

반복 가능 노드에는 다음과 같은 최소 발생과 최대 발생의 결합이 있습니다. *는 바운드되지 않은 최대값이 발생됨을 의미합니다(여기서 ...은 범위를 나타냄). 대상은 인위적으로 이를 제한하는 대신 소스 측의 인스턴스 수를 실제 바운드로 사용합니다.

반복 노드를 채워서 모든 인스턴스를 표시할 수 있습니다. 채우기 메뉴 명령을 사용하여 이를 수행할 수 있습니다. 인스턴스(실제로 인스턴스 요소 노드)는 반복 요소의 단일 발생입니다. 예를 들어, 필드에 10회 발생이 있는 경우 각 발생은 인스턴스 요소 노드로 간주할 수 있습니다. 이는 실제 메시지로 수신되는 런타임 인스턴스에 해당하지 않습니다. 대신 이 요소 인스턴스가 메시지에서 발생하는 경우의 위치 표시기입니다(여기서 인스턴스라는 용어는 런타임 인스턴스가 아니라 개발 시 인스턴스를 의미함).

인스턴스는 반복 노드와 같은 레벨에서 생성되므로 반복 노드의 동위(하위) 요소입니다. 인스턴스는 노드 구조를 표시하고 필수 인스턴스에만 맵핑할 수 있는 엔티티를 제공합니다. 새로운 각 동위 요소에는 현재 인스턴스의 색인 번호가 접미부로 붙습니다.

색인은 Java에서처럼 0부터 시작되지 않고 ESQL에 대해 1부터 시작됩니다.

다음 구조를 예로 고려해 보십시오.

message1
      |_ top
            |_ middle
                  |_bottom

여기서, middlebottom은 반복 요소이고 middle은 n1..m1 만큼 반복되고 bottom은 n2..m2 만큼 반복됩니다.

펼쳐진 각 인스턴스 노드는 반복되지 않으므로 다른 비반복 요소처럼 맵핑에서 사용할 수 있습니다. 그러나, 중첩 레벨의 반복이 있는 경우 반복되는 하위 요소를 포함할 수 있습니다. 내부 레벨이 펼쳐지지 않는 경우 중첩 구조(이전 예에서 표시됨)의 최상위 레벨을 의미있게 펼칠 수 없습니다. 즉, 하위 요소가 중첩 반복 노드에 필요한 최소 인스턴스로 펼쳐집니다. 예에서, middle에 필요한 최소 확장을 통해 n1 인스턴스가 작성되지만, middle의 하위 요소가 하나의 bottom만 갖는 단일 세트가 아님을 의미합니다. 이 인스턴스에 대한 최소 '발생'은 반복 수를 판별합니다.

다음 예는 부분적으로 펼쳐진 전체 트리 노드를 보여줍니다.

message1
      |_ top
            |_ middle[]
                  |_bottom[]
            |_ middle[1]
                  |_bottom[]
                  |_bottom[All]
                  |_bottom[1]

이 예에서 [] 앞의 항목은 반복 노드를 나타내고 [All] 앞의 항목은 모든 노드를 나타내며 [1] 앞의 항목은 인스턴스 요소 노드를 나타냅니다.

관련 작업
맵핑 표시기
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2005 마지막 갱신 날짜: 11/08/2005
ar00970_