daffodil-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Adams (Jira)" <j...@apache.org>
Subject [jira] [Resolved] (DAFFODIL-1520) Unset variables referenced from dfdl:outputValueCalc expression should block/delay until they get a value.
Date Tue, 16 Mar 2021 13:36:00 GMT

     [ https://issues.apache.org/jira/browse/DAFFODIL-1520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Josh Adams resolved DAFFODIL-1520.
----------------------------------
    Fix Version/s: 3.1.0
         Assignee:     (was: Josh Adams)
       Resolution: Fixed

This was fixed as part of the changes for DAFFODIL-2429 in commit f1603a0da8c9610f7ade79250315a2b5db333db2

Tests, such as var_Instance13 in variables.tdml, exercise this idea of variable needing to
suspend in order to finish evaluating.

> Unset variables referenced from dfdl:outputValueCalc expression should block/delay until
they get a value.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DAFFODIL-1520
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1520
>             Project: Daffodil
>          Issue Type: Bug
>          Components: DFDL Language, Unparsing
>            Reporter: Mike Beckerle
>            Priority: Major
>             Fix For: 3.1.0
>
>
> This needs clarification in the DFDL spec from the DFDL workgroup.
> However,.... it seems pretty clear that an outputValueCalc expression needs to be able
to refer to a variable (otherwise you can't use variables to decouple parts of schemas from
each other.)
> And the variable needs to be able to be unbound until the future existence of things
that give it a value. 
> As an example, one could have a length field in a header.
> One wants this lengh field to be computed based on the length of some body that comes
after the header, and where the header's DFDL schema does not reference the body DFDL schema.
They are separate schemas. 
> To do this one should use variables. The header needs a length from the body, then that
length should come from a variable, which variable being set by the body. Since the body comes
later, the variable needs to be set after the header OVC element has been encountered. So
we have to be able to evaluate an OVC expression and block waiting for the variable to get
its value.



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

Mime
View raw message