在 MRM 域中访问消息中元素的多个出现

您可以使用特定 ESQL 代码设置在消息中多次出现的元素的一次出现的值。 您还可以使用箭头符号来指示搜索元素的多个出现时的搜索方向。

关于此任务

您可以遵循 访问已知多次出现的元素访问未知多次出现的元素中提供的一般指导来访问 MRM 域元素。 在这个主题中提供进一步的 MRM 域消息的特定信息。

考虑以下语句:

DECLARE brw NAMESPACE 'http://www.ibm.com/Borrowed';

SET OutputRoot.MRM.brw:Borrowed[1].VideoTitle = 'MRM Greatest Hits Volume 1';
SET OutputRoot.MRM.brw:Borrowed[2].VideoTitle = 'MRM Greatest Hits Volume 2';

以上 SET 语句在元素 Borrowed 的两个出现上操作。 每个语句设置子代 VideoTitle 的值。 数组下标表明您感兴趣的重复元素的出现。

当您在消息集中定义复杂类型(其 Composition 属性设置为 Sequence)的子元素时,可多次将同一元素添加到复杂类型中。 这些实例不需要是相连的,但您必须使用同一方法(数组符号)来在 ESQL 中引用它们。

例如,如果您创建一个复杂类型,其 CompositionSequence,且包含以下元素:
  • StringElement1
  • IntegerElement1
  • StringElement1

使用以下 ESQL 设置 StringElement1 的值:

SET OutputRoot.MRM.StringElement1[1] = 
              'This is the first occurrence of StringElement1';
SET OutputRoot.MRM.StringElement1[2] = 
              'This is the second occurrence of StringElement1';

您还可以使用箭头表示法(大于 (>) 和小于 (<) 符号)以指示搜索方向和要指定的索引:

SET OutputRoot.MRM.StringElement1[>] = 
               'This is the first occurrence of StringElement1';
SET OutputRoot.MRM.StringElement1[<2] = 
               'This is the last but one occurrence of 
 StringElement1';
SET OutputRoot.MRM.StringElement1[<1] = 
               'This is the last occurrence of StringElement1';

有关更多详细信息,请参阅 访问已知多次出现的元素访问未知多次出现的元素