XMLNSC:XML 列表类型支持

如果您选择特定选项,那么 XMLNSC 解析器可以自动将以空格分隔的值列表解析为消息树中的各个语法元素。

元素或属性可以有多个以空格分隔的值,如以下示例所示:
<listElement>one two three</listElement>
<element listAttribute="1 2 3"><childEL1/></element>
如果您的 XML 模式对某个元素或属性指定了列表类型,并且验证设置为内容和值,同时启用了使用模式类型构建树,那么 XMLNSC 解析器会自动将以空格分隔的值列表解析为消息树中的各个语法元素。 生成的消息树类似于:
显示带有三个子代的 listElement 的分层结构 - 1,2 和 3
而对于带有列表值的属性,类似于:
具有顶级元素的 hierarcharchical 结构,其中子 listAttr 具有子代 1,2和 3

ESQL 代码示例

访问列表中的各个值

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

在消息树中创建列表元素

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';