입력 메시지를 구문 분석할 때, 메시지 세트에서 그룹으로 정의한 구조가 논리적 트리에 표시되지 않지만 그 하위는 표시됩니다. 그룹의 하위인 요소에 대한 값을 참조하거나 갱신하려면 ESQL문에 이 그룹을 포함시키지 마십시오. 그룹은 인스턴스 메시지에 나타나는 태그를 가지지 않으며 논리적 메시지 트리의 사용자 추적에 나타나지 않습니다.
다음 Video 메시지를 고려해 보십시오.
<Customer xmlns:addr="http://www.ibm.com/AddressDetails" xmlns:brw="http://www.ibm.com/BorrowedDetails"> <Name LastName="Bloggs"> <Title>Mr</Title> <FirstName>Fred</FirstName> </Name> <addr:Address> <HouseNo>13</HouseNo> <Street>Oak Street</Street> <Town>Southampton</Town> </addr:Address> <ID>P</ID> <PassportNo>J123456TT</PassportNo> <brw:Borrowed> <VideoTitle>Fast Cars</VideoTitle> <DueDate>2003-05-23T01:00:00</DueDate> <Cost>3.50</Cost> </brw:Borrowed> <brw:Borrowed> <VideoTitle>Cut To The Chase</VideoTitle> <DueDate>2003-05-23T01:00:00</DueDate> <Cost>3.00</Cost> </brw:Borrowed> <Magazine>0</Magazine> </Customer>
입력 메시지가 구문 분석될 때 다음 사용자 추적 섹션에 표시된 대로 논리적 트리에 값이 저장됩니다.
(0x0100001B):MRM = ( (0x01000013):Name = ( (0x0300000B):LastName = 'Bloggs' (0x0300000B):Title = 'Mr' (0x0300000B):FirstName = 'Fred' ) (0x01000013)http://www.ibm.com/AddressDetails:Address = ( (0x0300000B):HouseNo = 13 (0x0300000B):Street = 'Oak Street' (0x0300000B):Town = 'Southampton' ) (0x0300000B):ID = 'P' (0x0300000B):PassportNo = 'J123456TT' (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = ( (0x0300000B):VideoTitle = 'Fast Cars' (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00' (0x0300000B):Cost = 3.50 ) (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = ( (0x0300000B):VideoTitle = 'Cut To The Chase ' (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00' (0x0300000B):Cost = 3.00 ) (0x0300000B):Magazine = FALSE
ID로 지정된 요소 바로 뒤에서 MRM 메시지 정의는 작성이 선택인 그룹을 사용합니다. 이 그룹은 세 개의 하위 PassportNo, DrivingLicenceNo 및 CreditCardNo로 정의됩니다. 선택 작성은 인스턴스 문서가 이들 세 개의 가능한 대체사항 중 하나만 사용해야 합니다. 위에 표시된 예에서는 PassportNo 요소를 사용합니다.
ESQL문에서 이 요소를 참조할 때, 이 요소가 속한 그룹을 지정하지 마십시오. 예를 들면, 다음 코드와 같습니다.
SET OutputRoot.MRM.PassportNo = 'J999999TT';
XML 및 TDS 물리적 형식을 포함하는 메시지 세트 내에 메시지를 정의할 경우, 메시지 내의 태그가 선택 옵션 중 하나를 표시하므로 선택 옵션을 가져온 메시지 데이터를 판별할 수 있습니다. 그러나 메시지에 CWF 물리적 형식이 있거나 태그화되지 않은 TDS 메시지가 있으면, 메시지 데이터에서 지워지지 않고 메시지를 처리하는 응용프로그램은 어떤 선택 옵션이 선택되었는지를 판별해야 합니다. 이를 해석되지 않은 선택 핸들링이라고 합니다. 추가 정보는 복합 유형 논리 등록 정보에서 선택(Choice) 값에 대한 설명을 참조하십시오.