XMLNSC: XML List type support

The XMLNSC parser can automatically parse a space-separated list of values into individual syntax elements in the message tree if you select certain options.

An element or an attribute can have multiple values separated by spaces, as shown in the following examples:
<listElement>one two three</listElement>
<element listAttribute="1 2 3"><childEL1/></element>
If your XML schema specifies a list type for an element or an attribute, and Validation is set to Content and Value, and Build tree using schema types is enabled, the XMLNSC parser automatically parses the space-separated list of values into individual syntax elements in the message tree. The resulting message tree looks like this:
A hierarchical structure showing listElement with three children - one,two, and three
and for an attribute with a list value it looks like this:
A hierarcharchical structure with element at the top level, with child listAttr having children 1, 2, and 3

ESQL code examples

Access the individual values in a list

SET val = InputRoot.XMLNSC.listElement.*[1];
Result : val = 'one'
SET val = InputRoot.XMLNSC.element.(XMLNSC.Attribute)listAttr.*[3];
Result : val='3'

Create a list element in the message tree

CREATE LASTCHILD OF OutputRoot.XMLNSC 
   Name 'listElement' 
   Type XMLNSC.List;
DECLARE listEl REFERENCE TO OutputRoot.XMLNSC.listElement;
DECLARE listValType INTEGER XMLNSC.PCDataValue;	
CREATE LASTCHILD OF listEl TYPE listValType VALUE 'one';
CREATE LASTCHILD OF listEl TYPE listValType VALUE 'two';
CREATE LASTCHILD OF listEl TYPE listValType VALUE 'three';