You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Mike Beckerle (Jira)" <ji...@apache.org> on 2021/07/22 15:17:00 UTC

[jira] [Created] (DAFFODIL-2548) remove conditional checkAllTopLevel feature

Mike Beckerle created DAFFODIL-2548:
---------------------------------------

             Summary: remove conditional checkAllTopLevel feature
                 Key: DAFFODIL-2548
                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2548
             Project: Daffodil
          Issue Type: Bug
          Components: Front End
    Affects Versions: 3.1.0
            Reporter: Mike Beckerle


This checkAllTopLevel doesn't really make sense as a feature. 

Imagine you are compiling a C program, and part of the C program was broken (e.g., has a type error) but because your main procedure doesn't *use* that part, the C compiler doesn't check it, and so doesn't show you that part is broken.

That would be unexpected for it to allow you to just leave a part broken, and not inform you. 

Daffodil should use a similar principle when compiling DFDL schemas. 

It should validate all files.

It should do all static checking on all parts of the schema.

This is different from generating a parser/unparser or generating code. That aspect (which is really the runtime/backend) should occur only for the root element, and recursively what is needed for it. Perhaps someday we should allow compilation to be specified for more than one root, so that we can avoid redundant compilation for say, two roots, one is message, and one messages (for testing/parsing just individual messages, or streams of them, in the same compilation unit). 

But for now, one root will suffice. 

This ticket is about eliminating the on/off checkAllTopLevel feature - which turns off checking of the whole schema. That's the part that really doesn't make sense. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)