XML 스키마 스펙은 요소 또는 속성이 공백으로 분리된 개별 값을 가진 단순 유형을 기반으로 하는 값 목록을 포함하도록 허용합니다.
<message1> <listE1 listAttr="one two three"> four five six</listE1> </message1>
결과 메시지 트리에서 xsd::list 유형이 각 목록에 하위인 익명 값을 갖는 이름 노드로 표시됩니다. 이를 통해 정보 손실 없이도 반복 목록을 핸들링할 수 있습니다.
MRM listEl (Name) listAttr (Name) "one" (Value) "two" (Value) "three" (Value) "four" (Value) "five" (Value) "six" (Value)
SET OutputRoot.MRM.listEl.listAttr.*[3] = ...이 명령문은 listAttr의 세 번째 항목을 수정합니다.
<MRM> <inner>abcde fghij 12345</inner> </MRM>여기서 inner 요소는 xsd::list 유형이므로 단일 열이 아닌 연관된 문자열 값을 갖습니다.
<MRM> <str1>abcde</str1> <str1>fghij</str1> <str1>12345</str1> </MRM>다음 ESQL 구문이 작동한다고 가정할 수 있습니다.
DECLARE D INTEGER; SET D = CARDINALITY(InputBody.str1.*[]); DECLARE M INTEGER 1; WHILE M <= D DO SET OutputRoot.MRM.str1[M] = InputBody.inner.*[M]; SET M = M + 1; END WHILE;
SET OutputRoot.MRM.str1[M] = InputBody.inner.*[M];소스에서 대상으로 트리 복사를 요청합니다. 대상 요소가 아직 없으므로 대상 요소가 작성되고 값 및 유형이 소스에서 송신됩니다.
이는 ESQL의 작동과 일치하지만 list 유형 값을 가진 요소의 경우 이 코드는 가짜 유효성 검증 오류를 생성할 수 있습니다.
SET OutputRoot.MRM.str1[M] = FIELDVALUE(InputBody.inner.*[M]);