消息模型对象:组
组是由元素组成的列表,它定义这些元素在消息中的显示方式。 组定义组合以及复杂类型的内容验证。
在 XML 模式中,组可以是有序组(序列)、无序组(全部)或选择性组(选项)。
在 DFDL 模式中,组可以是有序组(序列)、无序组(序列,但具有 DFDL 属性 dfdl:sequenceKind="unordered") 或选择性组(选项)。
在消息集的消息定义文件中,组可以是有序组(序列)、无序组(全部)或选择性组(选项)。 有关更多信息,请参阅 消息集: 消息集中的 XML 模式扩展。
组有何用途?
组可用于任何下列用途:
- 定义复杂类型的完整元素内容。
复杂类型可以引用完整定义其内容的全局组。 如果它没有,复杂类型的内容由匿名局部组定义,匿名局部组隐藏在“消息定义”编辑器中。
- 用于表示多个类型中的一个公共子结构。
两个或更多复杂类型可以引用同一个全局组,如果它们两者包含相同的元素子集。
- 要通过复杂类型在中途更改构造。
可能有一个复杂类型,它是三个成员的序列,但第二个成员是两个元素的选项。 要对此环境进行建模,组合设置为选项的组可以作为序列的第二个成员插入。
组的内容
组可以包含复杂元素、简单元素、通配符元素和组。
通过组合这些组件,可以建模任何消息的结构。 可以包含通配符元素以允许出现未建模的元素,从而使消息模型变得强健和灵活。
全局和局部组
组可以是全局或本地的。
全局组可消息模型中的多个地方使用。 它表示在消息模型的多个位置中出现的结构。 必须为全局组给定一个唯一名称,组引用通过此名称引用该全局组。
局部组在一个组中的一个位置定义,且不可用于在消息模型中的其他地方重新使用。 局部组没有名称并且通过使用组的组合来显示。