Content modules are described using nested tuples. Each tuple
contains four values: the type, the quantifier, the name, and a tuple
of children. Children are simply additional content module
The values of the first two fields are constants defined in the
model object of the xml.parsers.expat module. These
constants can be collected in two groups: the model type group and the
The constants in the model type group are:
The element named by the model name was declared to have a content
model of ANY.
The named element allows a choice from a number of options; this is
used for content models such as (A | B | C).
Elements which are declared to be EMPTY have this model type.
Models which represent a series of models which follow one after the
other are indicated with this model type. This is used for models
such as (A, B, C).
The constants in the quantifier group are:
No modifier is given, so it can appear exactly once, as for A.
The model is optional: it can appear once or not at all, as for
The model must occur one or more times (like A+).
The model must occur zero or more times, as for A*.