소스(메시지) | 대상(메시지) |
customer
|
customer
customername[1]
customername[2]
|
소스와 대상은 메시지 유형과 같은 스키마 유형 또는 데이터베이스 테이블이나 열을 나타내는 트리 노드를 사용하여 맵핑됩니다. 따라서 트리 노드는 특정 메시지 유형의 컨테이너입니다.
반복 노드를 채워서 모든 인스턴스를 표시할 수 있습니다. 채우기 메뉴 명령을 사용하여 이를 수행할 수 있습니다. 인스턴스(실제로 인스턴스 요소 노드)는 반복 요소의 단일 발생입니다. 예를 들어, 필드에 10회 발생이 있는 경우 각 발생은 인스턴스 요소 노드로 간주할 수 있습니다. 이는 실제 메시지로 수신되는 런타임 인스턴스에 해당하지 않습니다. 대신 이 요소 인스턴스가 메시지에서 발생하는 경우의 위치 표시기입니다(여기서 인스턴스라는 용어는 런타임 인스턴스가 아니라 개발 시 인스턴스를 의미함).
인스턴스는 반복 노드와 같은 레벨에서 생성되므로 반복 노드의 동위(하위) 요소입니다. 인스턴스는 노드 구조를 표시하고 필수 인스턴스에만 맵핑할 수 있는 엔티티를 제공합니다. 새로운 각 동위 요소에는 현재 인스턴스의 색인 번호가 접미부로 붙습니다.
색인은 Java에서처럼 0부터 시작되지 않고 ESQL에 대해 1부터 시작됩니다.
다음 구조를 예로 고려해 보십시오.
message1 |_ top |_ middle |_bottom
여기서, middle 및 bottom은 반복 요소이고 middle은 n1..m1 만큼 반복되고 bottom은 n2..m2 만큼 반복됩니다.
펼쳐진 각 인스턴스 노드는 반복되지 않으므로 다른 비반복 요소처럼 맵핑에서 사용할 수 있습니다. 그러나, 중첩 레벨의 반복이 있는 경우 반복되는 하위 요소를 포함할 수 있습니다. 내부 레벨이 펼쳐지지 않는 경우 중첩 구조(이전 예에서 표시됨)의 최상위 레벨을 의미있게 펼칠 수 없습니다. 즉, 하위 요소가 중첩 반복 노드에 필요한 최소 인스턴스로 펼쳐집니다. 예에서, middle에 필요한 최소 확장을 통해 n1 인스턴스가 작성되지만, middle의 하위 요소가 하나의 bottom만 갖는 단일 세트가 아님을 의미합니다. 이 인스턴스에 대한 최소 '발생'은 반복 수를 판별합니다.
다음 예는 부분적으로 펼쳐진 전체 트리 노드를 보여줍니다.
message1 |_ top |_ middle[] |_bottom[] |_ middle[1] |_bottom[] |_bottom[All] |_bottom[1]
이 예에서 [] 앞의 항목은 반복 노드를 나타내고 [All] 앞의 항목은 모든 노드를 나타내며 [1] 앞의 항목은 인스턴스 요소 노드를 나타냅니다.