GitHub user mbeckerle opened a pull request:

    https://github.com/apache/incubator-daffodil/pull/5

    Property Resolution - part of fixing schema compilation

    Refactors property resolving onto elementrefs and grouprefs so
    as to eliminate use of backrefs when accessing properties.
    
    Reorganized DSOM for model groups and references to them.
    
    Converted OOLAGHost, SchemaComponent etc. down to LocalElementBase
    into traits so that I can mix them the way I need to so that
    Global elements aren't terms, etc.
    
    Group references are allowed to carry annotations like dfdl:assert. It
    is global group definitions that cannot. (They can't have annotations
    period. Annotations go on the model group within the global group
    definition)
    
    SequenceBase is a ModelGroup is a Term, and is
    the base of Sequence and SequenceGroupRef.
    
    SequenceGroupDef is not a SequenceBase. It is GroupDefLike in that
    it has children. It is not a Term, because the SequenceGroupRef that
    refers to it is the Term.
    
    Groups work exactly analogously to Elements now. For Elements, the Terms
    are
    LocalElementDecl and ElementRef. A GlobalElementDecl is *not* a Term.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mbeckerle/incubator-daffodil 
daffodil-1855-prop-resolve

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-daffodil/pull/5.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5
    
----
commit 89f640dab66bd68546f43bbd828eb58451f8f987
Author: mbeckerle <[email protected]>
Date:   2017-10-23T21:50:21Z

    Property Resolution - part of fixing schema compilation
    
    Refactors property resolving onto elementrefs and grouprefs so
    as to eliminate use of backrefs when accessing properties.
    
    Reorganized DSOM for model groups and references to them.
    
    Converted OOLAGHost, SchemaComponent etc. down to LocalElementBase
    into traits so that I can mix them the way I need to so that
    Global elements aren't terms, etc.
    
    Group references are allowed to carry annotations like dfdl:assert. It
    is global group definitions that cannot. (They can't have annotations
    period. Annotations go on the model group within the global group
    definition)
    
    SequenceBase is a ModelGroup is a Term, and is
    the base of Sequence and SequenceGroupRef.
    
    SequenceGroupDef is not a SequenceBase. It is GroupDefLike in that
    it has children. It is not a Term, because the SequenceGroupRef that
    refers to it is the Term.
    
    Groups work exactly analogously to Elements now. For Elements, the Terms
    are
    LocalElementDecl and ElementRef. A GlobalElementDecl is *not* a Term.

----


---

Reply via email to