|
|
|
A content expression is a kind of regular expression on such sequences:
contentexp -> <Sequence> contentexp </Sequence> |
<Optional> contentexp </Optional> |
<ZeroOrMore> contentexp </ZeroOrMore> |
<OneOrMore> contentexp </OneOrMore> |
<Union> contentexp </Union> |
<AnyElement/> |
<Empty/> |
<If> boolexp
<Then> contentexp </Then>
(<Else> contentexp </Else>)?
</If> |
stringtype |
elementdescr
A stringtype here probes the contents of a character data node.
An element descriptor probes the name of an element node and assigns an element ID to it:
elementdescr -> <Element IDRef="element ID"/>Evaluation is eager (e.g., ZeroOrMore consumes as much as possible).
Evaluating a stringtype expression or an element descriptor might insert defaults (- described later...).
Note: there is no intersection, complement, or setminus.