Allow multiple <enumref> in a <bitcase>

Signed-off-by: Peter Harris <pharris@opentext.com>
This commit is contained in:
Peter Harris 2013-04-11 09:52:57 -04:00
parent 63fce1aa1a
commit ee71d96c83
2 changed files with 10 additions and 5 deletions

View file

@ -229,13 +229,18 @@ enum; the value is restricted to one of the constants named in the enum.
<switch> instead for new protocol definitions.
<switch name="identifier"> switch expression
<bitcase> bitcase expression, fields </bitcase> </switch>
<bitcase> bitcase expression(s), fields </bitcase> </switch>
This element represents conditional inclusion of fields. It can be viewed
as sequence of multiple ifs: if ( switch expression & bitcase expression )
is equal to bitcase expression, bitcase fields are included in structure.
It can be used only as the last field of structure. New protocol definitions
should prefer to use this instead of <valueparam>.
is non-zero, bitcase fields are included in structure. It can be used only
as the last field of a structure.
When a bitcase includes multiple <enumref> clauses, the contents of the
bitcase are only present once regardless of the number of bitcase expressions
that match.
New protocol definitions should prefer to use this instead of <valueparam>.
Expressions
-----------

View file

@ -59,7 +59,7 @@ authorization from the authors.
<xsd:complexType name="caseexpr">
<xsd:sequence>
<!-- case expression: -->
<xsd:group ref="expression" minOccurs="1" maxOccurs="1" />
<xsd:group ref="expression" minOccurs="1" maxOccurs="unbounded" />
<!-- match -->
<xsd:group ref="fields" minOccurs="1" maxOccurs="unbounded" />
<xsd:choice>