to the main page... about these slides...

Multiple content descriptions

Unordered contents is a problem for regular expressions and may cause a combinatorial explosion.

Example:
"an author node must contain in sequence first, optionally initial, and then last, and somewhere in between, a homepage is required."

The DSD solution is multiple descriptions and projected contents.

Multiple content descriptions in a constraint

The following two content descriptions solve the problem in the example above:
<Content>
  <Sequence>
    <Element IDRef="first"/>
    <Optional><Element IDRef="initial"/></Optional>
    <Element IDRef="last"/>
  </Sequence>
</Content>

<Content>
  <Element IDRef="homepage"/>
</Content>

If the content sequence isfirst.homepage.initial.last.homepage
then the first content description consumesfirst..........initial.last.........
and the second consumes......homepage......................
so the sequence is rejected (because the second homepage is not consumed).

This allows concise specification of mixed ordered and unordered content.