AS: ASContentModel instead of ASElementDeclaration

In the example, (A, (B* | C), D+) was represented by:

(snip)

ASContentModel exE = {
                 listOperator          = AS_SEQUENCE;
                 minOccurs             = 1;
                 maxOccurs             = 1;
                 subModels             = {(ASElementDeclaration A),
                                          (ASContentModel exBC),
                                          (ASContentModel exD)};
             }

(snip)

ASContentModel exBC = {
                 listOperator          = AS_CHOICE;
                 minOccurs             = 1;
                 maxOccurs             = 1;
                 subModels             = {(ASContentModel exB),
                                          (ASElementDeclaration C)};
             }

(snip)

They should be changed to:
ASContentModel exE = {
                 listOperator          = AS_SEQUENCE;
                 minOccurs             = 1;
                 maxOccurs             = 1;
                 subModels             = {(ASContentModel exA),
                                          (ASContentModel exBC),
                                          (ASContentModel exD)};
             }
and
ASContentModel exBC = {
                 listOperator          = AS_CHOICE;
                 minOccurs             = 1;
                 maxOccurs             = 1;
                 subModels             = {(ASContentModel exB),
                                              (ASContentModel exC)};
             }

The reason for changing from ASElementDeclaration to
ASContentModel is occurrences can only be specified in
ASContentModel.

For the 2nd declaration, we want to specify that it corresponds
to:
    (B* | C)
not
    (B* | C+) or something else

Received on Tuesday, 18 December 2001 18:44:16 UTC