Menu

#499 change semantics of @except and @include on moduleRef

AMBER
closed-wont-fix
None
5(default)
2014-07-01
2014-02-24
No

The ODD <moduleRef> element supports pulling in a subset of the elements belonging to that module by means of the @except and @include attributes. Because it is limited to elements, this does not give the ODD user the ability to use this mechanism to exclude/include classes or macros (eg datatypes). This seems inconsistent.

The downside of regularizing this is that it means any ODD which currently uses the feature may have an unexpected, dramatic, and hard-to-diagnose change; if it currently says <moduleRef key="moduleX" include="foo bar"/>, and moduleX includes some class definitions, the schema will include the classes. If we changed the semantics of @include, then the same ODD would no longer include those classes. The user of @except would be unaffected.

The argument in favour is transparency and consistency.

Discussion

  • James Cummings

    James Cummings - 2014-05-19

    Assigning to Syd Bauman to triage, and report to Council.

     
  • James Cummings

    James Cummings - 2014-05-19
    • assigned_to: Syd Bauman
     
  • Martin Holmes

    Martin Holmes - 2014-07-01

    Council group votes to reject this ticket in favour of the existing definition, which is clear. The Guidelines prose should be enhanced to clarify the fact that @include and @except can only be used to include or except elements (not classes, models or datatypes).

     
  • Syd Bauman

    Syd Bauman - 2014-07-01
    • status: open --> closed-wont-fix
     
  • Syd Bauman

    Syd Bauman - 2014-07-01

    SPQR has checked the code, and found that (as suspected) these attributes do not operate on anything other than elements.