<xdr:group> 元素

XML 数据缩减 (XDR) 架构元素,将内容分组组织以指定序列。

<group
  maxOccurs="{1 | *}" 
  minOccurs="{0 | 1}" 
  order="{one | seq | many}" >

属性

  • maxOccurs
    组可以出现的最大次数。 可以为此属性分配下列值。

    1

    最多可以出现一次。

    *

    允许出现无限次。

  • minOccurs
    组可以出现的最小次数。 可以为此属性分配下列值。

    0

    不是必选项;该组是可选项。

    1

    必须至少出现一次。

  • order
    对此组中的元素(和其他包含的组)的顺序的约束。 可以为此属性分配下列值。

    one

    组中包含的每个元素只允许有一个实例。 对应于文档类型定义 (DTD) 中的“|”(竖线)符号。

    seq

    要求组中的元素以指定顺序显示。

    many

    允许组中的元素按照任意顺序显示(或不显示)。

    需要使用 seq 设置才能指定有效的序列。 例如,可以用于指定何时特定序列(例如 x1,y1x2,y2)有效、但是任何其他可能的组合均无效。 seq 值的作用与 DTD 中的括号相同。

元素信息

出现次数

无限制

父元素

ElementType

子元素

elementdescription

元素属性

标记 解释

order='one'

只允许元素集中的一个。

* order='seq'

指示元素必须在列出的序列中出现。 该属性与元素列表的默认属性类似,但是要对序列分组,则需要该属性,如示例中所示,x1,y1x2,y2 是合法的,但是任何其他组合都不是合法的。 作用与 DTD 中的括号相同。

order='many'

元素可以按照任意顺序显示(或不显示)。

minOccurs='0' or '1' maxOccurs='1' or '*'

允许基数的精确定义。 maxOccurs 上的“*”表示无限制。

备注

order 属性接受的值与 ElementType 元素的 order 属性相同。

minOccursmaxOccurs 属性的默认值为 1。 没有这两个属性的组在内容模型中必须出现一次并且只能出现一次。

示例

下面的示例阐释 one 设置。

<ElementType name="z" order="one">
<element type="x"/>
<element type="y"/>
</ElementType>

下面的示例表示架构的合法实例。

<z>
  <x/> 
  <y></y> 
</z>

下面的示例阐释 seq 设置。

<ElementType name="x" order="one">
  <group order="seq">
    <element type="x1"/>
    <element type="y1"/>
  </group>
  <group order="seq">
    <element type="x2"/>
    <element type="y2"/>
  </group>
</ElementType>

下面两个示例表示该架构的合法实例。

<x>
  <x1/> 
  <y1/>
</x>

和:

<x>
  <x2/>
  <y2/>
</x>

下面的示例阐释 many 设置。

<ElementType name="x" content="eltOnly" order="many">
  <element type="q"/>
  <element type="r"/>
</ElementType>

下面五个示例表示该架构的所有合法实例。

<x> </x>
<x> <q> </x>
<x> <r> </x>
<x> <q> <r> </x>
<x> <r> <q> </x>