The existence of classes allows schema builders to say things like:
- any of elements a or b or c or d is permitted here
- no element a,b,c,d, nor anything like them, is
permitted anywhere
- new element x is permitted wherever an a (or b or c or d)
is
In general, and by default, a class reference in a content model
expands to an alternation of all the class members: so, given model.xxx with members a,b,c a reference to model.xxx
expands to (a|b|c). However, the class specification can also
generate your choice from:
- sequence: (a,b,c)
- sequence optional (a?, b?, c?)
- sequence optional repeatable (a*, b*, c*)
- sequence repeatable (a+, b+, c+)