Élément <xdr:group>

Élément de schéma XDR (XML-Data Reduced) qui organise le contenu en un groupe pour spécifier une séquence.

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

Attributs

  • maxOccurs
    Nombre maximal d'occurrences du groupe. Les valeurs suivantes peuvent être affectées à cet attribut.

    1

    Se présente au maximum une fois.

    *

    Le nombre d'occurrences autorisées est illimité.

  • minOccurs
    Nombre minimal d'occurrences du groupe. Les valeurs suivantes peuvent être affectées à cet attribut.

    0

    Pas obligatoire ; le groupe est facultatif.

    1

    Doit être présent au moins une fois.

  • order
    Contrainte sur la séquence des éléments (et autres groupes contenus) dans ce groupe. Les valeurs suivantes peuvent être affectées à cet attribut.

    one

    Autorise une seule instance de chaque élément contenu dans le groupe. Cela correspond au symbole « | » (barre verticale) dans la DTD (définition de type de document).

    seq

    Requiert que les éléments du groupe s'affichent dans l'ordre spécifié.

    many

    Permet d'afficher (ou de ne pas afficher) les éléments du groupe dans n'importe quel ordre.

    La valeur seq est obligatoire pour spécifier des séquences valides. Par exemple, elle peut être utilisée pour spécifier quand une séquence particulière, comme x1,y1 ou x2,y2, est valide, mais qu'aucune autre combinaison possible n'est valide. La valeur seq remplit le même rôle que les parenthèses dans une DTD.

Informations sur l'élément

Nombre d'occurrences

Illimité

Éléments parents

ElementType

Éléments enfants

element, description

Propriétés de l'élément

BALISE Explication

order='one'

N'autorise qu'un seul élément d'un ensemble.

* order='seq'

Indique que les éléments doivent s'afficher dans l'ordre spécifié. C'est similaire à la valeur par défaut pour une liste d'éléments, mais cette déclaration est nécessaire pour regrouper des séquences, comme dans l'exemple où x1,y1 et x2,y2 sont autorisés, contrairement aux autres combinaisons. Cette valeur remplit le même rôle que les parenthèses dans une DTD.

order='many'

Les éléments peuvent s'afficher (ou ne pas s'afficher) dans n'importe quel ordre.

minOccurs='0' ou '1' maxOccurs='1' ou '*'

Autorise une définition précise de la cardinalité. '*' pour maxOccurs signifie illimité.

Notes

L'attribut order prend la même valeur que l'attribut order de l'élément ElementType.

Les attributs minOccurs et maxOccurs possèdent la valeur par défaut 1. Un groupe ne contenant aucun de ces attributs ne doit apparaître qu'une seule fois dans un modèle de contenu.

Exemples

L'exemple suivant illustre le paramètre one.

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

L'exemple suivant illustre une instance légale du schéma.

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

L'exemple suivant illustre le paramètre 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>

Les deux exemples suivants illustrent des instances légales de ce schéma.

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

et

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

L'exemple suivant illustre le paramètre many.

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

Les cinq exemples suivants illustrent toutes les instances légales de ce schéma.

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